飞机大战-2

今天主要实现:飞机打出子弹;
子弹图片:子弹

  1. 大家可以看见子弹就是一张图片,怎么实现子弹连续射出;
    1. 子弹的创建
      /**
   *
   * @param x 子弹距左边的距离;
   * @param y 子弹距顶部的距离;
   * @param sizeX 子弹大小
   * @param sizeY 子弹大小;
   * @param Imagesrc 子弹图片;
   */
  `function bullet(x,y,sizeX,sizeY,Imagesrc){
      this.x=x;
      this.y=y;
      this.sizeX=sizeX;
      this.sizeY=sizeY;
      this.Imagesrc=Imagesrc;
      this.init=function(){
          this.bulletImag=document.createElement("img");
          this.bulletImag.style.left=this.x+"px";
          this.bulletImag.style.top=this.y+"px";
          this.bulletImag.style.position="absolute";
          this.bulletImag.src=Imagesrc;
          main.appendChild(this.bulletImag);
      }
      this.init();
      //后面调用子弹上升;
      this.move=function(){
          this.bulletImag.style.top=parseInt(this.bulletImag.style.top)-20+"px";
      }
  }`

2. 先把一颗子弹定在飞机上方(并可以随着飞机移动)//后面会有改动,可以先new 个子弹,并把left/top跟飞机绑定(自己动手思考哈!)

  1. 子弹的移动,它应该是在我方飞机的上方(随着飞机移动)下面只是关键代码的提示;
    1. var bullets=[];
    2. bullets.push(new bullet(parseInt(document.defaultView.getComputedStyle(myPlane.oImg,null).left)+30,
    3. 这里涉及到循环执行函数,这样子弹才会一直发射;
      1. setInterval("moveBullet()",20);
  2. 子弹图片超过一定范围的删除,(不删除会怎么样?)
    1. 图片的删除
      1. main.removeChild(bullets[i].bulletImag);
    2. 由于图片是装在数组里面的,所以数组也要删除,不然数组一直在创建;
      1. bullets.splice(i,1);
>       `/*
>   移动子弹
>   */
>   var bulletslen=bullets.length;
>   for(var i=0;i<bulletslen;i++){
>   bullets[i].bulletmove();
>   /*
>   如果子弹超出边界,删除子弹
>   */
>   if(bullets[i].bulletimage.offsetTop<0){//offsetTop第一节有介绍
>   mainDiv.removeChild(bullets[i].bulletimage);
>   bullets.splice(i,1);
>   bulletslen--;
>   }>  
> }`

参数:arr.splice(index,howmany,element1,… …,elementN);
1、index———从该下标开始删除
2、howmany—-删除指定数量的元素
3、elements—–插入的元素

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
飞机大战游戏中,我们需要控制我方飞机的移动和攻击敌机,以下是 Python 实现飞机逻辑控制的基本步骤: 1. 导入所需模块:我们需要导入 pygame 模块和 sys 模块,其中 pygame 模块是用于游戏开发的常用模块,sys 模块是用于退出游戏的。 2. 初始化 Pygame:我们需要初始化 Pygame,包括设置窗口大小、标题等。 3. 创建我方飞机:我们需要创建我方飞机,包括设置飞机图片、初始位置等属性。可以使用 Pygame 中的 Surface 对象加载飞机图片。 4. 移动我方飞机:我们需要监听键盘事件,根据按键来控制我方飞机的移动。可以使用 Pygame 中的 Rect 对象来更新飞机位置。 5. 创建敌方飞机:我们需要创建敌方飞机,包括设置敌机图片、初始位置等属性。可以使用 Pygame 中的 Surface 对象加载敌机图片。 6. 移动敌方飞机:我们需要控制敌方飞机的移动,可以使用 Pygame 中的 Rect 对象来更新敌机位置。 7. 实现子弹功能:我们需要创建子弹对象,并控制子弹的移动和碰撞检测。可以使用 Pygame 中的 Rect 对象来更新子弹位置。 8. 实现爆炸效果:当子弹击中敌机或者我方飞机被敌机击中时,需要实现爆炸效果。可以使用 Pygame 中的 Surface 对象加载爆炸效果图片。 9. 实现分数统计和游戏结束:当敌机被击中时,需要增加分数。当我方飞机被击中时,游戏结束。可以使用 Pygame 的 font 模块来显示分数和游戏结束信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值