Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 EinsteinsBrother · Mar 07, 2017 at 04:24 PM · 2d3dendless runnerstudent

Converting 3D Code into 2D Code (vertical endless runner)

Hi guys, I am trying to program a endless vertical runner for school. I got a code working in 3D, one Script attached to a limiter which is not in sight of the camera, and one attached to the player. As I need the game to be 2D I tried transferring it from 3D to 2D. I set everything up and as far as I concerned it should work as well, but somehow it doesn't. It would be great, if u can tell me what to change. It would be awesome, if you could help me. Thanks in advance.

Script attached to the "limiter":

 using System.Collections;
 using UnityEngine.UI;
 
 using System.Collections.Generic;
 using UnityEngine.SceneManagement;
 
 using UnityEngine;
 
 public class EndlessRun : MonoBehaviour {
     public bool isGameOver;
     public List<GameObject> bgList;
     public List<Transform> currentManagedBGList;
     public GameObject lastSpawnedBG;
     public GameObject restartDialog;
     public Vector3 pace;
     public float timess;
     public Vector3 a;
     public float pacea;
     public Text countText;
     public int maxpoints;
     public float time;
     void Start () {
         isGameOver = false;
         restartDialog.SetActive (false);
 
     }
 
     void Update (){        a = Time.deltaTime * Time.timeSinceLevelLoad * Vector3.down * pacea;
         pace = Vector3.down * timess + a;
         if (!isGameOver){
             SetCountText ();
             foreach (Transform t in currentManagedBGList) {
                 t.transform.Translate (pace);
             }
             }
         else {
             restartDialog.SetActive (true);
 
         }
         ;
 
     }
     public void RestartGame() 
     {
         Application.LoadLevel (Application.loadedLevelName);
 
     }
 
 
     private void OnTriggerExit(Collider other)
     {
         if(other.tag.Equals("BG"))
         {
             currentManagedBGList.Remove(other.transform);
             Destroy(other.gameObject);

         Vector3 spawnPos = lastSpawnedBG.transform.position;
         spawnPos.y += lastSpawnedBG.GetComponent<Collider>().bounds.size.y/2;


         lastSpawnedBG = (GameObject) Instantiate(bgList[Random.Range(0, bgList.Count)], spawnPos,Quaternion.identity);
         spawnPos.y += lastSpawnedBG.GetComponent<Collider>().bounds.size.y / 2;
         lastSpawnedBG.transform.position = spawnPos;

         currentManagedBGList.Add(lastSpawnedBG.transform);


     }
 }
 void SetCountText()
 {
     time =  (int) (Time.timeSinceLevelLoad * 10);
     countText.text = time.ToString();

 }
 }

Script attached to the Player

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class ERPlayer : MonoBehaviour {
 
     public EndlessRun er;
     public float minSwipeDistY;
 
     public float minSwipeDistX;
 
     private Vector2 startPos;
 
     void Start () {
         Screen.orientation = ScreenOrientation.Portrait;
     }
     
     void Update () {
         if (Input.touchCount > 0)
 
         {
 
             Touch touch = Input.touches[0];
 
 
 
             switch (touch.phase)
 
             {
 
             case TouchPhase.Began:
 
                 startPos = touch.position;
 
                 break;
 
 
 
             case TouchPhase.Ended:
 
                 float swipeDistVertical = (new Vector3(0, touch.position.y, 0) - new Vector3(0, startPos.y, 0)).magnitude;
 
                 if (swipeDistVertical > minSwipeDistY)
 
                 {
 
                     float swipeValue = Mathf.Sign(touch.position.y - startPos.y);
 
                     if (swipeValue > 0)
                     { }
 
                     else if (swipeValue < 0)
                     { }
 
                 }
 
                 float swipeDistHorizontal = (new Vector3(touch.position.x, 0, 0) - new Vector3(startPos.x, 0, 0)).magnitude;
 
                 if (swipeDistHorizontal > minSwipeDistX)
 
                 {
 
                     float swipeValue = Mathf.Sign(touch.position.x - startPos.x);
 
                     if (swipeValue > 0)//right swipe
                         //if (transform.position.x != 2)
                         transform.Translate(2, 0, 0);
 
 
                     else if (swipeValue < 0)//left swipe
                         //if (transform.position.x != -2)
                         transform.Translate(-2, 0, 0);
 
                 }
                 break;
             }
         }
     }
     
 
     
     private void OnTriggerEnter(Collider other)
     {
         if (other.tag.Equals("Obstacles"))
             er.isGameOver = true;
             er.maxpoints += (int) er.time;
     }
 }


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

3 People are following this question.

avatar image avatar image avatar image

Related Questions

UDP app signature? 1 Answer

2D and 3D lights in a scene. URP,2D and 3D lights in scene URP 1 Answer

2D Battle System In a 3D Game 3 Answers

Unity to make a Toolset? 3 Answers

2d or 3d for better perform on mobile devices? 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