我用Flash中AS3.0想做一个通过用上下左右键去控制人物(MC),控制人物到指定地点后跳转下一帧。求脚本
2个回答
展开全部
这个简单的,告诉你用到的相关关键代码。
第一步:准备好一个人物(mc)
第二步:确定你要把人物放到舞台上的方法
两种方法,一个是直接把人物拖动到舞台上;一个把这个人物转换成一个类,然后用代码实例化一个出来,添加到舞台。第一种方法:将人物拖动到舞台,然后给一个实例名;第二种方法,假如人物的类叫做 people,那么这样实例化一个出来:var p1:people=new people();this.addChild(p1);p1.x=100;p1.y=100;这样就可以在舞台上得到一个人物了,p1就是第一种方法中的实例名,可以看到第二种方法,可以在代码中实例化多个人物出来。
第三步:添加监听,你要通过上下左右键去控制,就是添加键盘事件。代码:
this.addEventListener(KeyboardEvent.KEY_DOWN,downHandle)
function downHandle(e:KeyboardEvent):void
{
if(e.keyCode==37)//37代表左,38是上,39是右,40是下
{
p1.x-=1;//1代表的移动的程度,越大一次移动的距离越远
}
//接下来3个if类似与上面这个写,就是把p1的x属性换成y,-=1换成+=1;
if(e.keyCode==38){略};
if(e.keyCode==39){略};
if(e.keyCode==40){略};
//最后添加一个判断,就是判断人物到达指定区域,时候进入下一帧
也有多种判断方法,一个是计算距离,一个是检测碰撞。
这是只写一种检测碰撞的。
if(p1.hitTestObject(obj1)==true)
{
//进入下一帧
}
}
好了,大致流程就是这样子的了。如果要示例的话,评我为最佳答案,我可以发给你一个例子
第一步:准备好一个人物(mc)
第二步:确定你要把人物放到舞台上的方法
两种方法,一个是直接把人物拖动到舞台上;一个把这个人物转换成一个类,然后用代码实例化一个出来,添加到舞台。第一种方法:将人物拖动到舞台,然后给一个实例名;第二种方法,假如人物的类叫做 people,那么这样实例化一个出来:var p1:people=new people();this.addChild(p1);p1.x=100;p1.y=100;这样就可以在舞台上得到一个人物了,p1就是第一种方法中的实例名,可以看到第二种方法,可以在代码中实例化多个人物出来。
第三步:添加监听,你要通过上下左右键去控制,就是添加键盘事件。代码:
this.addEventListener(KeyboardEvent.KEY_DOWN,downHandle)
function downHandle(e:KeyboardEvent):void
{
if(e.keyCode==37)//37代表左,38是上,39是右,40是下
{
p1.x-=1;//1代表的移动的程度,越大一次移动的距离越远
}
//接下来3个if类似与上面这个写,就是把p1的x属性换成y,-=1换成+=1;
if(e.keyCode==38){略};
if(e.keyCode==39){略};
if(e.keyCode==40){略};
//最后添加一个判断,就是判断人物到达指定区域,时候进入下一帧
也有多种判断方法,一个是计算距离,一个是检测碰撞。
这是只写一种检测碰撞的。
if(p1.hitTestObject(obj1)==true)
{
//进入下一帧
}
}
好了,大致流程就是这样子的了。如果要示例的话,评我为最佳答案,我可以发给你一个例子
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询