我做了个按钮控制小球运动的例子,小球绑定类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 属性只能在包的内部使用。
AS3.0编程报错:1061: 调用可能未定义的方法 ballMovie (通过 static 类型 ball 引用)。
答案:2 悬赏:80 手机版
解决时间 2021-01-04 22:32
- 提问者网友:放下
- 2021-01-03 23:14
最佳答案
- 五星知识达人网友:神鬼未生
- 2021-01-04 00:28
函数定义那里改成
public function ballMovie(mydir:String)
{...}
试一下
问题出现的原因是你在时间轴上写的代码没有对ballMovie这个函数的访问权限.
说过是在定义那里加public了,就是.as文件那里的.
谁让你在使用的时候加public了
还有.我发现你把ballMovie函数写到ball()函数里面了.
这样调用更容易出问题.
最好把ballMovie函数调到ball函数外面.
public function ballMovie(mydir:String)
{...}
试一下
问题出现的原因是你在时间轴上写的代码没有对ballMovie这个函数的访问权限.
说过是在定义那里加public了,就是.as文件那里的.
谁让你在使用的时候加public了
还有.我发现你把ballMovie函数写到ball()函数里面了.
这样调用更容易出问题.
最好把ballMovie函数调到ball函数外面.
全部回答
- 1楼网友:迷人又混蛋
- 2021-01-04 01:03
缺少对外的实例的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;
}
}
}
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |