方法一:场景创建Sprite

Transform position 为0

复制第二张 Y 位置为 图片像素/ Pixel Per Unit100

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//这里脚本挂到了管理上
public class MainManager : MonoBehaviour
{
Transform bg1Spr, bg2Spr;
Transform[] BgSprites;
public float moveSpeed = 5f;
private void Awake()
{
bg1Spr = transform.Find("BgGround/bg1");
bg2Spr = transform.Find("BgGround/bg2");
}
void Start()
{
BgSprites = new Transform[] { bg1Spr, bg2Spr };
} void Update()
{
Vector3 translate = Vector3.down * Time.deltaTime * this.moveSpeed;
for (int i = 0; i < BgSprites.Length; i++)
{
BgSprites[i].Translate(translate);
if (BgSprites[i].position.y < -19.49f)
{
BgSprites[i].position += new Vector3(0, 19.49f * 2, 0);
}
}
}
}

方法二:利用shader



using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; public class GameManager : MonoBehaviour
{
float moveSpeed = 0.1f;
Material material;
private void Awake()
{
material = transform.Find("UIPanel/Bg/bg1").GetComponent<Image>().material;
}
float y;
public float Y
{
get { return y; }
set { y = value; }
} void Update()
{ Y += Time.deltaTime * moveSpeed;
//给shader里对应的字段赋值
material.SetTextureOffset("_MainTex", new Vector2(0, Y));
// material.mainTextureOffset = new Vector2(0, Y); }
}

http://www.ceeger.com/Script/Material/Material.SetTextureOffset.html#

参考:https://fengyu.name/article/311

unity---背景循环滚动的更多相关文章

  1. Egret学习笔记 (Egret打飞机-3.实现背景循环滚动)

    游戏背景里面的猪脚飞机看起来是一直在向前飞,但是实际上只是一个视觉差而已. 猪脚是出于不动的状态,背景从上到下滚动,然后让玩家觉得飞机在不停的往前飞.(当然这只是其中一种实现思路) 差不多就是这样,然 ...

  2. unity 3D循环滚动效果

    https://blog.csdn.net/qinyuanpei/article/details/52765356 https://blog.csdn.net/chongzi_daima/articl ...

  3. 2d背景循环

    using UnityEngine; using System.Collections; /// <summary> /// 2d背景循环滚动 /// </summary> p ...

  4. 【Visual C++】游戏编程学习笔记之六:多背景循环动画

    本系列文章由@二货梦想家张程 所写,转载请注明出处. 本文章链接:http://blog.csdn.net/terence1212/article/details/44264153 作者:ZeeCod ...

  5. unity 背景无限循环滚动效果

    背景无限循环滚动效果如下示: 步骤如下: 导入背景图片后,设置图片的格式,如下图: 2.图片格式也可以设置是Texture格式,但是Wrap Mode 一定要是Repeat[重复发生]:然后记得App ...

  6. Swift - 多层无缝循环滚动背景(SpriteKit游戏开发)

    在游戏开发中,比如跑酷游戏.我们需要实现背景的无限循环滚动,来营造运动的效果.除了单层的背景滚动,还有视差滚动. 视差滚动是指让多层背景以不同的速度移动,形成立体的效果,从而带来非常出色的视觉体验. ...

  7. cocos2d(背景图片循环滚动)

    背景图片循环滚动 使用action 实现的: 主要有两个背景图片交替循环滚动:我选的两个背景图片的宽度都是1024的 ,所以定义了#define BGIMG_WIDTH 1024 代码如下: 在Hel ...

  8. marquee 实现首尾相连循环滚动效果

    <marquee></marquee>可以实现多种滚动效果,无需js控制.使用marquee标签不仅可以滚动文字,也可以滚动图片,表格等  marquee标签不是HTML3.2 ...

  9. 图片循环滚动效果shader

    背景无限循环滚动效果,有X和Y轴的速度控制,方便控制.见下图,操作步骤同之前的背景循环设置. shader如下: Shader "Custom/Scroll" { Properti ...

  10. 前端小插件之手写js循环滚动特效

    很多前端都离不开滚动的特效,调用插件繁琐,后期更改麻烦,考虑到这些因素,自己写了一套无限循环滚动的小特效. 首先滚动特效很好写,用css就可以完成,下面写一个基础css向上循环滚动特效 html &l ...

随机推荐

  1. linux 7.2安装扩展redis

    unzip phpredis-php7.zip cd phpredis-php7 /usr/local/php7./bin/phpize ./configure --with-php-config=/ ...

  2. 本地搭建Apache Tomcat服务器

    首先说下Apache和Tomcat的区别: 相同点:1.两者都是apache组织开发的 2.两者都有HTTP服务的功能 3.两者都是免费的 不同点:Apache是web服务器,专门提供HTTP服务的, ...

  3. 数据库SQL优化大总结1之- 百万级数据库优化方案

    转载自:https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/72875054

  4. 《程序设计入门——C语言》翁恺老师 第一周编程练习记录

    1 输出“Hello World”(5分) 题目内容: 请输出一行,内容为 Hello World 请注意大小写. 由于这一周只是简单地介绍了C程序的基本框架,还不能做很多事情,甚至还不能做数据的输入 ...

  5. HTCVIVE定位器更新之后,定位器指示灯不亮,重置基站固件操作指南。

    HTCVIVE定位器更新之后,定位器指示灯不亮,固件修复指南 建议您重置基站固件,操作如下:请您使用手机来拍照运行中基站的“激光发射器”面板,并且数一下是否有17颗LED灯,如果没有17颗,则基本可以 ...

  6. jjava:将jar包引入环境变量的一个骚操作以及因此搞出来的扑街问题

    现在我有一个java文件,我只想javac启动,但是这货import了一堆jar里面的东西. 于是我下回了所有的jar包,将这些jar包丢到jdk1.8.0_162\jre\lib\ext里面就ok了 ...

  7. Oracle 11g 单实例到单实例OGG同步实施文档-OGG initial load

    Oracle 11g 单实例到单实例OGG同步实施文档-OGG initial load 2018-06-07 00:514730原创GoldenGate 作者: leo 本文链接:https://w ...

  8. shell 下生成使用UUID

    #!/bin/bash psd="/proc/sys/kernel/random/uuid" echo $(cat $psd)UUID=$(cat /proc/sys/kernel ...

  9. tensorflow 经典教程及案例

    导语:本文是TensorFlow实现流行机器学习算法的教程汇集,目标是让读者可以轻松通过清晰简明的案例深入了解 TensorFlow.这些案例适合那些想要实现一些 TensorFlow 案例的初学者. ...

  10. Altium designer 新建快捷键

    示例: 1.按下Ctrl: 2.点击需要建立快捷键的图标:点击交互式布线图标,然后在选择性输入要用到的快捷键: