房天下 > 房天下问答 > 业主生活 > 其他
  • flash as3自由落体代码运行没反应(来自长春标点小区)

    很简单的一个as3程序,我想要的效果是鼠标点击就有一个球落下来,做自由落体运动。这里我写的两个as3文件package{ import flash.display.Sprite; import flash.events.MouseEvent; import flash.events.Event; public class BallFreeFall extends Sprite { private var ball:Ball; private var vy:Number=5; public function BallFreeFall() { init(); ball= new Ball(); ball.x=mouseX; ball.y=mouseY; addEventListener(MouseEvent.CLICK,onRelease ); } private function onRelease(event:MouseEvent):void { trace("321"); addChild(ball); addEventListener(Event.ENTER_FRAME,onEnterFrame); } private function onEnterFrame(event:Event):void { ball.y+=vy; } }} package { import flash.display.Sprite; public class Ball extends Sprite { public var radius:Number; private var color:uint; public function Ball(radius:Number=35, color:uint=0xffff00) { this.radius=radius; this.color =color; init(); } public function init():void{ gr

    提问者:bonerges

    发布于2010-12-01

共1个回答
  • 海河-渤海 丨Lv 0
    请按我的修改测试,保你解决问题:package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.events.Event; public class BallFreeFall extends Sprite { private var ball:Ball; private var vy:Number = 5; public function BallFreeFall() { //init();//删除此句,就简 ball= new Ball(); stage.addEventListener(MouseEvent.CLICK,on_Release );//on_Release 的变化 //必须加stage,因为stage的上面有个Sprite,你是不是把这个忘记了?所以收不到点击事件!!!........关键!! } private function on_Release(event:MouseEvent):void { trace("321"); addChild(ball); ball.x = mouseX;//这句原来在上一个函数中,错!应该在点击后定位 ball.y = mouseY;//这句原来在上一个函数中,错!应该在点击后定位 stage.addEventListener(Event.ENTER_FRAME,on_EnterFrame); } private function on_EnterFrame(event:Event):void { ball.y += vy; } }}package { import flash.display.Sprite; public class Ball extends Sprite { //public var radius:Number;//删繁就简 //private var color:uint;;//删繁就简 public function Ball(radius:Number=35, color:uint=0xffff00) { //this.radius = radius;;//删繁就简 //this.color = color;;//删繁就简 //init();;//删繁就简 //};//删繁就简 //public function init():void;//删繁就简 //{;//删繁就简 graphics.beginFill(color); //graphics.drawCircle(mouseX,mouseY,radius);//改成下面的样子。为什么?请思考graphics.drawCircle(0,0,radius); graphics.endFill(); } }}.............黑龙江省............张志晨...................... 补充:你这个代码不是自由落体的代码,是真空中的匀速运动!!请细心分辨
    +11 2010-12-01 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。