AS 3.0代码实现甲虫跟随鼠标效果-Flash

王朝数码·作者佚名  2008-11-20
窄屏简体版  字體: |||超大  

效果演示:(请移动鼠标看效果)

敌人跟随我的AS代码

很高兴我昨天为一个游戏写了一些AS。(虽然不是我自已的而不能展示它,我只是被邀请写了其中的一部分),但是我很乐意与你一起共享其中的一些代码,比如我今天与你共享的一些源代码。

这个flash Actionspript源代码创一个跟随你的鼠标的敌人,特别要注意的是它不只是跟随鼠标的路径,而它的脸部总是随着鼠标旋转。这很酷吧。

首先我们要做一些诸如创建我们的敌人的准备工作,你总会做这些事,无论你是否乐意。当你完成时,右击它将它转换为MC,并为它取一个实例名称,我取的名称是:“"enemy_mc"。

现在我们准备写一些AS代码,但请记住这些AS代码是AS3.0的,为了使它工作你或许应做一些改变版本的事情,我没法为你做这些。:-)

你可以复制并粘贴这些代码到你的flash动面板或者你可以输入这些代码。

AS源代码:

首先是一个使敌人有移动的事件监听,这是一个enterframe事件。

enemy_mc.addEventListener(Event.ENTER_FRAME, do_stuff);

要调用的函数

function do_stuff(event:Event):void {

// 这儿计算出敌人中心点随着鼠标旋转的角度.

var myRadians:Number = Math.atan2(mouseY-enemy_mc.y, mouseX-enemy_mc.x);

var myDegrees:Number = Math.round((myRadians*180/Math.PI));

// 这是敌人移向鼠标的参数.

var yChange:Number = Math.round(mouseY-enemy_mc.y);

var xChange:Number = Math.round(mouseX-enemy_mc.x);

var yMove:Number = Math.round(yChange/20);

var xMove:Number = Math.round(xChange/20);

// 不使用上面的计算就没有什么可以人做的事,这样我就设置x和y及旋转.

enemy_mc.y += yMove;

enemy_mc.x += xMove;

enemy_mc.rotation = myDegrees+90;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航