Actionscript 3生成多个对象

时间:2015-02-25 07:51:57

标签: actionscript-3

嗨我是非常新的动作脚本,我试图制作一个类似于Heartstone的游戏,但我不知道我应该如何使它们像在炉石中一样在彼此旁边产生。任何人都知道我该怎么做?

2 个答案:

答案 0 :(得分:0)

这是一种非常简单的方法,您可以分析并找到实现所需逻辑的最佳方法。

  const NUM_ITEMS:uint = 4;
  const PADDING:uint = 1;

  var container:Sprite = new Sprite();
  addChild(container);

  var hearthstone:Sprite;

  for(var i:int = 0; i < NUM_ITEMS; i++)
  {
      hearthstone = new Sprite();
      hearthstone.graphics.beginFill(Math.random() * 0xffffff);
      hearthstone.graphics.drawRoundRect(0, 0, 50, 50, 25);
      hearthstone.graphics.endFill();
      hearthstone.x = (hearthstone.width + PADDING) * i;
      hearthstone.y = 0;
      container.addChild(hearthstone);
  }

答案 1 :(得分:0)

你的问题实际上非常广泛,我认为如果你不熟悉面向对象编程,你至少应该学习基本原理。

我不确切地知道你想做什么或你已经写了多少代码;但方法是:

  1. 创建一个类(Card.as)
  2. 根据需要实例化它并显示它们
  3. 例如,在Flash IDE中,您可以创建一个影片剪辑,右键单击并单击&#34;属性&#34;,然后&#34;导出for actionscript&#34; (我不知道确切的条款,因为我的是法语版本)。你只需输入一个类名(我建议它与动画片段名称相同,虽然它不是强制性的;让我们称之为&#34; Card&#34;)然后在你的代码中你可以以这种方式添加卡片:

    var card:Card = new Card();
    addChild(card);
    

    将其与gPeart的代码结合使用,并根据您的需求进行调整。 稍后您还可以创建一个Card.as文件来编写所有&#34;卡&#34;逻辑,如处理不同的卡图形和统计等。

    有数百种方法可以编写这样的程序,但我强烈建议您开始学习OOP。实际上即使是小型项目也是如此互联网上有大量的资源。

    我不知道我是否真的回答了你的问题,希望这有点帮助。