永发信息网

AS3.0编程报错:1061: 调用可能未定义的方法 ballMovie (通过 static 类型 ball 引用)。

答案:2  悬赏:80  手机版
解决时间 2021-01-04 22:32
我做了个按钮控制小球运动的例子,小球绑定类ball,代码如下:

package
{
import flash.display.MovieClip;
public class ball extends MovieClip
{

public function ball()
{
function ballMovie(mydir:String)
{
var speed:uint = 2;
switch (mydir)
{
case "left" :
this.x -= speed;
break;
case "right" :
this.x += speed;
break;
case "up" :
this.y -= speed;
break;
case "down" :
this.y += speed;
break;
case "stop" :

break;
}
}
}

}
}
主时间轴第一帧写代码如下:

var myBall:ball=new ball();
myBall.x=myBall.y=100;
addChild(myBall);

var dir:String;
addEventListener(Event.ENTER_FRAME,hdMovie);
function hdMovie(e:Event){
myBall.ballMovie(dir)
}

bLeft.addEventListener(MouseEvent.MOUSE_DOWN,bLeftHd);
function bLeftHd(e:MouseEvent){
dir="left";
}
bRight.addEventListener(MouseEvent.MOUSE_DOWN,bRightHd);
function bRightHd(e:MouseEvent){
dir="right";
}
bUp.addEventListener(MouseEvent.MOUSE_DOWN,bUpHd);
function bUpHd(e:MouseEvent){
dir="up";
}
bDown.addEventListener(MouseEvent.MOUSE_DOWN,bDownHd);
function bDownHd(e:MouseEvent){
dir="down";
}
bStop.addEventListener(MouseEvent.MOUSE_DOWN,bStopHd);
function bStopHd(e:MouseEvent){
dir="stop";
}

哪儿出问题了呢?

你说的是ballMovie方法加public属性吗?加了以后会报错1114: public 属性只能在包的内部使用。
最佳答案
函数定义那里改成

public function ballMovie(mydir:String)
{...}

试一下
问题出现的原因是你在时间轴上写的代码没有对ballMovie这个函数的访问权限.

说过是在定义那里加public了,就是.as文件那里的.
谁让你在使用的时候加public了
还有.我发现你把ballMovie函数写到ball()函数里面了.
这样调用更容易出问题.
最好把ballMovie函数调到ball函数外面.
全部回答
缺少对外的实例的API,没有访问权,这样修改: package { import flash.display.MovieClip; public class ball extends MovieClip { public function ball() { public function ballMovie(mydir:String) { var speed:uint = 2; switch (mydir) { case "left" : this.x -= speed; break; case "right" : this.x += speed; break; case "up" : this.y -= speed; break; case "down" : this.y += speed; break; case "stop" : break; } } } } }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
邵东县邵阳彩喜电暖桌哪位知道具体地址啊
斑点狗现在多少钱一只
挫折有哪些
吃虫子的昆虫有哪些
用储蓄卡支付购买商品怎么做会计分录
澳洲星点龙鱼和什么鱼可以混养?
单选题下列关于察举制度的表述,正确的是①一
国歌一共有几个字
单选题在长方体的截面中,边数最多的截面是A.
市场营销和市场推广和销售及市场公关的区别在
―Excuseme,Whichisthewaytothemuseum?―Sorr
干炸肉段时,我用鸡蛋清和淀粉做的糊,为什么
You are not a child .You should do every t
广州什么技术学校最好
单选题已用一定数量的青铜农具进行农业生产是
推荐资讯
淮滨县工商局城关工商所地址在哪?我要去那里
请问,请问专家一个关于喷绘图片的问题,谢谢,
出去旅行带什么镜头合适?
古弼,代人也。少忠谨,好读书,又善骑射。初
单选题Two-thirdsofthemembersintheclub__
汽车空调为什么123挡可以启动就是没有风出来
装修工人在搬运材料时将其从水平台面上拖出,
报废的设备属于资产吗应该怎么理解
课内文言文阅读(10分)马说韩 愈世有伯乐,
已知⊙O的半径r=3,线段OP=4,则点P在A.圆
--ThisisJackson.CanIspeaktoPeter?--______,
单选题要从食盐水溶液中分离得到食盐固体可采
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?