c/c++开发分享Unity实现简单场景分层移动实例为大家分享了unity实现简单场景分层移动的具体代码,供大家参考,具体内容如下
前言
开发游戏经常需要用到把前景、场景、背景等不同层级的物体进行不同速度的移动以实现真实感。
效果
云、建筑、地面、前景植被各层次场景分层移动。
代码
using unityengine; public class distantview : monobehaviour { public gameobject follow; public float scaleoffset; public bool ishorizontal = true; public bool isvertical = true; vector2 pos; vector2 followpos; float offsetx; float offsety; private void start() { if (follow != null) followpos = follow.transform.localposition; } void lateupdate() { if (follow!=null) { pos = transform.localposition; if (ishorizontal) { offsetx = (follow.transform.localposition.x - followpos.x) * scaleoffset; pos.x += offsetx; } if (isvertical) { pos.y += offsety; offsety = (follow.transform.localposition.y - followpos.y) * scaleoffset; } transform.localposition = pos; followpos = follow.transform.localposition; } } }
用法
将不同层级的物体放入不同的父物体下分别管理。
给每个父物体挂上脚本。
follow为跟随的基准对象。(比如玩家,相机等)
scaleoffset为移动速率,1为和目标移速一致,越小越慢,越大越快。0为不移动,负值为反向移动。(前景可能要用到负值)
hor和ver为跟随哪个轴。
以上就是c/c++开发分享Unity实现简单场景分层移动的全部内容,希望对大家的学习有所帮助,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。
需要了解更多c/c++开发分享Unity实现简单场景分层移动,都可以关注C/C++技术分享栏目—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/791021.html