这一回我们让熊动起来~
预期达到效果:http://www.html5china.com/html5games/mogu/index2.html
一、先定义全局变量
JavaScript Code复制内容到剪贴板
1. var bearEyesClosedImg = new Image();//闭着眼睛的熊熊
2. var horizontalSpeed = 2;//水平速度
3. var verticalSpeed = -2; //垂直速度,开始肯定是要向上飘,所以要负数
4. var bearAngle = 2;//熊旋转的速度
二、定义熊
首先定义一只公用熊
JavaScript Code复制内容到剪贴板
1. //定义动物熊 Animal 继承 游戏对象GameObject
2. function Animal() {};
3. Animal.prototype = new GameObject();//游戏对象GameObject
4. Animal.prototype.angle = 0;//旋转的角度,(用来改变熊的旋转速度)
定义我们使用的熊
JavaScript Code复制内容到剪贴板
1. //定义熊实例
2. var animal = new Animal();
初始化熊
JavaScript Code复制内容到剪贴板
1. bearEyesClosedImg.src = "images/bear_eyesclosed.png";//闭着眼睛的
2. animal.image = bearEyesClosedImg;//熊图片
3. animal.x = parseInt(screenWidth/2);//x坐标
4. animal.y = parseInt(screenHeight/2); //y坐标
三、描绘熊在画布上
因为熊是相对移动的,所以我们要加一个基准
JavaScript Code复制内容到剪贴板
1. //以当前熊的中心位置为基准
2. ctx.translate(animal.x + (animal.image.width/2), animal.y + (animal.image.height/2));
3. //描绘熊
4. ctx.drawImage(animal.image, - (animal.image.width/2), - (animal.image.height/2));
但是熊要旋转啊,好的,想要改变它的角度,上面的代码中加入旋转
JavaScript Code复制内容到剪贴板
1. //以当前熊的中心位置为基准
2. ctx.translate(animal.x + (animal.image.width/2), animal.y + (animal.image.height/2));
3. //根据当前熊的角度轮换
4. ctx.rotate(animal.angle * Math.PI/180);
5. //描绘熊
6. ctx.drawImage(animal.image, - (animal.image.width/2), - (animal.image.height/2));
上面的熊是不动的,为什么呢,因为x,y轴和角度没变,因此我们再加上改变x,y和角度的代码,于是上面的代码变成了
JavaScript Code复制内容到剪贴板
1. //改变移动动物X和Y位置
2. animal.x += horizontalSpeed;
3. animal.y += verticalSpeed;
4. //改变翻滚角度
5. animal.angle += bearAngle;
6. //以当前熊的中心位置为基准
7. ctx.translate(animal.x + (animal.image.width/2), animal.y + (animal.image.height/2));
8. //根据当前熊的角度轮换
9. ctx.rotate(animal.angle * Math.PI/180);
10. //描绘熊
11. ctx.drawImage(animal.image, - (animal.image.width/2), - (animal.image.height/2));
到现目前为止熊已经能滚动和移动了,最终代码如下:
展开XML/HTML Code复制内容到剪贴板
第三回就讲到这了,第四回讲熊碰撞边界和蘑菇的事件
分享到:
相关推荐
手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F...
003《老HRD手把手教你做绩效考核》.pdf
《手把手教你用C#制作RPG游戏》是由罗培羽编著,海洋出版社于2014年5月出版的一本技术书籍,主要面向对游戏开发有兴趣,特别是想使用C#语言进行角色扮演游戏(RPG)开发的读者。本书通过详细的教学指导,帮助初学者...
《手把手教你用C#制作RPG游戏》是罗培羽撰写的一本深入浅出的IT书籍,专门针对想要学习如何使用C#编程语言开发角色扮演游戏(RPG)的读者。这本书详细介绍了从零开始构建RPG游戏的全过程,涵盖了C#的基础知识以及...
《Qt5 PyQt 5实战指南—手把手教你掌握100个精彩案例》 《Qt5 PyQt 5实战指南—手把手教你掌握100个精彩案例》 《Qt5 PyQt 5实战指南—手把手教你掌握100个精彩案例》
手把手教你学28335PDF文档,看了这个确实和2812有了对比
【标题】"手把手教你学DSPPDF"是一份针对数字信号处理(DSP)初学者的教程性PDF文档,旨在引领读者逐步掌握这一领域的基础知识。该文档可能包含了从理论概念到实际应用的全面讲解,适合那些希望踏入数字信号处理世界...
《手把手教你学DSP2812》是一本专为初学者设计的 DSP(Digital Signal Processor)学习指南,主要围绕TI公司的TMS320F2812 DSP芯片进行讲解。这本书以其全面且易懂的特性,为读者提供了一个深入理解数字信号处理及其...
在本教程“手把手教你做问答系列”中,我们将深入探讨如何有效地进行问答系统的构建与优化。这个系列的目的是帮助初学者以及有一定经验的开发者掌握问答系统的核心技术和实践方法,从而能够创建出高质量的问答解决...
在本资源包“手把手教你用C#制作RPG游戏素材包.rar”中,你将找到一系列用于创建角色扮演游戏(RPG)的素材,这些素材主要适用于C#编程环境下的游戏开发。RPG游戏通常需要丰富的视觉和听觉元素来营造沉浸式的游戏体验...
本资源“新手入门级html5游戏开发源码(蘑菇熊)”是一个很好的起点,它提供了一系列逐步教程,帮助初学者理解游戏开发的核心概念。 首先,我们来看标题中的"蘑菇熊",这很可能是游戏的主题或主角,展示了如何设计...
本书主要介绍如何利用3D固定流水线编写游戏引擎,以及在已编写引擎的基础上开发游戏,全书共分10章,主要内容包括游戏引擎简介、数学知识、材质和光照、固定流水线、游戏引擎架构、3D引擎底层封装、3D引擎封装、游戏...
手把手教你学DSP28335,PDF格式,有助于随时随地可以学习知识。
手把手教你用C#制作RPG游戏__罗培羽著是一本很好的国内开发RPG游戏的书籍,可以教会读者如何学会C#做游戏,而Unity3D网络游戏实战游戏开发与设计技术丛书 是在C#基础上,利用Unity引擎开发网络实战游戏,这两本书...
手把手教你学dsp F2812 顾伟刚
手把手教你学DSP28335高清pdf文件,北京航空航天大学出版社
《手把手教你学51单片机》是一本专为初学者设计的嵌入式开发入门教程,旨在帮助读者从零开始掌握51单片机的基础知识和应用技能。51单片机是嵌入式系统中最基础且广泛应用的一类微控制器,广泛应用于智能家居、工业...
《手把手教你架构3D游戏引擎》是一本深入探讨3D游戏引擎开发的书籍,作者姜雪伟通过详细的步骤和实例,旨在引导读者理解和构建自己的3D游戏引擎。该书内容涵盖3D图形学基础、固定流水线技术、游戏引擎架构设计等多个...
“手把手教你DSP配套资料”这一压缩包很可能是包含了一系列关于DSP的学习材料,可能包括教程文档、示例代码、实验指导等。通过这些资料,你可以深入理解DSP的基本原理、算法和应用,逐步掌握实际操作技能,为你的...
"手把手教你如何从一无所有到财务自由.pdf" 本文主要讲述的是如何从零开始创业,到达财务自由的三个步骤。作者通过幽默诙谐的语言,浅显易懂的思维高度,指导小屁孩创业,并提供了非常好的指引方向。 第一部分:...