首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >利用随机数学选择和放置图像

利用随机数学选择和放置图像
EN

Stack Overflow用户
提问于 2014-01-26 22:05:32
回答 2查看 103关注 0票数 0

对JS和游戏制作等都是新的。我不确定我是否真的做得对,但我正在使用Phaser来制作HTML5 5/JS游戏。在游戏开始时,我希望代码能够生成三块用于耕作的地块,在贫瘠的、正常的和良好的土壤之间做出选择。

现在它应该生成一个介于1到10之间的数字,然后根据返回值将土壤分配到一个地方,1=差,2-8=正常,9或10 =好。但我不能让它起作用,我也不知道我有什么问题。当我尝试运行它时,什么都不会发生,背景图像甚至不能工作。

到目前为止,我掌握的代码如下:

代码语言:javascript
运行
复制
function create() {
    game.add.sprite(0, 0, 'startbg');
    plot1 = Math.floor((Math.random()*10)+1);

    if ( plot1 === 1 ){
        game.add.sprite(190, 250, 'poor');
    }else if (plot1 >= 2 && plot1 <=8){
        game.add.sprite(190, 250, 'norm');
    }else (plot1 === 9 || plot1 === 10){
        game.add.sprite(190, 250, 'good');
    }

我做错了什么,该如何解决?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-26 22:17:23

上一个else有一个条件语句,但不是else if。试着移除它,看看它是否有效:

代码语言:javascript
运行
复制
else {
    game.add.sprite(190, 250, 'good');
}
票数 2
EN

Stack Overflow用户

发布于 2014-01-26 22:19:46

您可以尝试这样做,尽管没有看到更多您的代码,我怀疑它是否会起作用,但可能会。

还有,所以190, 250 .这些坐标是你的精灵背景位置的坐标吗?精灵的最高坐标值是0, 0。因此,如果是的话,它实际上应该是-190, -250,并且可能在最后也有一个px,比如-190px, -250px

代码语言:javascript
运行
复制
function create() {
    game.add.sprite(0, 0, 'startbg');
    plot1 = Math.floor(Math.random()*10 + 1);

    if ( plot1 === 1 ){
        game.add.sprite(190, 250, 'poor');
    }else if (plot1 >= 2 && plot1 <=8){
        game.add.sprite(190, 250, 'norm');
    }else if (plot1 === 9 || plot1 === 10){
        game.add.sprite(190, 250, 'good');
    }
    else {
        alert("some error");
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21369887

复制
相关文章

相似问题

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