Questions tagged «javascript»

“ JavaScript(有时缩写为JS)是一种基于原型的脚本语言,是动态的,弱类型的,具有一流的功能。它是一种多范式语言,支持面向对象,命令式和函数式编程样式。” 来自维基百科。http://en.wikipedia.org/wiki/JavaScript


3
如何生成类似焦土的地形?
我是一名网络开发人员,我渴望开始编写自己的游戏。 为了熟悉起见,我canvas现在选择了JavaScript和element。 我想生成一些像焦土中的地形。 我的第一次尝试使我意识到,我不能只是随机分配y值。高峰和低谷必须有一定的理智。 我已经用Google搜索了一下,但是我找不到足够简单的东西或者使用了错误的关键字。 能否请您告诉我示例中将使用哪种算法生成某些东西,同时牢记我对游戏编程是完全陌生的(因为无论如何,2003年还是使用Visual Basic制作Breakout)?

4
等距交错地图:计算屏幕上点的地图坐标
我知道已经有很多相关资源,但是我还没有找到与我的坐标系相匹配的资源,因此在调整这些解决方案以满足我的需求时遇到了很大的麻烦。我了解到,做到这一点的最佳方法是使用转换矩阵。实现这没问题,但是我不知道我必须以哪种方式变换坐标空间。 这是显示我的坐标系的图像: 如何将屏幕上的点转换为此坐标系?

1
如何在多层2d tilemap中实现光影?
我正在从头开始编写等距游戏,我想知道如何/是否可以添加灯光和阴影。 我到目前为止的代码可以在这里找到,但它应该是不够了解,现在,地图是真/假值的简单3D阵列。这是环境的快照: 如果是单层tilemap,那将是直接的。我可以理解所需的2d中简单的光线投射。 但是,考虑到我的地图具有多个高度级别以及类似洞穴的区域,我真的不知道该如何为它创建令人信服的阴影。也许逐块解决方案是唯一现实的方法?

2
我该如何使好人攻击只击中坏人,反之亦然?
我的游戏有许多不同类型的好人和许多不同类型的坏人。他们都将向对方发射弹丸,但我不希望任何对准都会发生意外附带损害。因此,坏人不应该打/伤害其他坏人,好人不应该打/伤害其他好人。 我想解决此问题的方法是通过使其Unit实例(这是javascript,btw)具有alignment可以为goodor 的属性bad。而且我只会让碰撞发生 class Attack boolean didAttackCollideWithTarget(target) return attack.source.alignment != target.alignment and collisionDetected(attack.source, target) 当然,这是伪代码。 但是我之所以问这个问题,是因为我觉得除了在Unit类中添加另一个属性之外,还有一种更优雅的方法来设计它。

3
如何在JavaScript中实现分支对话?
我正在用JavaScript开发一种非常基本的视觉新颖游戏。我是一个初学者,所以我这样做只是为了娱乐和学习,由于计划不周,当您进入对话分支时遇到了一些问题。 目前,我将游戏脚本保存在一个字符串变量中,并使用诸如“#〜”之类的标签将每个场景分解成较小的数组,以便游戏脚本如下所示: var script = "Hello World!#~How are you today?" var gameText = script.split("#~"); //gameText[0]= Hello World! 这对于线性事物非常有用,但是我应该如何处理对话框树中的分支?这种方法似乎非常复杂,因为我必须确切知道每条路径的长度,然后如果我需要更改任何内容,那将是一件令人头疼的事情。 如何以更简单的方式做到这一点?我希望使用香草JavaScript,因为我希望该游戏可以与Web Run Time一起使用。

1
在Java中实现快速逆平方根?
Quake III的Fast Inverse Square Root似乎使用了浮点技巧。据我了解,浮点表示可以有一些不同的实现。 那么有可能在Javascript中实现快速逆平方根吗? 它会返回相同的结果吗? float Q_rsqrt(float number) { long i; float x2, y; const float threehalfs = 1.5F; x2 = number * 0.5F; y = number; i = * ( long * ) &y; i = 0x5f3759df - ( i >> 1 ); y = * ( …
11 javascript 

9
有哪些好的jquery / javascript游戏引擎?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 6年前关闭。 因此,我决定尝试一些javascript / html5游戏开发(到目前为止与XNA / Unity协作)。想知道是否有人有任何建议。我目前正在研究影响力,gameQuery和Jaws。 (也有点担心我无法制作出像XNA那样强大的游戏……不过只能做2D)
11 javascript  html5 

3
正在保存无赖游戏状态?
我正在使用HTML5和jQuery进行基本的roguelike,但遇到了问题。 按照游戏当前的状态,每次用户在楼层之间移动时,系统仅保存游戏状态-以最大程度地减少开销。这样做的危险是,如果用户遇到麻烦,他们可以简单地关闭窗口并在当前楼层的开头返回他们的游戏。这极大地降低了游戏难度(并几乎打败了“流氓”游戏的目的)-但是在每位玩家移动或攻击时保存游戏状态是不合理的。 我研究了在浏览器窗口关闭时保存游戏状态的方法,但我对它们不满意。我的问题是:假设“保存游戏状态”意味着适当的ajax / post请求,那么我如何阻止这种欺骗行为呢?与保存整个地图状态相反,是否存在已知的方法来量化2d地图的增量/过程变化?请注意,我不是在要求“最有效的方法”,而是在寻找现有的方法来纠正我的经验不足。

1
如何确保游戏可以完成
我不确定要描述的正确术语是什么,所以如果这是一个重复的问题,我们深表歉意。但是是否有术语/算法来确保游戏相对于无限滚动条而言是“可完成的”。我所说的可完成的意思是,如果我有一个游戏,当屏幕试图追赶他们时,用户必须不断跳出障碍物,那么我将如何确保用户始终可以找到一个新的障碍物理论跳到? 我知道从理论上讲,我会检查用户可以跳多高,并确保该范围内有障碍物,但是还有其他东西吗?即在放置新块时避免昂贵的检查,以确保它们不重叠等? 我正在专门查看html5 / js,但我想知道是否有针对此的术语或我可以调查的特定类型的算法? 谢谢

5
在浏览器中(如矮人堡垒)构建ascii地图和移动角色的好的技术解决方案?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 5年前关闭。 我想为我的游戏网站构建一个网络应用程序,其中涉及使用文本字符来表示动物和人,并让它们通过独立的(服务器驱动)AI在地图方块上移动。 因此,本质上是浏览器中的矮人要塞地图: 移动的生物,生物,npc和pc。尽管不是我不想达到这样的规模,但我可能随时会开始显示大约四分之一的内容。 某些背景/固定瓷砖可能会被静态加载。但是对于生物/动物和可以移动的物体,我不确定哪种技术解决方案最有效。 我知道,<canvas>尽管我不知道其功能是否适合此用例。当然,将需要一定数量的javascript。 是否有适合该用例的javascript库或canvas库?我不知道的另一种技术?有人知道做过任何与此类似的网站的例子吗,这样我才能从中得到启发。

1
Z缓冲区的深度插值,带有扫描线
我必须编写自己的软件3d栅格化器,到目前为止,我已经能够将由三角形构成的3d模型投影到2d空间中: 我旋转,平移和投影点,以获得每个三角形的二维空间表示。然后,我取了3个三角形点,并实施了扫描线算法(使用线性插值法)以找到沿三角形边缘(左右)的所有点[x] [y],以便可以水平扫描三角形,一行一行地填充像素 这可行。除了我还必须实现z缓冲。这意味着,知道三角形的3个顶点的旋转平移后的z坐标后,我必须对使用扫描线算法找到的所有其他点的z坐标进行插值。 这个概念似乎很清楚,我首先通过以下计算得出Za和Zb: var Z_Slope = (bottom_point_z - top_point_z) / (bottom_point_y - top_point_y); var Za = top_point_z + ((current_point_y - top_point_y) * Z_Slope); 然后,对于每个Zp,我都会在水平方向执行相同的插值: var Z_Slope = (right_z - left_z) / (right_x - left_x); var Zp = left_z + ((current_point_x - left_x) * Z_Slope); 并且如果当前z在该索引处比前一个z更接近查看器,则将颜色写入颜色缓冲区,并将新z写入z缓冲区。(我的坐标系是x:左->右; y:上->下; z:脸部->电脑屏幕;) 问题是,它陷入了困境。该项目在这里,如果您选择“ …

2
肮脏的2D地图渲染
我不断听到人们谈论HTML5地图渲染的“脏渲染”。我已经用Google搜索并搜索了GameDev,但是关于它的内容并不多。 到底是什么 如何正确实施?

3
多久更新一次有关世界的游戏客户端?
使用socket.io,我的通讯与其他MMORPG相似,与消息保持稳定连接。 到目前为止,在我的设计中,客户端随每个更新帧发送播放器的位置和动画帧。服务器收到该消息后,会将其广播给所有客户端,然后客户端将相应地移动图形。 例如,每1/10秒一次“收集”并广播它们是一个更好的主意吗? 另外,客户是否应该在出现后立即发送许多不同的消息(获得的经验值,单击的项目),或者仅收集一条消息?第一个将更容易实现。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.