开发html5 2d 赛车游戏以及打包发布为手机APP 第一话 工欲善其事

    按照昔日做给上头拿去找汽车商卖钱的一个赛车游戏APP的经验来说明这个例子(不过当然只说有关游戏的部分)

 

思路:一幅赛道画面,赛道上面有一辆主角车,可以由玩家用手指拖拽去控制赛车的移动

 

           设置计时器,画面上方会不断刷新出不属于主角控制的NPC车辆,这些车辆不断向下移动,直到离开屏幕下方

 

 

           设置计时器,如果主角车辆没被NPC车辆撞击,每生存一秒增加100分(实际就是一个生存型游戏)

 

           直到主角车辆被NPC车辆撞击中,游戏结束,这时得到的分数为一盘游戏最终分数,关闭所有计时器

 

》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

 

 

准备:赛车图片 (注:所有图片均来自网络,仅用于学习,不用于商业用途,如需将程序用于商业用途,请自行置换为原创图片,同时感谢以下图片的作者,大功大德)


           

 

公路赛道图片


 

道路分界线图片:

 

 

 
   

 

(一白色的竖线图片,x=5像素,y=15像素,可以自行用画图工具画,就在在上面,由于背景色也是白色,隐身了)

 

》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

 

代码准备:(废话)

最基本的html5实现动画和游戏的代码,大家可以看看前一篇文章的一些最基本介绍:

关于开发html5 2d 动画和游戏以及打包发布为手机APP(简单入门)

 

 

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <title>赛车游戏</title>
    <script type="text/javascript">
    	function init() {
    		
    		setInterval(function(e) {
					animate();
				}, 100);
				
    	}
    	
    	function animate() {
    		
    	}
    </script>
</head>
<body onLoad="init();">
		<canvas id="canvas">
	
		</canvas>
	</body>
</html>

 》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

 

下面说说如何画出咱们的图片

 

要是你有hbuilder代码编辑软件(没有就直接新建一个文件夹,用文本来编辑好了),那就打开hbuilder,新建一个移动APP项目,程序名字为saiche(这可以自己设定),在项目管理器找到saiche项目,找到img文件夹,然后把咱们的图片全部放进img文件夹



 

 

紧跟着就是定义2个变量,用来保存图片对象

 

 

 var roadpic;
 var zhujuepic;

 

 

在init()方法里面添加给roadpic,zhujuepic变量实例化并设置图片路径的处理

 

 

    	function init() {
    		
    		ctx = document.getElementById('canvas').getContext('2d');
		    canvas1 = document.getElementById('canvas');
				        
	    //用new image()实例化变量			        
            roadpic = new Image();  
            zhujuepic=new Image();
          
            //设置image实例的图片路径
            roadpic.src ="img/road.png";        //公路图片的路径
            zhujuepic.src="img/car1.png";       //主角车的路径
            
            
            
    		setInterval(function(e) {
					animate();
				}, 100);
				
    	}
    	

 

 

到animate()里面画出图片,drawImage(哪个image实例,坐标X位置,坐标Y位置,宽度,高度)

 

    		ctx.drawImage(roadpic,0,0,canvas1.width,canvas1.height); 
    		ctx.drawImage(zhujuepic,canvas1.width/2-40/2,canvas1.height-80,40,80); 

 

 

看效果



 

 

这样,我们就实现了让车辆出现在公路上,大家可以用上一篇介绍到的线上打包成安装包的方法打包成APK到自己的手机测试一下,值得注意的是我们这里只是固定了画面的大小,大家得自己去调整画面的大小去适应不同手机设备,项目源码在下面

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <title>赛车游戏</title>
    <script type="text/javascript">
        var ctx;
	    var canvas1;
	    
        var roadpic;
        var zhujuepic;
    	function init() {
    		
    		ctx = document.getElementById('canvas').getContext('2d');
		    canvas1 = document.getElementById('canvas');
				        
				        
            roadpic = new Image();  
            zhujuepic=new Image();
          
            roadpic.src ="img/road.png";
            zhujuepic.src="img/car1.png";
            
            
            
    		setInterval(function(e) {
					animate();
				}, 100);
				
    	}
    	
    	function animate() {
    		ctx.clearRect(0, 0, canvas1.width, canvas1.height);
                //----------------------------------//
    		ctx.drawImage(roadpic,0,0,canvas1.width,canvas1.height); 
    		ctx.drawImage(zhujuepic,canvas1.width/2-40/2,canvas1.height-80,40,80); 
    		
    		
    		
    	}
    </script>
</head>

<body onLoad="init();">
		<canvas id="canvas" width="300" height="540">
	
		</canvas>
	</body>
</html>

 下一话,咱们将讲解如何让东西动起来

 

开发html5 2d 赛车游戏以及打包发布为手机APP 第二话 让单调的背景动起来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值