请按我的修改测试,保你解决问题: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:Num 展开
请按我的修改测试,保你解决问题: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();} }}.............黑龙江省............张志晨...................... 补充:你这个代码不是自由落体的代码,是真空中的匀速运动!!请细心分辨 收起