存储 ASCII 艺术以用作简单 JavaScript 游戏中的角色。我可以将其存储在角色的对象中吗?



制作一个简单的JS游戏(我只能使用Jquery和vanilla JS),并希望使用这样的艺术:

.
-.  |_:_|/(_Y_)\  (_\/M\/_)/.'-'.\ //|[_]|\\  \\|  |//#|===|\# /|\/I \/_ | |我_\  |_|_|

并使用 Jquery 将其扔到我页面上的不同div 中。我如何以及在哪里可以把它放在不丢失该间距但仍然能够调用它?当我把它作为一个值时,我不能为每个值多行,这似乎是因为崇高把维德变成了彩虹。

由于 SO 似乎正确显示您的东西,我刚刚检查了元素是什么,似乎很<pre>.所以我创建了一个带有样式的 var,用于重新创建这样的达斯维达:

var darthvador = "        .-.<br>       |_:_|<br>      /(_Y_)\<br>     (_\/M\/_)<br>      /.'-'.\<br>     //|[_]|\\<br>     \\|   |//<br>      #|===|\#<br>     / |\ /I \<br>    /_ | | I _\<br>       |_|_| ";

<br>进行换行。 并将所有 \ 加倍,这样它就不会将其视为转义字符。

然后我做了一个div来容纳玩家:

<div id="player">
</div>

简单的div 没有应用任何风格,你可以用它做任何你喜欢的事情。

<input type="button" value="addPlayer" onclick="addPlayer();"/> 

我制作了这个按钮,以便您可以在需要时添加它。您可以制作一些逻辑来仅添加一次,或者只是将其存储在播放器div中并隐藏按钮或其他内容。

然后添加播放器只需创建一个<pre>元素并在其中添加达斯瓦多播放器。

function addPlayer(){
document.getElementById("player").innerHTML = "<pre>" + darthvador +"</pre>";
}

CSS 样式使 pre 看起来像一个普通的div。如果需要,您可以更改宽度或其他任何内容。

pre{
background-color: transparent;
border: 0px;
}

希望这有帮助。

然后,如果你需要操纵播放器并将其扔到其他div周围,jQuery有一个detach函数来分离div。然后你可以附加如果用afterappendTobefore.

PS:Sry我无法提供jsFiddle链接,我无法访问所有网站。但它只是css html和js,所以你可以很容易地重建它:p

最新更新