一个撞砖块的小游戏及源码
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-11
cball, pole) { if (mcball._x>pole._x-pole._width/2-7 && mcball._xpole._y-pole._height/2-mcball.r-1 && mcball._yif (mcball._xreturn 1; } else if (mcball._xreturn 2; } else { return 3; } } else if (mcball._y>pole._y-pole._height/2-mcball.r+2.9) { return 0; } }3自动给方块填色和程序: 先用一个数组,存放一些比较自己觉得比较好看的颜色值: _global.a = new Array(); a[0] = 0xFF0000; a[1] = 0x00FF00; a[2] = 0x0000FF; a[3] = 0x6699FF; a[4] = 0xFF99FF; a[5] = 0xCCCCFF; a[6] = 0xFF3333; a[7] = 0x996600; a[8] = 0x669900; a[9] = 0x663399; a[10] = 0x00FFFF; 再做一个填色函数就行了: function DrawColor() { for (var i = 0; i<3; i++) { for (var j = 0; j<6; j++) { eval("brack"+i+"_"+j).rectangle.setRGB(a[random(10)]); } } }4做一个游戏,稍微复杂点的时候,要想好整个游戏的流程,开始,成功及失败时调用哪几个函数,、,还要加上相关的全局变量来控整个游戏,如我这里的Playing,Starts和Failure等. 还有,程序应该是在纸上先写好的,至少是伪代码吧。 对一些比较重要的函数,要进行单个的调试,却保这些小的模块无误后,才开始写主程序。 最后经历的是调试---改进---调试的反复改进的过程。 下面是源码: _root.onLoad = function() { _global.a = new Array(); a[0] = 0xFF0000; a[1] = 0x00FF00; a[2] = 0x0000FF; a[3] = 0x6699FF; a[4] = 0xFF99FF; a[5] = 0xCCCCFF; a[6] = 0xFF3333; a[7] = 0x996600; a[8] = 0x669900; a[9] = 0x663399; a[10] = 0x00FFFF; brack._visible = false; Again._visible = false; Scence_Border_right=222; Scence_Border_height=299; Initialize1(); }; function Initialize1() {//初始化场景中的函数 Start_Ball(ball); Start_Bracks(); //Global Variable Number_Brack = 18; Starts = false; Playing = false; Failure = false; ball.vx(0); ball.vy(0); ball.r(4); speed = 6; b._x=Scence_Border_right/2; Starting._x=115; Starting._y=115; Again._x=115; Again._y=150; } function Start_Ball(mc) {//初始化小球的速度及位置 mc._x = 50+random(100); mc._y = 120+random(30); mc.vx = ramdom(3)+5; mc.vy = ramdom(3)+5; } function Copy() {//复制砖块的函数 var n = 0; for (var i = 0; i<3; i++) { for (var j = 0; j<6; j++) { brack.duplicateMovieClip("brack"+i+"_"+j, n+50); n++; } } } function DrawColor() {//着色函数,后来我否决了这个函数,原因是可以写在代码里 for (var i = 0; i<3; i++) { for (var j = 0; j<6; j++) { eval("brack"+i+"_"+j).rectangle.setRGB(a[random(10)]); } } } function Start_Bracks() {//初始化砖块的位置及颜色。 Copy(); for (var i = 0; i<3; i++) { var h = brack._height-2; //Wether this effect to be done will be considered.为了视觉的需要,微调是必要的。 for (var j = 0; j<6; j++) { eval("brack"+i+"_"+j)._x = brack._width*j+brack._width/2; eval("brack"+i+"_"+j)._y = h*i+h/2; eval("brack"+i+"_"+j).rectangle.setRGB(a[random(10)]); //trace(barck._height*i+brack._height/2);BUG } } // DrawColor(); } function BorderCollisionDetect(mc) {//小球的碰边检测 if (mc.getBounds(_root).xMin<1) { // 特别关注这个误差的调整及返回的值,对应的MC._X倒底是多少... mc._x = 1+mc._width/2; mc.vx *= -1; } if (mc.getBounds(_root).xMax>Scence_Border_right) {//Scence_Border_right注意这种常量的写法是很有益的,在别的场景中,用同样的一个函数,只要改一个变量值就行了。 mc._x =Scence_Border_right-mc._width/2; mc.vx *= -1; } if (mc.getBounds(_root).yMin<1) { mc._y = 1+mc._height/2; mc.vy *= -1; } if (mc.getBounds(_root).yMax>Scence_Border_height) { mc._y =Scence_Border_ |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: Timeline窗口Switch讲解下一篇: 简单的跳动文字效果的制作
关于一个撞砖块的小游戏及源码的所有评论