草庐IT

虚拟机游戏

全部标签

javascript - React/Redux 中的生命游戏,有助于提高性能

我正在使用react/redux/javascript开发TheGameofLife的一个版本,当我使用它时性能很糟糕。HereisalinktotherunninggameHere'sthesourceongithhub目前,我在每个滴答声(用户可更改的250,500,750毫秒)更新每个单元格的状态。为此,我循环遍历代表每个单元格的对象数组。每个对象中都有一个名为status的参数,它可以是一个整数,1表示活着,0表示死了。然后我拉入三行,每行三个单元格,对于相关单元格周围的中间和底部行,我然后对这些值求和(不包括中心的单元格本身)。然后我通过if/then流程运行该数字以确定该单

javascript - Glimmer VM 与虚拟 dom 有何不同?

所以我最近开始研究emberjs,尤其是它的glimmer渲染引擎,并试图了解它是如何工作的。所以我的理解是,GlimmerVM是一个模拟实际DOM并执行功能以对其进行更新的虚拟机。虽然vdom维护DOM状态的内部表示,但glimmerVM没有这样的状态,相反,它执行两组线性指令-一组执行模板的初始渲染,第二组对元素进行更新。这种方法的主要好处是这样我们可以完全绕过JS的解析/编译瓶颈,只需将二进制文件发送到客户端,然后由glimmervm执行。我做对了吗? 最佳答案 如果只是将模板的语言从JS或文本更改为二进制字节码,Glimme

javascript - node.js 存储游戏状态,如何?

我正在用javascript编写一个游戏,为了防止作弊,我在服务器上玩这个游戏(这是一个像更复杂的跳棋一样的棋盘游戏)。由于游戏相当复杂,我需要存储游戏状态以验证客户端操作。是否可以将游戏状态存储在内存中?那聪明吗?我应该这样做吗?如果是这样,如何?我不知道那会怎样。我也可以存入redis。那种事情对我来说很熟悉,不需要解释。但如果我确实存储在redis中,问题是在每一个Action中,游戏都需要从redis获取数据并解释和解析该数据,以便从头开始重新创建游戏状态。但由于移动发生得非常频繁,这对我来说似乎很愚蠢。我该怎么办? 最佳答案

JavaScript 游戏视口(viewport)

您好,我是JavaScript的新手,因此决定按照w3schoolsgametutorial了解更多信息.我决定让它成为一款平台游戏,但我一直无法弄清楚如何在Canvas外添加跟随玩家的视口(viewport)。谁能帮帮我?提前致谢。Fiddle//BackgroundvarBackground;//ObjectsvarPlayer;varObstacle;//MobilebuttonsvarUpBtn;varDownBtn;varLeftBtn;varRightBtn;//EndfunctionstartGame(){Background=newcomponent(656,270,"

javascript - 如何将 Phaser 3 游戏及其 Assets 扩展到智能手机和平板电脑上?

我刚开始使用Phaser3和ApacheCórdova创建移动Android游戏。我创建了一个1200x800像素的游戏。它在平板电脑上看起来不错,但在智能手机上却不行。如何缩放它以在多种屏幕尺寸下工作?此外,我需要帮助来强制使用Phaser3调整游戏方向。谢谢 最佳答案 functioncreate(){window.addEventListener('resize',resize);resize();}functionresize(){varcanvas=game.canvas,width=window.innerWidth,h

javascript - 游戏关卡的数据结构

我正在使用完全基于图block的canvas在JavaScript中创建平台游戏。在游戏中存储元素block(墙壁、地板、元素)的最佳方法是什么?问题是每一block瓷砖都可以被摧毁或创造。目前我有一个二维数组,因此我能够快速检查某个项目是否位于特定的X和Y位置。这个问题是当用户移动并且map需要滚动时,我需要重新分配每个block。当项目位于x=0时会发生什么?我不能使用负索引。我宁愿将滚动模拟一次放到一个图block上。我还计划在用户移动时随机生成map,如果以前没有生成过的话。因此,一旦生成某些东西,它就应该永远保持这种状态。我应该提到的另一点是它也将是多人游戏。因此,在缓存数据

【虚拟仿真】Unity3D中实现InputField组件表格Tab或者Enter换行实现

推荐阅读CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。一、前言在日常虚拟仿真项目开发中,可能会遇到要输入表格数据的情况,表格通常是使用UI的InputField组件生成,在输入数据的时候,需要输入→点击下一个输入框→再输入的流程,比较麻烦。因此,写了一个小工具,将这个脚本附到所有组成表格的InputField的父节点上,就可以实现Tab或者Enter实现换行,也就是切换到下一个输入框的功能。效果图:二、实现效果新建脚本TabInputField.cs,双击打开脚本编辑代码:

javascript - 如何使用 angularJS 制作虚拟卷轴?

我试图制定一个指令,我可以做一个虚拟滚动,所以当用户滚动表格时,表格删除“旧”View并添加"new"View,有点像收集重复,但我已经一直失败,我想我不明白它背后的数学原理,有人可以帮助我吗?这是我的指令代码:BaseModule.directive('myScroll',function(){return{restrict:"A",scope:{rows:"=",headers:"="},link:function(scope,el){varscrollTop=0;varscrollLeft=0;angular.element(el).on('scroll',function(){

javascript - Javascript 编写的游戏的服务器端高分

我正在用Javascript实现一个简单的游戏,并且有兴趣为其创建一个在线高分表,以便玩家可以相互竞争。我对此有两个担忧:为此我需要的最简单的服务器端程序是什么?我不需要一个成熟的“网络应用程序”,只需要一些简单的东西来获取带有高分的POST请求、更新数据库并发回分数列表。我熟悉Django。你有什么建议?如何使高分表合理安全?我知道要让它对有能力和敬业的黑客无懈可击是很困难的,但我不希望任何有权访问Javascript源代码的人都能够过于简单地提交虚构的分数。是否有用于此目的的工具? 最佳答案 获得高分将非常困难。我的意思是,仅仅

javascript - Phaser 是否能够进行大型多人游戏?

这里是新手。我正在使用Phaser,特别是等距插件。我想知道是否可以在Phaser中创建类似于agar.io的游戏,在处理实时多重连接方面,生成一张包含大约300名玩家的巨大map,所有这些都不会对游戏性能产生太大影响。我真的不知道如何处理多人游戏部分(可能是套接字,node.js)才能让它工作得很好。至于生成一个非常大的map,我也很空白。是否有可能在Phaser中创建一个等距类型的游戏来处理多个实时多人游戏和当用户到达可见“map”的边缘时生成的巨大map?如何?如果不是,我应该选择什么(js和其他应用程序中的游戏引擎)来实现我想要的? 最佳答案