繁体   English   中英

如何在Phaser中进行文本输入?

[英]How to take text input in Phaser?

我正在使用Phaser制作HTML5游戏,我想将图层名称作为输入并保存以备后用。如何使用Phaser?

您可以执行很多选择,但是Windows提示符又如何呢?

var player = prompt("Please enter your name", "name");

然后您可以通过本地存储将其保存

localStorage.setItem("playerName", player);

如果以后要使用

localStorage.getItem("playerName");

我从未见过Flash游戏带有覆盖HTML的文本处理功能。 我希望随着Javscript游戏引擎的发展,他们最终会发现他们还需要处理画布内的渲染文本。 好消息是这项工作已经开始。 https://github.com/goldfire/CanvasInput

<script src="CanvasInput.min.js"></script>

<script>
    var bmd = this.add.bitmapData(400, 50);    
    var myInput = this.game.add.sprite(15, 15, bmd);

    myInput.canvasInput = new CanvasInput({
        canvas: bmd.canvas,
    });
    myInput.inputEnabled = true;
    myInput.input.useHandCursor = true;    
</script>

可以在此处看到Phaser和CanvasInput演示, http: //codepen.io/jdnichollsc/pen/waVMdB?editors = 001

缺点之一是您必须在Phaser中使用Phaser.CANVAS而不是Phaser.AUTO进行画布渲染。

更新 :有人也这样做了https://github.com/orange-games/phaser-input

在我的游戏中,我使用模式( http://getbootstrap.com/javascript/#modals )来允许用户输入名称。 我还实施了排行榜。 为了节省用户和分数(+次),我将其与parse( https://www.parse.com/ )集成在一起

工作示例: http : //majery.pl/memo/

考虑使用CanvasInput库。 它创建基于本地画布的输入,并且非常易于使用。 您将其添加到您的create方法,然后从那里继续。 是与Phaser一起使用的示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM