首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >洗牌阵列,剪接阵列。行动脚本2

洗牌阵列,剪接阵列。行动脚本2
EN

Stack Overflow用户
提问于 2014-03-05 14:00:34
回答 1查看 422关注 0票数 0

下午好,程序员。我试图在动作脚本中创建一个游戏。2.游戏的概念是随机选择一个对象。玩家必须得到目标,然后游戏调用一个不同的随机对象。(这些对象位于数组中)。

代码语言:javascript
复制
static private var oneArray:Array = new Array("milk","cheese","bread");
static private var randomItem:String = oneArray[Math.floor(Math.random() * oneArray.length)];

所以你可以看出是我干的。现在游戏将显示文字;

代码语言:javascript
复制
    _root.hud.getItem.text = randomItem;

从上面的代码中可以看到,文本字段将从该数组中选择一个randomeItem。

代码语言:javascript
复制
    if (randomItem == ("milk"))
    {
        if (_root.milk.hitTest(_root.player._x + 60, _root.player._y - 60, true) || _root.milk.hitTest(_root.player._x - 60, _root.player._y - 60, true)) 
        {
            trace("got milk");
            _root.milk.gotoAndStop(2);
        }
    }

上面看到的代码意味着,如果文本字段显示“牛奶”,如果玩家接触牛奶,那么牛奶就会消失。

现在,当冲突为真时,我希望textfield显示数组中的另一个随机项,但我不希望出现相同的名称。我尝试过从数组中剪接牛奶,但是textfield仍然显示文本“乳”。

基本上不会更新。

我已经尽力了,如果上面提供的信息不是最好的,我很抱歉。有人能帮帮我吗。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-05 14:17:20

oneArray中交换最后一项和随机选择项,减少随机乘子(len),使最后一项(先前随机选择)不再麻烦。

代码语言:javascript
复制
private var oneArray:Array = new Array("milk","cheese","bread");
private var len:int = oneArray.length - 1;
private var rand:int;
private var randomItem:String;

选择随机项目

代码语言:javascript
复制
rand = Math.floor(Math.random() * len);
randomItem = oneArray[rand];
_root.hud.getItem.text = randomItem;

碰撞是真的

代码语言:javascript
复制
var item:String = oneArray[rand];
oneArray[rand] = oneArray[len];
oneArray[len] = item;
len--;

if (len < 0) { 
    //goto next level
}
else {
   // and select random item again
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22199912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档