Unity3D实现飞机大战游戏(1)

本文为大家分享了Unity3D飞机大战游戏第一部分的实现代码,供大家参考,具体内容如下

实现背景轮播

1、首先找两个背景图片,让两张图片竖直摆放且没有间隔

2、两个图片的下降的播放速度应当同步

public float moveSpeed = 3f;//指的是在unity里的移动速度
  // Update is called once per frame
  void Update()
  {
    this.transform.Translate(Vector3.down * moveSpeed *Time.deltaTime);
    Vector3 vector3 = this.transform.position;
    //表示背景已经出了游戏相机的边框
    if (vector3.y <= -8.52f)
    {
      //将其移到上面的游戏背景区,如果是-vector3.y会导致两张图片之间有空隙无法达到轮播的效果
      this.transform.position = new Vector3(vector3.x, vector3.y+8.52f*2, vector3.z);
    }

出现的问题:

当图片的位置变成-8.52以下时,更改位置使用到的是
this.transform.position = new Vector3(vector3.x, -vector3.y, vector3.z);
导致当背景图进行播放的时候会产生间隙。因为vector3的值小于-8.52时使用绝对值时图片的高会比加法大,导致有间隙。

实现角色的动画

1.假设该动画是由多张图片构成的,那么可更改SpriteRender组件的Sprite属性以实现动画的效果。

2.在初始化中得到组件,在update中修改Sprite属性

//判断动画是否继续,因为如果暂停了游戏,就可以不进行动画
public bool animation = true;
//每秒播放几帧
public int frameCountPreSeconds = 10;
 //计时器
  public float timer = 0;
  //播放帧的数组
  public Sprite[] sprites;
  private SpriteRenderer SpriteRenderer;
  // Start is called before the first frame update
  void Start()
  {
    SpriteRenderer = this.GetComponent<SpriteRenderer>();
  }

  // Update is called once per frame
  void Update()
  {
    if (animation) {
      timer += Time.deltaTime;
      //1f/frameCountPreSeconds 每一帧的时间间隔
      int frameIndex =(int) (timer /(1f/ frameCountPreSeconds));
      //当前应当播放的是哪一帧
      int frame = frameIndex % 2;
      //首先先获取组件SpriteRenderer,再获取组件里的sprite
      SpriteRenderer.sprite=sprites[frame];
    }
  }

更多有趣的经典小游戏实现专题,分享给大家:

C++经典小游戏汇总

python经典小游戏汇总

python俄罗斯方块游戏集合

JavaScript经典游戏 玩不停

javascript经典小游戏汇总

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Unity3D实现飞机大战游戏(2)

    本文为大家分享了Unity3D飞机大战游戏第一部分的实现代码,供大家参考,具体内容如下 让飞机可以发射子弹 准备工作: 1.将子弹设置成预制体 2.在飞机下新建一个子物体Gun 3.调整好位置以后,将子弹设置成预制体 //发射子弹的速率 public float rate = 0.2f; public GameObject bullet;//子弹的类型 //发射子弹的方法 public void fire() { //初始化一个子弹预制体 GameObject.Instantiate(bulle

  • Unity3D实现飞机大战游戏(1)

    本文为大家分享了Unity3D飞机大战游戏第一部分的实现代码,供大家参考,具体内容如下 实现背景轮播 1.首先找两个背景图片,让两张图片竖直摆放且没有间隔 2.两个图片的下降的播放速度应当同步 public float moveSpeed = 3f;//指的是在unity里的移动速度 // Update is called once per frame void Update() { this.transform.Translate(Vector3.down * moveSpeed *Time.

  • python实现飞机大战游戏

    飞机大战(Python)代码分为两个python文件,工具类和主类,需要安装pygame模块,能完美运行(网上好多不完整的,调试得心累.实现出来,成就感还是满满的),如图所示: 完整代码如下: 1.工具类plane_sprites.py import random import pygame # 屏幕大小的常量 SCREEN_RECT = pygame.Rect(0, 0, 480, 700) # 刷新的帧率 FRAME_PER_SEC = 60 # 创建敌机的定时器常量 CREATE_ENEM

  • 500行代码使用python写个微信小游戏飞机大战游戏

    这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手. 帮助蹲厕族.YP族.饭圈女孩在无聊之余可以有一样东西让他们振作起来!让他们的左手 / 右手有节奏有韵律的朝着同一个方向来回移动起来! 这是史诗级的发明,是浓墨重彩的一笔,是-- 在一阵抽搐后,我结束了游戏,瞬时觉得一切都索然无味,正在我进入贤者模式时,突然想到,如果我可以让更多人已不同的方式体会到这种美轮美奂的感觉岂不美哉? 所以我打开电脑,创建了一个 plan_game.py-- 先

  • python实现飞机大战游戏(pygame版)

    简介 使用python实现pygame版的飞机大战游戏: 环境:Windows系统+python3.8.0 游戏规则: 1.点击"PLAY"或者按键"P"开始游戏: 2.敌机根据设置频率从顶部随机位置生成,生成后向下移动: 3.飞船在底部中间生成,玩家使用上下左右键控制飞船移动,敲击空格键发射子弹: 4.子弹打到敌机,该敌机产生爆炸效果并累计分数到右上角: 5.消灭10只飞机后,等级升高,敌机生成频率变快,下落速度也变快: 6.当三条命都消失了,游戏结束. 游戏运行

  • Python3实现飞机大战游戏

    本文实例为大家分享了Python3实现飞机大战游戏的具体代码,供大家参考,具体内容如下 1.主程序:plane_main.py import pygame from plane_sprites import * class PlaneGame(object): #飞机大战主游戏类 def __init__(self): print("游戏初始化") #1.创建游戏的窗口 self.screen = pygame.display.set_mode(SCREEN_RECT.size) #2

  • js实现飞机大战游戏

    本文实例为大家分享了js实现飞机大战游戏的具体代码,供大家参考,具体内容如下 CSS部分的代码: <style> * { margin: 0px; padding: 0px; } canvas{ border: 1px solid #000; display: block; margin: auto; } </style> JavaScript代码: <!-- 先创建一个画布 --> <canvas id="canvas" width=&quo

  • C语言之飞机大战游戏

    本文实例为大家分享了C语言之飞机大战游戏的具体代码,供大家参考,具体内容如下 技术原型 1.void gotoxy(int x, int y) 函数,该函数可以使光标去到(x,y)的位置进行打印: 2.链表,用于存储状态: 3.windows.h中有非阻塞输入,_kbhit(): 4.随机生成数: 5.视觉暂留: 6.碰撞检测: 7.清屏函数: 8.设置边界: 技术路线 1.设置一个边界: 2.维护一个子弹的列表: 3.维护一个敌机的列表: 4.初始化飞机的位置: 5.每隔一秒钟生成一架敌机,生

  • python飞机大战游戏实例讲解

    记得刚学python那会,作过一个飞机大战小项目,这个项目非常经典,可以帮助初学者提高动手能力,今天把它分享出来. 一.项目介绍 先放几张图片 二.项目实现 1.首先安装库 pip install pygame 2.主要python代码 import pygame from pygame.locals import * import random #https://blog.csdn.net/qq_36079986/article/details/110395731 class HeroPlan

  • java实现飞机大战游戏

    java实现飞机大战 用Java写个飞机大战游戏练习一下,实现可播放游戏背景音乐和游戏的基本功能 设计 1.准备好相应的图片和背景音乐(.wav文件): 2.直接看源码: 3.还有部分功能未实现. 源码 package forGame 加载游戏图片类 package forGame; import javax.imageio.ImageIO; import javax.swing.*; import java.awt.image.BufferedImage; import java.io.Fil

随机推荐