【游戏gameplay试炼之旅】飞机大战(持续更新)

前言

最近跟着B站上一个项目做了个简单的飞机大战,把其中的一些gameplay程序做一些总结,发在这里,作为学习的记录。整个gameplay主要分为“背景滚动”、“玩家移动与射击”、“敌机的生成”、“范围式子弹”、“碰撞检测”等部分。使用Unity引擎进行学习。

背景滚动部分

如图,最终要求实现这样一个背景的滚动,达成无限地图。

实现原理

通过更改Shader中的主纹理offset偏移值实现纹理在游戏物体表面循环,从而达成视觉上的“无限循环”。

具体步骤

在unity中新建一个四方面(Quad)物体。

 

然后将一个图片(注意不能为精灵类型)作为材质添加到该物体上。

将该物体的Shader类型调整成如下。

之后即可通过代码调用主纹理的TextureOffset属性来循环该纹理。

代码示例 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[RequireComponent(typeof(BoxCollider2D))]

public class T_PlayerController : MonoBehaviour
{
    private GameObject bg;
    
    void Start()
    {
        bg = GameObject.Find("BG");
    }

  
    void Update()
    {
        bg.GetComponent<Renderer>().material.SetTextureOffset("_MainTex",new 
        Vector2(0,Time.time/5));
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值