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 AcE_fLoOdEr · Nov 02, 2014 at 09:29 PM · c#

My player magically disappears after level restart.

I have a flappy bird type game, it works all fine. But when my player dies and the level restarts, the player is not on the screen anymore.

code:

 using UnityEngine;
 using System.Collections;
 
 public class Player : MonoBehaviour {
 
     // force to add
     public Vector2 Force = new Vector2(0,300);
     
     // Update is called once per frame
     void Update () 
     {
         // if the player hits the space key
         if(Input.GetKeyUp (KeyCode.Space))
         {
             // set velocity to zero
             rigidbody2D.velocity = Vector2.zero;
             // add force
             rigidbody2D.AddForce (Force);
         }
 
         // get screen position
         Vector2 screenPosition = Camera.main.WorldToScreenPoint(transform.position);
 
         // if the screen position is more than screen height or less, restart level
         if (screenPosition.y > Screen.height || screenPosition.y < 0)
         {
             respawn();
         }
     }
 
     // restart level when player dies
     void OnCollisionEnter2D (Collision2D col)
     {
         respawn ();
     }
 
     void respawn()
     {
         Application.LoadLevel (Application.loadedLevel);
     }
 }

pictures

before restart

alt text

after restart

alt text

before restart.png (132.1 kB)
after restart.png (124.8 kB)
Comment
Add comment · Show 3
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
avatar image Graham-Dunnett ♦♦ · Nov 02, 2014 at 09:30 PM 0
Share

Where do you set the start position of the plane?

avatar image Kiwasi · Nov 02, 2014 at 09:36 PM 0
Share

Odd. Items with static or DontDestroyOnLoad don't reset. Any chance this is part of the problem?

avatar image Kiwasi · Nov 02, 2014 at 09:43 PM 0
Share

Anther possibility is if you are moving your player based on Time.time. You should use Time.timeSinceLevelLoad ins$$anonymous$$d.

2 Replies

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by AcE_fLoOdEr · Nov 04, 2014 at 02:24 AM

I figured it out. Apparently, my character goes behind the background on restart. So all I had to do was set it's position on the Z axis to -1 before playing the game. It works fine now, thanks for the help tho <3

Comment
Add comment · Share
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
avatar image
0

Answer by ExtremePowers · Nov 02, 2014 at 09:35 PM

You need to set the DontDestroyOnLoad(this.gameObject); Then you should just be able to set the position of the gameObject to the start position.

Comment
Add comment · Show 1 · Share
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
avatar image Kiwasi · Nov 02, 2014 at 09:42 PM 0
Share

This could work. But reloading the scene should reset everything back to its original position in the scene.

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

5 People are following this question.

avatar image avatar image avatar image avatar image avatar image

Related Questions

Multiple Cars not working 1 Answer

Player lives script help 1 Answer

Should I go with C# and Unity or C++ and Unreal/Some other engine 0 Answers

Changing Axis to Buttons 2 Answers

UDP implementation in Unity, unable to send to two different machines 0 Answers


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