0
我正在用移相器使用JavaScript創建一個網頁遊戲。我習慣了Java,並且很難掌握構建簡單的基於按鈕的遊戲的正確方法。這場比賽是瑞典每個景觀的簡單地圖。遊戲內容將根據我所按的景觀而改變。要更新的元素可以是按鈕標題,文本數據等。javascript:多個可點擊的精靈
我通過生成許多景觀類遇到的一個問題是m最後創建的景觀覆蓋其他景觀。控制檯應該寫下按下的風景的名稱,但按下每個風景都會生成我上次創建的風景對象的名稱。
回顧我的解決方案,並不是真正以我想要的方式獲得它,我想知道如果我以錯誤的方式查看我的遊戲結構。
有沒有更好的方法來做到這一點?
這裏是什麼樣的遊戲目前看起來像一個鏈接:http://postimg.org/image/l5jthna4x/
<script type="text/javascript">
var game = new Phaser.Game(480, 700, Phaser.AUTO, '', { preload: preload, create: create, update: update });
function create() {
game.stage.backgroundColor = '#7dc3ff';
sweden(0, 0, 'sweden', 10000000);
var btnLand = new BtnLand();
btnLand.changeText("Sweden");
}
function update() {
}
function render() {
}
var BtnLand = function(){
this.btn = game.add.sprite(game.world.centerX, game.world.height, 'btn-main');
this.btn.scale.setTo(0.8, 1);
this.btn.anchor.set(0.5, 1)
this.btn.inputEnabled = true;
}
BtnLand.prototype.changeText = function (title) {
this.title = title;
var style = { font: "32px Arial", fill: "#000000", wordWrap: true, wordWrapWidth: this.width, align: "center" };
this.text = game.add.text(this.btn.x, this.btn.y, this.title, style);
this.text.anchor.set(0.5, 1.5);
}
var Landscape = function(x, y, name) {
this.landname = name;
this.area = game.add.sprite(x, y, this.landname);
this.area.anchor.set(0.5);
this.area.inputEnabled = true;
this.area.events.onInputDown.add(listener, this);
}
var sweden = function(x, y, name) {
this.smaland = Landscape(230 + x, 483 + y, 'smaland', 720358);
this.skane = Landscape(200 + x, 600 + y, 'skane', 1289000);
this.blekinge = Landscape(277 + x, 565 + y, 'blekinge', 152315);
this.halland = Landscape(127 + x, 505 + y, 'halland', 152315);
}
function listener() {
console.log("pressed " + landname);
btnLand.changeText(landname);
}
</script>
我感謝所有的意見,我可以得到!
預先感謝您。