方法一:场景创建Sprite

Transform position 为0

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

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. //这里脚本挂到了管理上
  5. public class MainManager : MonoBehaviour
  6. {
  7. Transform bg1Spr, bg2Spr;
  8. Transform[] BgSprites;
  9. public float moveSpeed = 5f;
  10. private void Awake()
  11. {
  12. bg1Spr = transform.Find("BgGround/bg1");
  13. bg2Spr = transform.Find("BgGround/bg2");
  14. }
  15. void Start()
  16. {
  17. BgSprites = new Transform[] { bg1Spr, bg2Spr };
  18. }
  19. void Update()
  20. {
  21. Vector3 translate = Vector3.down * Time.deltaTime * this.moveSpeed;
  22. for (int i = 0; i < BgSprites.Length; i++)
  23. {
  24. BgSprites[i].Translate(translate);
  25. if (BgSprites[i].position.y < -19.49f)
  26. {
  27. BgSprites[i].position += new Vector3(0, 19.49f * 2, 0);
  28. }
  29. }
  30. }
  31. }

方法二:利用shader



  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. public class GameManager : MonoBehaviour
  6. {
  7. float moveSpeed = 0.1f;
  8. Material material;
  9. private void Awake()
  10. {
  11. material = transform.Find("UIPanel/Bg/bg1").GetComponent<Image>().material;
  12. }
  13. float y;
  14. public float Y
  15. {
  16. get { return y; }
  17. set { y = value; }
  18. }
  19. void Update()
  20. {
  21. Y += Time.deltaTime * moveSpeed;
  22. //给shader里对应的字段赋值
  23. material.SetTextureOffset("_MainTex", new Vector2(0, Y));
  24. // material.mainTextureOffset = new Vector2(0, Y);
  25. }
  26. }

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. Fortran程序调试中的“吐核”错误

    在CentOS7上安装了PGI编译器,但是调试过程中遇到的“段错误(吐核)”一直让人很头疼. 通常采用在程序中增加屏幕输出代码的方式来追踪和定位出错的变量,比如下面这个样例程序就在第16行和第18行增 ...

  2. javascript 模板

    今天想记录下对arttemplate模板的使用,哎,其实这玩意的兴起主要还是得从浏览器操作dom说起.如果修改浏览器的某一个dom节点就会引起文档流的重绘,然后这个重绘的耗时相当的大,是昂贵的开销.所 ...

  3. Python爬取qq空间说说

    #coding:utf-8 #!/usr/bin/python3 from selenium import webdriver import time import re import importl ...

  4. [Leetcode 72]编辑距离 Edit Distance

    [题目] Given two words word1 and word2, find the minimum number of operations required to convert word ...

  5. LogFilter

    (一)Filter 在Java EE中,Filter是一个可以将请求和响应的头部或内容进行转换的一个对象.包括 (1)认证Filter    (2)日志和审核Filter    (3)图片转换Filt ...

  6. MobX+react使用小demo

    第一次接触mobx,网上找了很多例子,写此主要总结一下create-react-app + mobx入门 create-react-app myreact cd myreact npm install ...

  7. SQL-59 按照salary的累计和running_total,其中running_total为前两个员工的salary累计和,其他以此类推。

    题目描述 按照salary的累计和running_total,其中running_total为前两个员工的salary累计和,其他以此类推. 具体结果如下Demo展示..CREATE TABLE `s ...

  8. Day-01

    昨天学习的内容都是一些简单的入门知识 like:二进制,编程语言这些 我觉得二进制还蛮好玩的 对于ascii码 还好,我不是很陌生 因为学函数的时候,老师有讲到这些 嗯 昨天就这些 继续加油~~~

  9. Oracle查询和过滤重复数据

    对数据库某些意外情况,引起的重复数据,如何处理呢? ----------------查重复: select * from satisfaction_survey s and s.project_no ...

  10. C++的qsort函数

    void qsort(void * base,int nelem,int width,int (*fcmp)(const void*,const void *) 1.待排序数组首地址 2.数组中待排序 ...