我对制作 HTML5 游戏和动态 Web 应用程序非常感兴趣。作为一个有Flash背景的人,我想重新制作我的flash游戏,以及一些全flash网站(其中大部分是艺术家和设计师的作品集),使用HTML5技术。我做了一些研究,似乎 CSS3 以及 HTML 标签(旧的和新的)都是一个重要的元素。
所以,简短的问题,要制作 HTML5 游戏,我只需要 JavaScript 和 Canvas 还是有其他东西?
PS:我知道如何创建一个非常基本的 HTML 页面
我对制作 HTML5 游戏和动态 Web 应用程序非常感兴趣。作为一个有Flash背景的人,我想重新制作我的flash游戏,以及一些全flash网站(其中大部分是艺术家和设计师的作品集),使用HTML5技术。我做了一些研究,似乎 CSS3 以及 HTML 标签(旧的和新的)都是一个重要的元素。
所以,简短的问题,要制作 HTML5 游戏,我只需要 JavaScript 和 Canvas 还是有其他东西?
PS:我知道如何创建一个非常基本的 HTML 页面
有两种方法可以解决这个问题
两者本质上都是 Javascript,但它们的呈现方式有所不同。
对于游戏,人们普遍青睐画布方式。这是由于最近画布的性能已经超过了 DOM。
但归根结底,是 Javascript 使这一切正常工作。所以这才是你真正想要学习的。
正如您已经知道与 JavaScript (ECMAScript) 具有相同基础的 ActionScript (Flash),您已经具备了它的基础。
您可以使用基本网页,因为您只需要在其中放置画布元素:
<canvas id="myCanvas" width="500" height="400"></canvas>
在您引用的 JavaScript 代码中,您从以下内容开始:
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
ctx 或上下文是您应用大多数绘制操作的地方。要直接操作像素,您可以直接使用画布对象。
使用上下文的示例:
ctx.fillRect(0, 0, 100, 100); // my first black-box
这部分不需要 CSS。画布可以被认为是浏览器内部独立的世界,CSS 不会影响画布内部的任何东西(基本上是位图),只会影响画布元素本身。
您真正需要做的就是首先阅读画布 API: http:
//www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html
https://developer .mozilla.org/en-US/docs/Web/API/HTMLCanvasElement
并熟悉两个 ECMAScript 版本的细微差别:
http ://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000064.html
JavaScript 和 ActionScript 3 之间的主要区别是什么?