草庐IT

Canvas-EventSystem-Panel

全部标签

javascript - 确定在 html5 canvas javascript 中点击了屏幕上的哪个对象?

我正在用html5canvas制作游戏。我正在使用jquery,所以我可以获得点击事件和点击x、y坐标。我有一个单位对象数组和一个平铺地形(也是一个数组)。单元对象具有边界框信息、它们的位置和它们的类型。将此点击事件映射到其中一个单元的最有效方法是什么? 最佳答案 循环遍历单元对象并确定哪个被点击,如下所示://'e'istheDOMeventobject//'c'isthecanvaselement//'units'isthearrayofunitobjects//(assumingeachunithasx/y/width/hei

html - 是否有在 HTML5 Canvas 中使用四叉树的示例?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion四叉树在游戏和其他地方用作实体空间组织的优化http://en.wikipedia.org/wiki/Quadtree.是否有任何四叉树用于HTML5Canvas的示例?

javascript - 如何使我的 Canvas 区域适合 iphone 浏览器?

我使用HTML5创建了一个游戏。Canvas尺寸为320x480。当网页在iPhone的浏览器中打开时,Canvas区域将放置在浏览器的左上角,除非我缩放它,否则我无法玩游戏。我能做什么..请帮助。谢谢。 最佳答案 您需要将视口(viewport)的元标记设置为iPhone屏幕的大小。这将正确缩放页面,这样您就不必一开始就放大,并防止用户在页面打开后缩放。 关于javascript-如何使我的Canvas区域适合iphone浏览器?,我们在StackOverflow上找到一个类似的问题:

javascript - 如何在给定用户输入 X、Y 点的情况下绘制 HTML5 Canvas 线?

我正在尝试在Canvas中构建平面图模型。目前,我的Canvas中有一个网格图像,用户可以通过单击和拖动鼠标来绘制线条。但是,这并不能保证直线。我是否可以在html页面中提供输入字段供用户输入线条的开始和结束x和y坐标,并在我的Canvas代码中更新它?我是JS/AJAX的初学者,因此非常感谢任何补救帮助:)现在,这是规定如何绘制线条的部分:$(document).ready(function(){varcanvas=document.getElementById('canvas');varcontext=canvas.getContext("2d");if(canvas.getCon

HTML5 Canvas : How to know the limit for the size?

我有一个宽1400像素、长约12000像素的Canvas。我有一个需要绘制的层次结构图。当它完全展开时,它会占据整个Canvas(我设置的大小)。现在,当我从笔记本电脑(在各种浏览器上)访问该页面时,这一切正常。但是当我从iPad上的Safari访问它时,Canvas不显示,或者Canvas上的内容不可见。我认为,这是由于Canvas尺寸较大所致。因此,似乎存在内存可用性或设备依赖性,这限制了大小(根据W3C允许的大小)。如何知道或计算尺寸?或者有一些解决方法吗?还有其他办法吗?我是初学者。 最佳答案 替代方法(回答thecomme

javascript - A* 在 HTML5 Canvas 中开始寻路

我正在尝试在我的游戏(使用JavaScript、HTML5Canvas编写)中实现A*Start路径查找。A*Start的库找到了这个-http://46dogs.blogspot.com/2009/10/star-pathroute-finding-javascript-code.html现在我正在使用这个库来寻找路径。对于这个库,我正在尝试编写一个简单的测试,但遇到了一个问题。我现在完成了在HTML5Canvas屏幕中单击鼠标显示路径直到我的mouse.x和mouse.y。这是一个屏幕截图:(粉色方block:玩家,橙色方block:直到我的mouse.x/mouse.y的路径)编

jquery - 动画渐进绘制的虚线 HTML5 Canvas & Jquery

我如何修改以下代码,使绘制的线为虚线,您可以在提供的jfiddle中看到它的实际效果。#canvas{border-style:solid;border-width:1px;}Hoveroverme$(function(){animateLine=function(canvas,hoverDivName,colorNumber,pathString){$('#'+hoverDivName).hover(function(){varline=canvas.path(pathString).attr({stroke:colorNumber});varlength=line.getTotal

html - 如何在 HTML5 的 Canvas 中部分绘制路径?

假设我使用一系列bezierCurveTo()调用创建了弯曲路径。我想让它在动画中逐渐出现,方法是增加逐帧绘制的百分比。问题是我找不到仅绘制Canvas路径的一部分的标准方法-有人知道实现此目的的好方法(甚至是棘手的方法)吗? 最佳答案 当然……SimonPorritt为我们完成了所有艰巨的数学运算!jsBezier是一个带有函数的小型库:pointAlongCurveFrom(curve,location,distance)可以让您沿着贝塞尔曲线逐步绘制每个点。jsBezier在GitHub上可用:https://github.c

javascript - 如何将多个 Canvas 元素放入一个 Canvas 元素中?

我有多个由JavaScript创建的Canvas元素。我的问题是:“如何将多个Canvas元素放入一个Canvas元素?”。 最佳答案 给你;JSfiddle它将抓取每个Canvas并将它们制作成PNG访问缓冲区Canvas并将PNG叠加写入其中将缓冲区Canvas写回PNG并将其发送到IMG标签只要给#buffercanvas元素display:none;一切都会发生不可见的(检查这里;http://jsfiddle.net/Allendar/UqxCY/2/)。HTMLEmptyCSScanvas[id^=c],div[id=o

javascript - 视频中的 HTML5 Canvas drawImage 未在第一次绘制时显示

我有一个带有Canvas覆盖层的视频元素。然后我有一个绘图工具设置来绘制视频和一个保存按钮,它从视频和Canvas中执行drawImage以保存合成帧。但是,我第一次按“保存”时,我只从CanvasdrawImage获得结果,视频不显示。在随后的保存中,我收到了正确分层的两个图像。我认为这可能是加载视频图像的问题,但在我点击保存之前视频已完全加载,甚至可以推进帧并使其在第二次保存时正常工作。这是代码...SAVED:functionsave(){//COMPCANVASOVERVIDEOFRAMEvarvideo=document.getElementById("video");var