对JS和游戏制作等都是新的。我不确定我是否真的做得对,但我正在使用Phaser来制作HTML5 5/JS游戏。在游戏开始时,我希望代码能够生成三块用于耕作的地块,在贫瘠的、正常的和良好的土壤之间做出选择。
现在它应该生成一个介于1到10之间的数字,然后根据返回值将土壤分配到一个地方,1=差,2-8=正常,9或10 =好。但我不能让它起作用,我也不知道我有什么问题。当我尝试运行它时,什么都不会发生,背景图像甚至不能工作。
到目前为止,我掌握的代码如下:
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');
}
我做错了什么,该如何解决?
发布于 2014-01-26 22:17:23
上一个else
有一个条件语句,但不是else if
。试着移除它,看看它是否有效:
else {
game.add.sprite(190, 250, 'good');
}
发布于 2014-01-26 22:19:46
您可以尝试这样做,尽管没有看到更多您的代码,我怀疑它是否会起作用,但可能会。
还有,所以190, 250
.这些坐标是你的精灵背景位置的坐标吗?精灵的最高坐标值是0, 0
。因此,如果是的话,它实际上应该是-190, -250
,并且可能在最后也有一个px,比如-190px, -250px
。
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");
}
}
https://stackoverflow.com/questions/21369887
复制相似问题