第六回主要讲怎么把奖品描绘上去
在洛江等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、成都做网站 网站设计制作按需求定制开发,公司网站建设,企业网站建设,成都品牌网站建设,营销型网站建设,成都外贸网站建设,洛江网站建设费用合理。
预期达到的效果:http://www.html5china.com/html5games/mogu/index5.html
由于奖品特别多,而且是有序的,所以我们使用一个数组来装所有奖品的位置
一、需要到的全局变量
- var flowerImg = new Image();//奖品鲜花
- var leafImg = new Image();//奖品叶子
- var acornImg = new Image();//奖品橡子
鲜花图片下载:http://www.html5china.com/html5games/mogu/images/flower.png
叶子图片下载:http://www.html5china.com/html5games/mogu/images/leaf.png
橡子图片下载:http://www.html5china.com/html5games/mogu/images/acorn.png
二、初始化托全局变量
- //加载图片
- function LoadImages()
- {
- mushroomImg.src = "images/mushroom.png";//蘑菇
- backgroundForestImg.src = "images/forest1.jpg";//森林背景图
- bearEyesClosedImg.src = "images/bear_eyesclosed.png";//闭着眼睛的
- flowerImg.src = "images/flower.png";//奖品花
- acornImg.src = "images/acorn.png";//奖品橡子
- leafImg.src = "images/leaf.png";//奖品叶子
- mushroom.image = mushroomImg;
- animal.image = bearEyesClosedImg;
- }
三、定义奖品数据及实例
- //定义奖品数组Prizes和对象Prize,继承游戏对象GameObject
- var prizes = new Array();
- function Prize() {};
- Prize.prototype = new GameObject();//继承游戏对象GameObject
- Prize.prototype.row = 0;//奖品行位置
- Prize.prototype.col = 0;//奖品列位置
四、把奖品装进数组
- //创建奖品数组
- function InitPrizes()
- {
- var count=0;
- //一共3行
- for(var x=0; x<3; x++)
- {
- //一共23列
- for(var y=0; y<23; y++)
- {
- prize = new Prize();
- if(x==0)
- prize.image = flowerImg;//鲜花放在第一行
- if(x==1)
- prize.image = acornImg;//豫子刚在第2行
- if(x==2)
- prize.image = leafImg;//叶子放在第3行
- prize.row = x;
- prize.col = y;
- prize.x = 20 * prize.col + 10;//x轴位置
- prize.y = 30 * prize.row + 20;//y轴位置
- //装入奖品数组,用来描绘
- prizes[count] = prize;
- count++;
- }
- }
- }
五、从数组中取出奖品并描绘
- //绘制奖品,把奖品显示在画布上
- function DrawPrizes()
- {
- for(var x=0; x
- {
- currentPrize = prizes[x];
- ctx.drawImage(currentPrize.image, prizes[x].x, prizes[x].y);
- }
- }
六、在游戏循环GameLoop()中加入描绘奖品的函数,如下
- function GameLoop()
- {
- //清除屏幕
- ctx.clearRect(0, 0, screenWidth, screenHeight);
- ctx.save();
- //绘制背景
- ctx.drawImage(backgroundForestImg, 0, 0);
- //绘制蘑菇
- ctx.drawImage(mushroom.image, mushroom.x, mushroom.y);
- //绘制奖品
- DrawPrizes();
- //绘制熊
- //改变移动动物X和Y位置
- animal.x += horizontalSpeed;
- animal.y += verticalSpeed;
- //改变翻滚角度
- animal.angle += bearAngle;
- //以当前熊的中心位置为基准
- ctx.translate(animal.x + (animal.image.width/2), animal.y + (animal.image.height/2));
- //根据当前熊的角度轮换
- ctx.rotate(animal.angle * Math.PI/180);
- //描绘熊
- ctx.drawImage(animal.image, - (animal.image.width/2), - (animal.image.height/2));
- ctx.restore();
- //检测是否碰到边界
- HasAnimalHitEdge();
- //检测熊碰撞蘑菇
- HasAnimalHitMushroom();
- }
#p#
到此第六回的完整代码如下:
蘑菇动起来-html5中文网
第六回就讲到这了,第七回讲描绘熊碰到奖品,奖品消失的事件
网页题目:蘑菇与熊游戏开发第六回(绘制奖品)
转载来于:http://www.shufengxianlan.com/qtweb/news18/275568.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联