大佬教程收集整理的这篇文章主要介绍了HTML5游戏实战(3): 60行代码实现水平跑酷游戏,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
跑酷游戏无疑是目前最受欢迎的游戏类型之一,3D跑酷游戏可能比较难做一点(这个我不懂),2D跑酷却是非常容易的,只要有美术资源,做一个《天天酷跑》这类流行游戏也并非是什么难事。 这里通过一个松鼠跑酷的游戏介绍一下用Gamebuilder+CanTK开发游戏的方法,这个游戏的主场景仅用了60来行代码。
@H_696_6@ CanTK(Canvas ToolKit)是一个开源的游戏引擎和APP框架,是开发HTML5游戏和APP的利器,如果你喜欢它,请在github上给它加星,您的支持是我们努力的动力:https://github.com/drawapp8/cantk @H_696_6@ 0.先Show一下最终成果: @H_696_6@ 在线运行:http://gamebuilder.duapp.com/apprun.php?appid=ZecSmA0UGRTh9juSEmu8RjkK-951412475814586 @H_696_6@ 在线编辑:http://gamebuilder.duapp.com/gamebuilder.php?appid=ZecSmA0UGRTh9juSEmu8RjkK-951412475814586 @H_696_6@ 1,新建一个项目,删除场景里的球和地面,把手机设置成横屏 @H_696_6@ 设置场景的物理引擎参数,把Y方向的重力设置为50,像素和米之间的比例为50://初始化游戏 this.initGame = function() { for(var i = 0; i < this.children.length; i++) { var iter= this.children[i]; if(iter.name === "ui-acorn") { iter.setFrameRate(30).play("normal",100000); } } //设置松鼠的初速度,先播放jumpdown,再播放run var squirrel = this.find("ui-squirrel",truE); squirrel.nutBonus = 0; squirrel.setV(10,20); squirrel.play("jumpdown",1,function() { squirrel.play("run",1000); }); } //对话框关闭时重新开始游戏。 this.onDialogClose = function(reTinfo) { this.replay(); this.initGame(); } this.initGame();
@H_696_6@ 在松鼠的onBeginContact(碰撞)事件中:
@H_696_6@var win = this.getWindow(); var element = body.element; function onDialogClose(reTinfo) { win.onDialogClose(reTinfo);} switch(element.Name) { case "ui-acorn": {//在榛子撞到后,增加分数,并播放消失的动画,然后移除榛子。 this.nutBonus++; element.play("dispear",function() {win.removeChild(element);}); break; } case "ui-target": {//在到达目的地后,显示分数对话框。关闭对话框重新开始游戏。 var info = {levelscore:Math.round(this.x/100) * 100,nutBonus:this.nutBonus*100}; win.openWindow("win-success",onDialogClose,false,info); this.setEnable(false); break; } case "ui-Failed": {//在掉下后,显示分数对话框。关闭对话框重新开始游戏。 var info = {levelscore:Math.round(this.x/100) * 100,nutBonus:this.nutBonus*100}; win.openWindow("win-Failed",info); this.setEnable(false); break; } default: {//落地时,设置向右的速度。 this.jumpingUp = false; this.setV(8); break; } }
@H_696_6@ 在松鼠的onMoved事件中,移动场景的视图,并显示总分数。
@H_696_6@var win = this.getWindow(); win.setOffset(this.x - 200,this.y - 200); var score = win.find("ui-score"); var distance = Math.round((this.x / 100)) * 100; var @R_122_10586@lscore = distance + this.nutBonus * 100; score.setText(@R_122_10586@lscore);
@H_696_6@ 游戏中还有几个对话框,它们都很简单,做好一个后拷贝粘贴生成,然后界面做些调整就好了,为了不让文章太长。关于对话框的使用,在单独的文章中介绍吧。
@H_696_6@ 谢谢阅读,欢迎任何建议和反馈。 @H_696_6@ 参考资料: @H_696_6@ https://github.com/drawapp8/gamebuilder/wiki/%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3以上是大佬教程为你收集整理的HTML5游戏实战(3): 60行代码实现水平跑酷游戏全部内容,希望文章能够帮你解决HTML5游戏实战(3): 60行代码实现水平跑酷游戏所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。