unity 2D 中如何用C#语言 实现背景的循环移动? 100
unity2D中如何用C#语言实现背景的循环移动?假如就一张图,如果可以帮忙写下代码最好复制粘贴就能用的具体数值里面我再修改测试下...
unity 2D 中如何用C#语言 实现背景的循环移动?
假如就一张图,如果可以帮忙写下代码
最好复制粘贴就能用的
具体数值里面我再修改测试下 展开
假如就一张图,如果可以帮忙写下代码
最好复制粘贴就能用的
具体数值里面我再修改测试下 展开
2个回答
展开全部
比如说移动12像素看起来就跟最初没移动一样,那么 int x = 0; 在update的时候if(x <= -12) x = 0; else x -= 1; //当然你可以通过减去的值来设置速度 x计算出来了,y不变,然后再draw,
更多追问追答
追问
- -
我知道,只是具体不知道怎么写
用java 的代码 我知道怎么写
过程思路我清楚
就是不会写代码
能不能具体点把C#的代码 写下
谢了
追答
不会写还是算了,授人以鱼不如授人以渔,我不想害你,自己研究吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Unity中自带了循环函数:
using UnityEngine;
using System.Collections;
public class BackImage : MonoBehaviour
{
public float a = 3.0f;
// Update is called once per frame
void Update ()
{
float MovePos = Mathf.Repeat ( a * Time.time, transform.localScale.x);
transform.position = Vector3.right * MovePos;
}
}
如果没有自带的版本可以采用强制限定的方法。
即 void Update ()
{
transform.Translate(Vector3.right * Time.deltaTime * a);
if(transform.position.x <= -localScale.x)
{
transform.position=new Vector3(
localScale.x,
transform.position.y,
transform.position.z);
}
}
using UnityEngine;
using System.Collections;
public class BackImage : MonoBehaviour
{
public float a = 3.0f;
// Update is called once per frame
void Update ()
{
float MovePos = Mathf.Repeat ( a * Time.time, transform.localScale.x);
transform.position = Vector3.right * MovePos;
}
}
如果没有自带的版本可以采用强制限定的方法。
即 void Update ()
{
transform.Translate(Vector3.right * Time.deltaTime * a);
if(transform.position.x <= -localScale.x)
{
transform.position=new Vector3(
localScale.x,
transform.position.y,
transform.position.z);
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询