想要在游戏开始前选择角色

时间:2018-08-29 07:11:31

标签: javascript jquery constructor

我对在游戏开始前选择角色有一些疑问。现在,您可以使用此Link查看演示,也可以使用此Link

进行回购

我使用VEX库来使用对话框,但是我听说在jQuery中我可以使用本机对话框,但是在3.3.1版中它们无法正常工作,所以我现在使用VEX库。

首先,我要使其选择所需的字符。 当我访问我的项目时,可以看到类似此页面的内容。

image

,每个按钮都具有价值,因此当我单击按钮时,它们会记录每个字符。您可以检查代码。

// To choose Character with VEX Library
function CharacterChoose() {
    vex.dialog.open({
        message: 'Which character do you want to play?',
        input: [
            '<label for="char-boy"><img src="images/char-boy.png" class="imagepadding" /></label>',
            '<img src="images/char-cat-girl.png" class="imagepadding" />',
            '<img src="images/char-pink-girl.png" class="imagepadding" />',
            '<img src="images/char-horn-girl.png" class="imagepadding" />',
            '<img src="images/char-princess-girl.png" class="imagepadding" />'
        ].join(''),
        buttons: [
            $.extend({}, vex.dialog.buttons.NO, {
                text: 'Char-Princess-Girl',
                click: function () {
                    this.value = 'char-princess-girl';
                    this.close();
                }
            }),
            $.extend({}, vex.dialog.buttons.NO, {
                text: 'Char-Horn-Girl',
                click: function () {
                    this.value = 'char-horn-girl';
                    this.close();
                }
            }),
            $.extend({}, vex.dialog.buttons.NO, {
                text: 'Char-Pink-Girl',
                click: function () {
                    this.value = 'char-pink-girl';
                    this.close();
                }
            }),
            $.extend({}, vex.dialog.buttons.NO, {
                text: 'Char-Cat-Girl',
                click: function () {
                    this.value = 'char-cat-girl';
                    this.close();
                }
            }),
            $.extend({}, vex.dialog.buttons.NO, {
                text: 'Char-Boy',
                click: function () {
                    this.value = 'char-boy';
                    this.close();
                }
            })
        ],
        callback: function (value) {
            // char-boy','char-cat-girl','char-horn-girl','char-pink-girl','char-princess-girl
            switch (value) {
                case "char-boy":
                    console.log('You choose Char-boy');
                    break;
                case "char-cat-girl":
                    console.log('You choose Char-Cat-Girl');
                    break;
                case "char-horn-girl":
                    console.log('you choose Char-Horn-Girl');
                    break;
                case "char-pink-girl":
                    console.log('You Choose Char-Pink-Girl');
                    break;
                case "char-princess-girl":
                    console.log('You Choose Char-Princess-Girl');
                    break;
                default:
                case "char-boy":
                    console.log('You choose Char-boy');
                    break;
            }
        }
    })
}

所以该值很重要,但实际上我不知道如何将该值转换为Player变量。

let Player = function (x, y, speed, value) {
    this.x = x;
    this.y = y;
    this.speed = speed;
    this.sprite = 'images/' + value + '.png';

};

我之所以这样编写代码,是因为当我启动项目并选择字符时,我想在那里获得一个值,以便this.sprite可以读取正确的URL。但是我不知道如何思考逻辑并从中获取价值。

0 个答案:

没有答案