- 爱易网页
 
                        - 
                            HTML教程
 
                        - html5 手把手教你做游戏《熊跟蘑菇》(二) 
 
                         
                    
                    
                    日期:2014-05-17  浏览次数:20800 次 
                    
                        
                         html5 手把手教你做游戏《熊和蘑菇》(二)
    
上回分析了游戏,在这一回我们将让蘑菇跟随鼠标动起来~
达到这个效果:http://www.html5china.com/html5games/mogu/index1.html
一、写html代码
XML/HTML Code复制内容到剪贴板
1.	<body>      
2.	    <div id="container" style="border:1px solid; cursor:none; width:480px; height:320px;">      
3.	        <canvas id="canvas" width="480" height="320" >      
4.	        </canvas>      
5.	    </div>      
6.	</body>  
用ID为container 的DIV来获取鼠标移动画面的事件
canvas用来绘图
二、定义全局变量
JavaScript Code复制内容到剪贴板
1.	//全局变量          
2.	var backgroundForestImg = new Image();//森林背景图          
3.	var mushroomImg = new Image();//蘑菇图          
4.	var ctx;//2d画布          
5.	var screenWidth;//画布宽度          
6.	var screenHeight;//画布高度  
赋予全局变量值
JavaScript Code复制内容到剪贴板
1.	mushroomImg.src = "images/mushroom.png";//蘑菇          
2.	backgroundForestImg.src = "images/forest1.jpg";//森林背景图          
3.	ctx = document.getElementById('canvas').getContext('2d');          
4.	screenWidth = parseInt($("#canvas").attr("width"));          
5.	screenHeight = parseInt($("#canvas").attr("height"));   
三、定义蘑菇实例
由于在画布上的物体全部都有3个共同的属性:x、y坐标,素材image
所以我们定义一个公用的游戏物体
JavaScript Code复制内容到剪贴板
1.	//公用 定义一个游戏物体戏对象       
2.	function GameObject()       
3.	{       
4.	    this.x = 0;//x 坐标      
5.	    this.y = 0;//y 坐标      
6.	    this.image = null; //图片      
7.	}      
为了方便拓展,定义一个公用的蘑菇
JavaScript Code复制内容到剪贴板
1.	//定义公用蘑菇Mushroom 继承游戏对象GameObject       
2.	function Mushroom() {};       
3.	Mushroom.prototype = new GameObject();//游戏对象GameObject  
定义一个我们使用到的具体蘑菇
JavaScript Code复制内容到剪贴板
1.	//蘑菇实例       
2.	var mushroom = new Mushroom();    
初始化蘑菇的位置和图片
JavaScript Code复制内容到剪贴板
1.	mushroom.image = mushroomImg;          
2.	mushroom.x = parseInt(screenWidth/2);          
3.	mushroom.y = screenHeight - 40;    
四、用canvas把蘑菇绘制出来
JavaScript Code复制内容到剪贴板
1.	//循环描绘物体       
2.	function gameLoop()       
3.	{       
4.	    //清除屏幕       
5.	    ctx.clearRect(0, 0, screenWidth, screenHeight);       
6.	    ctx.save();       
7.	    //绘制背景       
8.	    ctx.drawImage(backgroundForestImg, 0, 0);       
9.	    //绘制蘑菇       
10.	    ctx.drawImage(mushroom.image, mushroom.x, mushroom.y);