×

关注微信公众号

免备案网站空间虚拟主机双线空间域名查询PS数码后期
photoshop互助课堂数百G视频教程下载英语培训机构初中英语如何学随时随地聆听大师开讲/课堂
酷素材!视频教程打包下手绘教程抠图教程路径专辑photoshop cs3视频教程
查看: 5162|回复: 10

[求助] 我想问一下这个flash程序的错误怎么解决?

[复制链接]
发表于 2010-11-24 22:40:20 | 显示全部楼层 |阅读模式
这是AS文件:
package{
        import flash.display.Sprite;
        import flash.display.StageAlign;
        import flash.display.StageScaleMode;
        import flash.events.Event;
       
        public class Removal extends Sprite{
                private var balls:Array;
                private var count:int=20;
               
                public function Removal(){
                        init();
                }
               
                private function init():void{
                        stage.scaleMode=StageScaleMode.NO_SCALE;
                        stage.align=StageAlign.TOP_LEFT;
                        balls=new Array();
                        for(var i:Number=0;i<count;i++){
                                var ball:Ball=new Ball(10);
                                ball.x=Math.random()*stage.stageWidth;
                                ball.y=Math.random()*stage.stageHeight;
                                //ball.vx=Math.random()*5;
                                //ball.vy=Math.random()*5;
                                ball.vx=Math.random() * 2 - 1;
                                ball.vy=Math.random() * 2 - 1;
                                addChild(ball);
                                balls.push(ball);
                        }
                        addEventListener(Event.ENTER_FRAME,onEnterFrame);
                }
               
                private function onEnterFrame(event:Event):void{
                        for(var j:Number=balls.length;j>0;j--){
                                var ball:Ball=new Ball(balls[j]);
                                ball.x+=ball.vx;
                                ball.y+=ball.vy;
                                if(ball.x-ball.radius>stage.stageWidth||
                                   ball.x+ball.radius<0||
                                   ball.y-ball.radius>stage.stageHeight||
                                   ball.y+ball.radius<0)
                                {
                                        removeChild(ball);
                                        balls.splice(j,1);
                                        if(balls.length<=0){
                                                removeEventListener(Event.ENTER_FRAME,onEnterFrame);
                                        }
                                }
                        }
                }
        }
}

运行后,在“输出”里出现了这样:
ArgumentError: Error #2004: 某个参数无效。
        at flash.display::Graphics/drawRoundRect()
        at flash.display::Graphics/drawCircle()
        at Ball/init()
        at Ball$iinit()
        at Removal/::onEnterFrame()
jc:fighting 求高手帮忙~~~
                       
还有附上Ball.as文件的内容:
package{
        import flash.display.Sprite;
       
        public class Ball extends Sprite{
                public var radius:Number;
                private var color:uint;
                public var vx:Number=0;
                public var vy:Number=0;
               
                public function Ball(radius:Number=40,color:uint=0xff0000)
                {
                        this.radius=radius;
                        this.color=color;
                        init();
                }
               
                public function init():void{
                        graphics.beginFill(color);
                        graphics.drawCircle(0,0,radius);
                        graphics.endFill();
                }
        }
}
本帖的地址:http://bbs.jcwcn.com/forum.php?mod=viewthread&tid=336572
跟着教程做一遍,做完的图要到这里评论交作业,教程有看不懂的地方,可以在贴子下面评论
 楼主| 发表于 2010-11-24 23:09:25 | 显示全部楼层
酷素材
本帖最后由 sttdoremi 于 2010-11-24 23:17 编辑

jc:sweat 晕,我自己找到为啥出现这样的错误了,不能用
var ball:Ball=new Ball(balls[j]);
而应该直接var ball:Ball=balls[j];
修改了后终于运行成功了{:1_167:}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-24 23:18:24 | 显示全部楼层
- -上传附件失败。。。。
回复 支持 反对

使用道具 举报

发表于 2010-11-25 08:13:35 | 显示全部楼层
解决了就好
回复 支持 反对

使用道具 举报

发表于 2010-11-25 11:21:19 | 显示全部楼层
酷素材
2# sttdoremi


不明白
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-25 13:58:45 | 显示全部楼层
酷素材
5# 模仿秀


var ball:Ball=new Ball(balls[j]);这一句是错误的,因为我在Ball.as文件里面定义的Ball的构造函数只含两个参数,一个是radius,一个是color,而我之前写的这一句中的balls[j]并不属于前面定义的两个参数。
回复 支持 反对

使用道具 举报

发表于 2018-1-12 21:40:26 | 显示全部楼层
楼主是超人
回复 支持 反对

使用道具 举报

发表于 2018-1-12 20:47:44 | 显示全部楼层
真心顶。。。。
回复 支持 反对

使用道具 举报

发表于 2018-1-12 21:07:57 | 显示全部楼层
说的非常好
回复 支持 反对

使用道具 举报

发表于 2018-1-12 21:34:53 | 显示全部楼层
好帖子要收藏
回复 支持 反对

使用道具 举报

发表于 2018-1-12 20:51:04 | 显示全部楼层
楼主我支持你
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | [立即注册]

本版积分规则

2345