Arrays 获取actionscript中单击元素数组中的索引
我正在尝试创建一个虚拟键盘 我有一个类Arrays 获取actionscript中单击元素数组中的索引,arrays,actionscript,Arrays,Actionscript,我正在尝试创建一个虚拟键盘 我有一个类VirtualKeyboard,它包含一个名为keyboard的数组,由26个movieclips组成,每个movieclips代表一个字母 在main类中,我创建了类VirtualKeyboard的对象,并在单击字母时在其上添加了一个eventlistener 我在事件处理程序中尝试了以下操作: var objectClicked:Object = event.currentTarget; var index:uint = virtualKeyboard.
VirtualKeyboard
,它包含一个名为keyboard的数组,由26个movieclips组成,每个movieclips代表一个字母
在main类中,我创建了类VirtualKeyboard
的对象,并在单击字母时在其上添加了一个eventlistener
我在事件处理程序中尝试了以下操作:
var objectClicked:Object = event.currentTarget;
var index:uint = virtualKeyboard.keyboard.indexOf(objectClicked);
但是索引总是返回值4294967295
我怎么知道单击了哪个字母,我指的是键盘数组中与该字母对应的索引
如果我将同一代码放在VirtualKeyboard
类中,但不是从主类中,则该代码工作正常。4294967295
是2^32-1。这就是将-1分配给uint
时发生的情况。这意味着找不到该值
建议:
- 由于indexOf返回一个int,所以使用int。无论如何,它更快
- 如果可以的话,使用向量,这样你就可以确保所有东西都属于同一类
- 虚拟键盘是DisplayObjects的数组,还是字符串或数字的数组?你必须确保你是在比较苹果和苹果,而不是苹果和山羊(这也是我推荐Vector的原因)
- 不要投反对票。AS3有一个实体类型系统——使用它
4294967295
是2^32-1。这就是将-1分配给uint
时发生的情况。这意味着找不到该值
建议:
- 由于indexOf返回一个int,所以使用int。无论如何,它更快
- 如果可以的话,使用向量,这样你就可以确保所有东西都属于同一类
- 虚拟键盘是DisplayObjects的数组,还是字符串或数字的数组?你必须确保你是在比较苹果和苹果,而不是苹果和山羊(这也是我推荐Vector的原因)
- 不要投反对票。AS3有一个实体类型系统——使用它