您的位置:首页 > 其它

Flash 游戏设计笔记:鼠标类游戏(3)

2012-02-17 20:16 465 查看
Flash 游戏设计笔记:鼠标类游戏(1)

http://blog.csdn.net/hero82748274/archive/2009/02/11/3878304.aspx

Flash 游戏设计笔记:鼠标类游戏(2)

http://blog.csdn.net/hero82748274/archive/2009/02/16/3897058.aspx

一、按力感应制作

继续修改上面的文件代码,修改数据层的代码。我们返回一个我们希望得到的数据,所以采用一个简单的返回信息。

private function addnum(event:Event):void
{
var num:int=getScale();
trace(num);
Mypower.scaleX=num*10;
}


说明一下,Mypower 是一个影片剪辑类型 MovieClip,我在场景上制作一个width 宽度为1的长方形状,名为

Mypower 这个就是一感应力的模拟,它的scalseX 我将它设置区间为 【0,100】



注意,要将注册点放在长方形的左边。这样才可以使长方形在放缩的时候 向右边移动,

代码清单:

package
{
import flash.display.MovieClip;
import flash.events.*;
import flash.text.TextField;
import flash.ui.Mouse;
public class Example3 extends MovieClip
{
private var dx:TextField;
private var dy:TextField;
private var photo:MousePhoto;
private var power:int=0;
private var Maxpower:Number=100;
private var angle:int=-45;
public function Example3()
{
addEventListener(Event.ENTER_FRAME,Run);
stage.addEventListener(MouseEvent.MOUSE_DOWN,MouseDown);
stage.addEventListener(MouseEvent.MOUSE_UP,Mouseup);
init();
}
private function init():void
{
dx=new TextField ;
addChild(dx);
dx.width=50;
dx.height=20;
dx.x=30;
dx.y=30;
dx.border=true;
dy=new TextField ;
addChild(dy);
dy.width=50;
dy.height=20;
dy.x=30;
dy.y=53;
dy.border=true;
Mouse.hide();//隐藏鼠标
photo=new MousePhoto ;//创建代替鼠标的图
addChild(photo);
}
private function Run(event:Event):void
{
dx.text=String(mouseX);
dy.text=String(mouseY);
photo.x=mouseX;
photo.y=mouseY;
}
private function adds():void
{
stage.addEventListener(Event.ENTER_FRAME,addnum);
}

private function addnum(event:Event):void
{
var num:int=getScale();
trace(num);
Mypower.scaleX=num*10;
}

private function getScale():int
{
if (power>=-1 )
{//angle=-45;
power+=Math.tan(angle*180/Math.PI);
if (power==10)
{
angle=-135;
}
if (power==0)
{
angle=-45;
}
}
return power;
}

private function MouseDown(event:MouseEvent):void
{
adds();
}

private function Mouseup(event:MouseEvent):void
{
stage.removeEventListener(Event.ENTER_FRAME,addnum);
}

}
}



拓展:我们还可以使用更加好的ui来显示一种感应力效果,有了这样的效果,我们可以尝试做一些更加多 的模拟

而且Ui 可以做的更加好。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: