所有分类
  • 所有分类
  • 后端开发
HTML5游戏开发秘籍:自制愤怒的小鸟绝妙教程

HTML5游戏开发秘籍:自制愤怒的小鸟绝妙教程

愤怒的小鸟是一款人气火爆的益智游戏,现在我试着用lufylegend库件和box2dweb物理引擎来看看在html5中如何制作此类经典的物理游戏。玩过愤怒的小鸟的朋友们都知道,游戏开始时,小鸟跳上弹弓的时候有一个旋转动作,我现在通过lufy

手机游戏真是好玩到不行,每次都让人爱不惜手,就像是那款疯狂的火爆鸟儿,完全停不下来。告诉你个好消息,只要利用HTML5平台上的lua legend库和box2d web物理引擎,你就能自己动手做一款超级棒的甚至可以与《愤怒的小鸟》相媲美的游戏。现在马上行动起来,我来详细教你如何制作!

准备工作一

首先,照惯例,先删掉那个叫LuffyLegends的1.4.1库,没它玩儿不成这个物理游戏。别忘,接着装个Box2dWeb物理引擎,那可是咱们项目里的宝贝!

想要熟练运用luvylegend库?以前的攻略和教程说的清清楚楚的,再加上API说明,你肯定能搞定!只要学会基础操作,做项目就变得简单多!

function Bird(){
	base(this,LSprite,[]);
	var self = this;
	var bitmap = new LBitmap(new LBitmapData(imglist["bird1"]));
	self.addChild(bitmap);
}

准备工作二

backLayer = new LSprite();	
addChild(backLayer);
bird = new Bird();
bird.rotate = 0;
bird.x = 200;
bird.y = 430;
bird.yspeed = -5;
backLayer.addChild(bird);

作者忘了把Box2dWeb加入代码里了,得自己给lufylegend-1.4.1打个补丁才能玩这个物理小游戏。快点去下那个插件文件,下次更新就能用上整合好的1.5版本!别急着动手,先搞清楚步骤再开始~

LTweenLite.to(bird,1,
	{ 
		x:100,
		yspeed:5,
		delay:1,
		rotate:-360,
		onUpdate:function(){
			bird.y += bird.yspeed;
		},
		onComplete:function(){
			start();
		},
		ease:Sine.easeIn
	}
);

做好了上述准备工作后,现在让我们跟随作者一步步地进行尝试。

一、旋转飞起的小鸟

HTML5游戏开发秘籍:自制愤怒的小鸟绝妙教程

咱们动手造只小鸟模型呗~你要是有啥不明白的地方,就都直接看我给你写的这部分代码就行了。听过那款《愤怒的小鸟》吗?还记不记得小鸟起飞的时候,弹弓摇摇晃晃的样子?其实那个效果是用Lutyen Lite这款缓动类实现的!

快来学学LTweenLite,随心所欲控制小鸡的各种属性,想飞多快就飞多快,不过别忘记在onUpdate里设置适当的移动命令

	bitmap = new LBitmap(new LBitmapData(imglist["slingshot1"]));
	bitmap.x = 215;
	bitmap.y = 290;
	backLayer.addChild(bitmap);
	
	bird = new LSprite();
	bird.name = "bird01";
	backLayer.addChild(bird);
	bitmap = new LBitmap(new LBitmapData(imglist["bird1"]));
	bird.addChild(bitmap);
	
	bitmap = new LBitmap(new LBitmapData(imglist["slingshot2"]));
	bitmap.x = 190;
	bitmap.y = 290;
	backLayer.addChild(bitmap);

二、弹出的小鸟

HTML5游戏开发秘籍:自制愤怒的小鸟绝妙教程

下面,我们给小鸟旁边添个弹弓玩儿呗!然后,这几行代码就能把弹弓变成俩部分了,这样你想让小鸟往哪飞就拖到哪儿。

记着小鸟在哪儿等,然后轻点左键,那就是你的弹弓的起点了。小心地挪动一下鼠标,使瞄准器对准那儿。然后,稳住心神,轻轻拉动弹弓,记住,小鸟可不能溜走!位置和方向都别弄错~

backLayer.addEventListener(LMouseEvent.MOUSE_DOWN,downStart);
startX = bird.x + bird.getWidth()*0.5;
startY = bird.y + bird.getHeight()*0.5;

最后,用box2dweb给咱们的小鸡加了点好玩的功能~只要你的鼠标往上一提,小鸡会嗖的一下挺直身子,是不是超有趣?轻轻一推的话,小鸡就直接展翅飞往蓝天!这么一来,你可以随心所欲地移动小鸡,而且还能随时随地让它飞起来,真是太棒了!

下面是关键部分,要深入了解就看看代码哈。下回咱们说说如何做出很棒的碰撞效果,以及怎样让镜头跟随小鸟飞翔得更灵活起来。别忘了一直关注我们

function downStart(event){
	if(event.offsetX > bird.x && event.offsetX  bird.y && event.offsetY < bird.y + bird.getHeight()){
		backLayer.removeEventListener(LMouseEvent.MOUSE_DOWN,downStart);
		backLayer.addEventListener(LMouseEvent.MOUSE_MOVE,downMove);
		backLayer.addEventListener(LMouseEvent.MOUSE_UP,downOver);
	}
}

原文链接:https://www.icz.com/technicalinformation/web/2024/04/15042.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?