如果数字为零,如何进入下一个场景
Posted
技术标签:
【中文标题】如果数字为零,如何进入下一个场景【英文标题】:How to go to next scene if a number equals zero 【发布时间】:2013-11-01 21:45:19 【问题描述】:我正在创建游戏,其中当一个物体滚过另一个物体时,该物体会消失,而当它滚过另一个物体时,它会从舞台上计算剩余物体数量的物体中取出 1;但是,我想要它,以便当它等于零时它会进入一个新场景。到目前为止,这是我的代码:
var nObjects:Number = 5;
An.addEventListener( Event.ENTER_FRAME, handleCollision4)
function handleCollision4( e:Event ):void
if(An.hitTestObject(Octo))
An.addEventListener(MouseEvent.MOUSE_UP, onStopDrag4);
function onStopDrag4(e:MouseEvent):void
e.target.StopDrag;
if(An.hitTestObject(Octo))
removeChild(MovieClip(Octo));
nObjects--;
trace(nObjects)
myText.text = String(nObjects);
//there are five of these when they are all deleted nObjects does equal zero
if (nObjects==0);
gotoAndStop(1, "Scene 3");
【问题讨论】:
【参考方案1】:您需要关闭您的handleCollision4
及其if
语句。为了帮助保持清晰(发生封装的位置),请记住始终正确缩进您的代码,因为这样可以让其他人(和您)更容易阅读并发现语法错误。
在onStopDrag4
中,您可以看到对StopDrag
的函数调用。不要忘记你的括号。
您对if (nObjects == 0)
的测试在您的onStopDrag4
侦听器之外,这意味着它仅在初始文档读取期间运行一次;您希望它在侦听器中,以便在每次 nObject
递减后运行。另外,不要在条件后添加分号。
格式正确,应该如下所示:
var nObjects:Number = 5;
An.addEventListener(Event.ENTER_FRAME, handleCollision4)
function handleCollision4(e:Event):void
if (An.hitTestObject(Octo))
An.addEventListener(MouseEvent.MOUSE_UP, onStopDrag4);
function onStopDrag4(e:MouseEvent):void
e.target.StopDrag();
if (An.hitTestObject(Octo))
removeChild(MovieClip(Octo));
nObjects--;
trace(nObjects)
myText.text = String(nObjects);
//there are five of these when they are all deleted nObjects does equal zero
if (nObjects == 0)
gotoAndStop(1, "Scene 3");
【讨论】:
但是我将如何创建那个监听器呢? (对不起我的菜鸟,但我最近才开始使用 actionscript) 监听器是一个为事件注册的函数。因此,当您编写someObject.addEventListener(eventName, fooFunction)
时,fooFunction
是您的听众,并且已为您的活动注册(非常简单)。
但我得到了错误:通过静态类型 Number 的引用调用可能未定义的方法 addEventListener。
您不能将Number
注册到侦听器,因为事件不是从它们生成的,并且(作为一个类)Number
没有名为addEventListener
的方法。如果你想注册Event.ENTER_FRAME
,那是一个舞台活动,所以你需要在舞台上注册如下:this.addEventListener(Event.ENTER_FRAME, handleCollision4)
。当然,你可以用其他方式编写它,因为this
只是一个指向当前命名空间的本地指针;用Stage
或root
替换它也是有效的。我不知道您使用的是什么对象 An
,因为您从未在示例中声明它。以上是关于如果数字为零,如何进入下一个场景的主要内容,如果未能解决你的问题,请参考以下文章