【发布时间】:2012-12-03 04:00:24
【问题描述】:
我正在使用 actionscript 2 在 flash 中制作一个简单的格斗游戏(我知道 as3 更好,但现在不能更改,我发誓我的下一个项目将是 as3)。
事情是这样的,我有一个“播放器”对象,它在实例化时附加一个名为“player1”或“player2”的影片剪辑,具体取决于给定的参数。正确的实例名称存储在名为 PlayerName 的变量中。例如:
var character:Player = new Player(1);
此代码将创建一个 Player 对象。由于数字“1”,构造函数会将 PlayerName 变量设置为字符串“player1”。最后,构造函数还应该将一个名为“player1”的影片剪辑附加到根目录。
我解决了附加影片剪辑的命名问题:
_root.attachMovie(ID, this["PlayerName"], _root.getNextHighestDepth());
现在有了类似的想法,我想解决以下问题(这是我的问题):假设我想移动我最近生成的电影剪辑(或访问它的任何属性),我如何使用字符串 PlayerName通往MC的道路?我的直觉是这样做:
_root.PlayerName._x +=1;
或
_root.(this["PlayerName"])._x +=1;
希望当 flash 编译时,this["PlayerName"] 会变成存储的字符串,但这显然不起作用。我真的被困在这里了,我以前一直在 PHP 中这样做,我的意思是,如果这是 PHP,我会使用这个:
_root.$PlayerName._x +=1;
有什么建议吗?你怎么能做到这一点?我可以想到一些解决方法,即在附加剪辑时存储对剪辑的引用:
clip = _root.attachMovie(....
然后通过clip (clip._x +=1) 访问它的属性,但是如果我知道如何使用路径中的变量来做到这一点,就像在PHP 中那样,我会感觉更舒服。我不太在乎,只是在其他情况下,这种“剪辑”解决方法可能不起作用。
请记住,我对动作脚本中的 OOP 有点陌生,哈哈,也许这完全是疯狂的,人们会以其他方式这样做。
感谢您的宝贵时间!
【问题讨论】:
-
嘿,我在 as2 中创建了一个下载管理器,用于存储字符串,然后将它们用于文件路径,ffiles.com/flash/web_applications_and_data/… 包含所有源代码。基本上文本文件有路径字符串,然后闪存读取这些路径到 vars 以转到下载链接...浏览它应该在使用中。
标签: flash path actionscript-2