Questions tagged «html5»

HTML 5引用了新的Web技术,例如高性能JavaScript引擎,canvas 2D和WebGL,视频和音频标签。

1
形状(矩形)如何在四叉树中工作?
有人告诉我,四叉树是我的游戏的理想数据结构,但是我在理解形状在四叉树中的工作方式时遇到了麻烦。 我正在用JavaScript进行此操作,但我认为这些问题可能适用于任何语言的四叉树。 我想我最了解基本(x,y)点和点插入在四叉树中的工作原理,并且我可以在纸上做到这一点。 这是我尝试点的JSfiddle。 除了一个案例,我的分数测试按预期进行。 但是,当涉及矩形等形状时,我的困惑就开始了。当从具有形状的四叉树中检索时,它会检查形状的每个点以及它们落入哪些节点?当形状插入接受每个形状的(x,y,width,height)参数时,形状插入甚至如何工作?它是否使用起点的宽度/高度来计算其他角点,然后将其分配到适当的节点中?如果插入的形状跨越四个节点,该形状的数据是否保存到所有四个节点中? 当检索方法接受形状作为参数(x,y,width,height)时,实际上是怎么回事?是否首先查看形状要插入到哪个节点,然后检索这些节点的所有对象? 我有一个使用shape的JSfiddle,但是我对测试结果完全感到困惑。我正在收到重复的对象! 例如,红色方块等效于我输入到检索方法中的参数。我认为,由于这个红色正方形跨越了所有四个节点,因此它应该返回四叉树中的每个对象!但事实并非如此,而且我在合理化返回结果方面遇到了麻烦。目前,我还有许多其他测试已被注释掉,但是您可以取消注释并运行它们以查看更令人困惑的结果! 就像说,如果我想返回四叉树中的所有点,我该怎么做?使用形状的整个边界范围的检索方法?例如,retrieve(0,0,canvas.width,canvas.height)? 我正在使用的JavaScript QuadTree库已被其他各种来源引用,因此,我认为实际的实现是正确且信誉良好的。 我认为我的许多困惑可能源于对四叉树术语的误解。就像,为什么当“点”也具有width / height参数时,为什么用边界而不是尺寸?是约定俗成的问题还是它们的完全不同的概念? 谢谢你的时间!

1
gluLookAt如何工作?
据我了解, gluLookAt( eye_x, eye_y, eye_z, center_x, center_y, center_z, up_x, up_y, up_z ); 等效于: glRotatef(B, 0.0, 0.0, 1.0); glRotatef(A, wx, wy, wz); glTranslatef(-eye_x, -eye_y, -eye_z); 但是当我打印出ModelView矩阵时,对的调用glTranslatef()似乎无法正常工作。这是代码片段: #include <stdlib.h> #include <stdio.h> #include <GL/glut.h> #include <iomanip> #include <iostream> #include <string> using namespace std; static const int Rx = 0; static const int Ry …

2
基于图块的等距游戏中的自由运动
在基于图块的等距游戏中,有没有合理的简便方法来实现自由移动?这意味着玩家不仅会立即从一个图块跳到另一个图块,或者不会被“捕捉”到网格(例如,如果图块之间的移动已设置动画,但是在动画完成之前您将被禁止执行任何操作)。我真的是一个与游戏编程有关的初学者,但是借助此站点和其他资源,可以很轻松地完成基本的工作,但是我无法针对此特定问题找到任何有用的资源。 。 目前,我已经简化了一些与此相关的东西:http://jsfiddle.net/KwW5b/4/(WASD运动)。移动的想法是使用鼠标地图来检测玩家何时移动到另一个图块,然后翻转偏移量,并且在大多数情况下可以正常工作(每个角使玩家移动到错误的位置:请参阅http: //www.youtube.com/watch?v=0xr15IaOhrI,这可能是因为我无法使完整的鼠标图正常工作),但是我并不幻想它甚至接近一个好的/理智的解决方案。而且无论如何,这主要只是为了演示我想实现哪种类型的东西。

1
将精灵设置为鼠标的正面方向
我正在构建一个html5 canvas游戏,我需要一种方法来让我的精灵面对鼠标光标。我有精灵的X和Y坐标,还有指针的X和Y坐标。我所坚持的只是使精灵面对指针的数学运算。一切都在2D世界中,所以我无法想象它会太复杂,但是我对这些东西的经验很少。 同样,有关此类事情的文章/博客文章的任何有用链接也都很棒(一般来说,二维游戏编程,而不是Javascript)。 作为补充,我应该注意,我需要一个角度(度数),该角度将使我使用其X和Y位置指向光标。 我怎么知道光标的坐标,这些东西都放在哪里?
9 2d  html5  html-canvas 


2
如何有效地在网络上存储和显示地图?
关于 这实际上是两个问题合二为一。首先,我正在寻找一种有效存储大量切片数据的方法。另一个方面涉及查询数据集和显示图块。让我先给你一些背景。 我们正在使用CraftyJS库制作基于浏览器的多人大亨游戏,以将其渲染到Canvas。在GUI的后台,我们在PHP上运行Yii Framework,并且它们都连接到Python随机地图生成器和游戏引擎。 这是第一个粗糙地图渲染的外观:http : //i.imgur.com/khAXtl.png 存储地图数据 每次游戏开始时,都会随机生成游戏世界。每个玩家的大小为100x100的六角形瓷砖。这意味着对于一个三人游戏,将创建90.000个图块。目前,我只是创建一个JavaScript数组来渲染地图。 这对于渲染来说效果很好,但是对于与地图的任何形式的交互,我们都需要存储哪个玩家拥有该图块,在该图块之上构建什么样的结构,它的当前价格等等。起初,至少对于原型而言,我们想使用MySQL,但是经过一些测试,它的速度并没有我想要的那么快。也许像MongoDB这样的对象存储将更适合于存储切片数据而不是SQL表。也许还有其他东西? 显示地图 我看到的另一个问题是在地图上移动。目前,我正在为每个图块创建Crafty实体,即使它不在视口中也是如此。这很慢,因为即使Crafty仅在视口中渲染那些,它也会存储并可能遍历每个渲染事件上的所有图块。我目前所拥有的是绘制的生成地图,当您四处走动时加载和停顿非常慢,现在我想使其可玩。 我的第一个想法是加载视口中显示的图块子集。但是,当玩家将视口移至空白区域时,我需要查询服务器并等待响应返回,只有这样才能渲染地图。这在本机应用程序中会很好,但在网络游戏中却比较落后。 从地图上获得平滑性能的方法可能是将较大的图块子集预加载到javascript数组中并将其用作缓存。播放器将有几个屏幕“缓存”,当他移动视口时,我将向JS“缓存”加载更多图块。 我朝着正确的方向前进吗?我很想从做过类似事情的人那里获得更多信息。我是游戏开发的新手,但是在过去的几周中,我已经经历了很多研究。
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.