快速业务通道

Flash游戏制作:打砖块

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-14
三个难度按钮分别拖到主背景的中间位置,由上自下分别为beginner, intermediate和Addvanced。

  给beginner按钮添加AS:
  on (release) {
    speed = 8;
    balls = 5;
    play();
  }

  给intermediate按钮添加AS:
  on (release) {
    balls = 4;
    speed = 10;
    play();
  }

  给Addvanced按钮添加AS:
  on (release) {
    speed = 12;
    balls = 3;
    play();
  }

  最后主场景如图17所示:
图17   6.最后一步就需要在主场景中添加游戏控制代码了,新建一个图层命名为action,在此图层第1 帧添加as:
  
  setProperty("/paddle", _visible, true);
  setProperty("/ball", _visible, true);
  score = 0;
  stop();
  //刚开始设置小球和挡板为可见,并且设置初始得分为0,然后影片停止在第一帧,//等待玩家选择游戏难度。

  在此图层第2 帧添加as:
  startDrag("/paddle", false, 240, 420, 560, 420);
  //对挡板进行拖动
  ballx = 300;
  bally = 400;
  speedx = 8;
  speedy = -8;
  ballwidth = 16;
  paddlewidth = 80;
  brickwidth = 40;
  Level_index = 10;
  bricknumber = 0;
  Level_i = 1;
  modified = true;
  endgame = false;
  border = 250;
  //定义并初始化一系列变量,将在后面的代码中用到这些变量


  在此图层第3帧添加as:
  if (endgame) {
    gotoAndPlay(5);
  }
  //变量endgame标识游戏是否结束,如果游戏结束,则跳转到第5帧
  
  if (Number(bricknumber)<=0) {
    Level_i = Level_index-9;
    call(Level_index);
    //设置游戏等级,也就是等级文本框中的内容,将调用自定义函数level_index.
    setProperty("/brick", _visible, false);
    setProperty("/brickblue", _visible, false);
    setProperty("/brickgreen", _visible, false);
    setProperty("/brickred", _visible, false);
    //设置工作区中的方砖不可见
    ballx = 300;
    bally = 400;
    speedx = Number(speed)+Number(xspeed)-5;
    speedy = -speed-xspeed;
  }
  //设置小球位置和运动速度,ballx和bally代表小球坐标,speedx和speedy代//表小球横向和纵向的移动速度。
  ballx = Number(ballx)+Number(speedx);
  bally = Number(bally)+Number(speedy);
  //根据小球移动速度改变小球坐标
  if (Number(bally)<=Number(border)) {
    b = int(ballwidth/2);
    c1 = int((ballx-200)/40);
    r1 = int((bally-b-40)/20);
    c2 = int((ballx-b-200)/40);
    r2 = int((bally-40)/20);
    c3 = int((ballx-200)/40);
    r3 = int((Number(bally)+Number(b)-40)/20);
    c4 = int((Number(ballx)+Number(b)-200)/40);
    r4 = int((bally-40)/20);
    i = 1;
    while (Number(i)<=4) {
      r = eval ( "r" add i );
      c = eval ( "c" add i );
      IsVisible = getProperty ("brick" add r add c,_currentframe);
      if (Number(IsVisible) == 1) {
        bricknumber = bricknumber-1;
        score = Number(score)+100;
        destroy = r add c;
        tellTarget ("brick" add destroy) {
          gotoAndPlay(2);
        }
        if ((Number(i) == 2) or (Number(i) == 4)) {
          speedx = -speedx;
          ballx = Number(ballx)+Number(speedx);
          i = 5;
        } else {
  

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号