Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by alexander_q · Mar 22, 2014 at 02:02 AM · androidresolutionbackgroundscrolling

Resolution Independent Scrolling Background

I'm doing a 2D vertical shooter and use a scrolling sprite starfield to create the illusion of flying through space. I accomplish this by placing two starfields in the scene one above the other, moving them down at speed, and when the top edge of the bottom one hits the bottom of the screen, moving it up to the top.

I don't include any way of actually detecting the bottom of the screen, and instead just plugged in values that I figured out from the scene. Like this:

 public class scriptSpriteStarfield : MonoBehaviour {
     
     public float speed = 5F;
 
     void Update () {
         float bottomPosition = -14.5F;
         float topPosition = 28f;
 
         transform.Translate(Vector3.down * speed * Time.deltaTime,Space.World);
         
         if(transform.position.y <= bottomPosition){
             transform.position = new Vector3(transform.position.x,topPosition,transform.position.z);
         }
         
     }
 }

I'm currently testing my game at different resolutions, and thus rescaling the starfield, like this:

 public class scriptResizeforAndroid : MonoBehaviour {
 
     [HideInInspector]public scriptSceneManager manager;    
 
     void Start () {
         manager = GameObject.FindGameObjectWithTag("GameController").GetComponent<scriptSceneManager>();
         #if UNITY_ANDROID
         float oldObjectWidth = transform.localScale.x;  
         float newObjectWidth = oldObjectWidth * manager.nativeHeight / manager.nativeWidth * Screen.width / Screen.height;
         Vector3 scaleMe = new Vector3(newObjectWidth,newObjectWidth,newObjectWidth);
         transform.localScale = scaleMe;
         #endif
     }
 }

This has the effect of bringing the starfields out of their perfect tile with each other. How can I ensure that they tile and scroll perfectly regardless of the resolution (besides leaving them at their original scale)?

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

20 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Stretching Background sprite 4 Answers

How do I downsize all textures for mobile version? 3 Answers

Developing on multiple resolutions 1 Answer

Background and UI scalings are wrong 1 Answer

Run game on Background on Android and/or iOS 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges