【问题标题】:Duplicate and giving identity to movieclips复制影片并赋予其身份
【发布时间】:2016-11-17 04:13:03
【问题描述】:

我对 ActionScript3 上的数组和快照函数有疑问

我正在创建一个简单的立方体游戏,它要求玩家将不同颜色的立方体拖到一起,这些立方体会在彼此的右侧对齐。

立方体能够从主静止立方体无限复制,它们都是电影剪辑。

我已经调整了不同颜色的立方体以按我想要的方式卡入位置,但这是问题所在......

立方体,例如红色,不会吸附在一起,因为每个重复的立方体没有其个人身份,如 red1、red2、red3 等,因为它们不知道要吸附到谁,因为两者都称为 reddup .

我已经阅读了有关使用动态数组复制立方体并同时对其进行编号的内容,但我不知道如何在我的游戏中实现它。

【问题讨论】:

  • 对于每个多维数据集,您可以设置.name,因此有一个var like redCount = 0,然后每当您制作多维数据集时,您的函数都会说redCount += 1; 将+1 添加到数量,然后是var myCube : RedCube = new RedCube();,然后是@987654325 @ 这意味着 Redcube 的每个新实例都有一个唯一的名称...

标签: arrays actionscript-3 adobe clone


【解决方案1】:

答案是不使用显式名称。

实例名称只是对对象的引用。但是还有其他方法可以引用不需要单独名称的对象。数组就是一个例子。只需将立方体对象添加到数组中:

var cubes:Array = [];

// then

cubes.push(new Cube());

然后您可以通过索引遍历数组:

for(var i:int = 0; i < cubes.length; i++)
{
    cubes[i] // this is the i-th cube, use it like an instance name
}

【讨论】:

  • 谢谢!我稍后会尝试,但我是否必须设置一个 1 比 1 的数组,或者是否有一种可扩展的数组?再次感谢您
  • @user6588766:正如我所说:您将对象添加到数组中,这意味着它会扩展。每个对象都有一个数组没有多大意义,因为您仍然会遇到识别它们的相同问题。
猜你喜欢
  • 2016-09-15
  • 1970-01-01
  • 2019-10-01
  • 1970-01-01
  • 2016-06-05
  • 2018-09-12
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多