zoukankan      html  css  js  c++  java
  • unity3D 实现2D游戏背景层交错感(视觉差)

     1 using System.Collections;
     2 using System.Collections.Generic;
     3 using UnityEngine;
     4 
     5 //图层交错效果
     6 public class InterlacingOfLayers : MonoBehaviour
     7 {
     8     public Transform Cam;                   //摄像机位置
     9     public float MoveRate;                  //移动幅度
    10     private float StartPointX, StartPointY; //开始的X点,Y点
    11     public bool LockY;                      //Y轴是否移动,需要Y轴移动不用勾,不需要就勾
    12 
    13     // Start is called before the first frame update
    14     void Start()
    15     {
    16         StartPointX = transform.position.x;
    17         StartPointY = transform.position.y;
    18     }
    19 
    20     // Update is called once per frame
    21     void Update()
    22     {
    23         //如果Y轴不移动
    24         if (LockY)
    25         {
    26             //当前挂在的对象的坐标 = 新的二维向量坐标(开始坐标 + 摄像机的x坐标 * 移动幅度 , y轴不变)
    27             transform.position = new Vector2(StartPointX + Cam.position.x * MoveRate, transform.position.y);
    28         }
    29         //移动X,Y轴
    30         else
    31         {
    32             transform.position = new Vector2(StartPointX + Cam.position.x * MoveRate, StartPointY + Cam.position.y * MoveRate);
    33         }
    34     }
    35 }
    将代码挂到需要交错的对象父级上

    记得将主摄像机和移动幅度设置好

    效果图

    时间若流水,恍惚间逝去
  • 相关阅读:
    构建Linux根文件系统(未完待续)
    Bootloader的结构和启动过程
    linux文件属性介绍
    内核中设备树的操作函数
    Redis缓存之Set使用
    cookie的三种操作方法
    毕业一年(这个总结来的比较晚)
    MongoDb 聚合报错
    Asp.Net alert 方法
    JQuery拖拽排序
  • 原文地址:https://www.cnblogs.com/alanshreck/p/14732577.html
Copyright © 2011-2022 走看看