学习网站建设,网页知识,电脑技巧,AS3代码,FLASH效果,课件制作,网络学习,运动生活,心情日志博客
2010年07月31日AS3 学习

0 条评论

FLASH发射小球效果

  分享一下FLASH发射小球效果及as3代码,库中画一个小球,取类名为Ball,当作子弹用。如果点击的速度过快,在FLASH编译下会报错:
ArgumentError: Error #2025: 提供的 DisplayObject 必须是调用者的子级。
 at flash.display::DisplayObjectContainer/removeChild()
 at _fla::MainTimeline/bulletMove()

  这个效果的代码如下,来源:《FLASH AS3入门与精通》

var bulletx:Number=275;
var bullety:Number=400;
var speed:Number=5;
stage.addEventListener(MouseEvent.CLICK,shoot);
function shoot(e) {
var radian:Number=getRadian(bulletx,bullety,this.mouseX,this.mouseY);
var bullet:Ball=new Ball();
bullet.x=bulletx;
bullet.y=bullety;
bullet.spdx=Math.cos(radian)*speed;
bullet.spdy=Math.sin(radian)*speed;
bullet.addEventListener(Event.ENTER_FRAME,bulletMove);
e.target.addChild(bullet);
}
function bulletMove(e) {
var obj:MovieClip=e.target as MovieClip;
obj.x+=obj.spdx;
obj.y+=obj.spdy;
if (obj.y<0||obj.x<0||obj.x>550||obj.y>400) {
obj.removeEventListener(Event.ENTER_FRAME,bulletMove);
stage.removeChild(obj);
}
}
function getRadian(x1:Number,y1:Number,x2:Number,y2:Number):Number {
var tx:Number=x2-x1;
var ty:Number=y2-y1;
var radian:Number=Math.atan2(ty,tx);
return radian;
}

本文地址:http://www.lxlong.net/archives/2443.html

本文标题:FLASH发射小球效果

 
« »                

没有评论

发表评论 »