我刚刚开始做游戏,有没有大神提示一下,比如人物层,背景层,等等层。之间又是怎样联系的?
没理解我的意思= =
比如穿越火线,进入游戏后,右计分,任务层,还有人物层,背景层等等,是这样吗?
我刚刚开始做游戏,有没有大神提示一下,比如人物层,背景层,等等层。之间又是怎样联系的?
没理解我的意思= =
比如穿越火线,进入游戏后,右计分,任务层,还有人物层,背景层等等,是这样吗?
不是大神,但还是想交流一下。
我前一段时间琢磨了一下canvas开发游戏,看了一下canvas的技术文档之后发现不用引擎去做canvas游戏会很累的。
一是canvas的点击事件需要通过坐标计算来实现,图形本身是不能绑定事件的。
然后在重绘这个方面,canvas本身没有层的概念,图像画上去就分离不了了。
点击事件要计算坐标,但是我想如果需要常态点击事件,例如开始游戏之类的,我打算以div做事件处理。
然后言归正传,我是做了两个层,一个背景,一个是蓝点层。
背景层几乎是不动的,这部分能不重绘就不重绘,否则每一帧都全画幅重绘会很傻。
对于canvas多少层恰当,我觉得无论多少层,只要你没有让dom重绘,多少个都无所谓。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
做canvas的游戏,最好从一个引擎入手,入门级别的引擎比如:lufy(JS开源,并且有博客做指导),在实现一些效果之后,再查看源代码学习如果实现;
你说的这些层,并不用新建那么多的Canvas,一个Canvas足矣;
原始的canvas并不支持层,这些层都是引擎提供的概念,现市面上的引擎大部分类似Flash,层叫Sprite。
所谓的FPS为60Hz,是指1秒钟将Canvas画布重绘60次,并且在重绘的过程中计算每一个「物件」、「刚体」的新位置,然后将这些「物件」绘制在对应的坐标上;
一个Canvas就是一个场景Stage,然后背景是一个层,人物是一个,然后引擎计算人物的坐标,以及背景的坐标,绘制上去。如果有操作,则计算新的位置,重新绘制上去。
这里的层也有层级概念,类似DIV等,当然,层是引擎实现的,层级也是引擎实现的。
鼠标点击事件在Canvas里面比较麻烦,入门最好使用引擎来做。