jmk Napisano Marzec 7, 2016 Zgłoś Share Napisano Marzec 7, 2016 (edytowany) Ja mam inne pytanie jak określić obszar poziomu? Nawet jak ustalam obszar kamery (taka szara ramka) i tło podłożę troche dalej to i tak w grze po dojściu do krawędzi mam niebieski obszar, gdzie można wypaść. Rozwiązanie to ułożenie belek dookoła, ale nie wiem czy najlepsze...Skończyłem drugą część i w sumie działa tylko czasem moja postać lubi wystrzelić do góry . Edytowano Marzec 7, 2016 przez jmk Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
gu2ma Napisano Marzec 7, 2016 Autor Zgłoś Share Napisano Marzec 7, 2016 @ThePolishAssasin - tłem może być każdy obraz o odpowiednio dużej rozdzielczości w stosunku do wielkości Twojej planszy. Na początek najlepiej stworzyć coś prostego. jak można zauważyć jest to samo tło tylko odwrócone i połączone w całość przy pomocy strzałek klawiatury@ Rasowy utwórz nową pracę i spróbuj zrobić to na czysto wtedy okaże się czy wszystko masz pobrane@ jmk - cytuję - "Ja mam inne pytanie jak określić obszar poziomu?" Obecnie musisz stworzyć dość duże tło. Zapraszam do obejrzenia mojego materiału. >>> <<< Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
nortalf Napisano Marzec 7, 2016 Zgłoś Share Napisano Marzec 7, 2016 Mój niebieski kulek skacze odbijając się od powietrza, mimo, że przepisałem kod z ramki. Kod wygląda tak:using UnityEngine;using System.Collections;public class PlayerMovement : MonoBehaviour {private Rigidbody2D m_Rigidbody;private bool m_Grounded = false;public float m_Speed=10;public float m_JumpForce=35;public GameObject m_Target;// Use this for initializationvoid Start () {m_Rigidbody = GetComponent<Rigidbody2D>()as Rigidbody2D;}// Update is called once per framevoid Update () {}void OnTriggerEnter2D(Collider2D other){m_Grounded = true;}void OntriggerExit2D(Collider2D other){m_Grounded = false;}void FixedUpdate(){if(Input.GetButton("Horizontal")){m_Rigidbody.velocity=new Vector2(Input.GetAxis ("Horizontal")*m_Speed, m_Rigidbody.velocity.y);}if(Input.GetButton("Jump")&& m_Grounded==true){m_Rigidbody.AddForce(new Vector2(0,Input.GetAxis("Jump")*m_JumpForce)); }}}}// Update is called once per framevoid Update (){}void OnTriggerEnter2D(Collider2D other){ m_Grouded = true;}void OntriggerExit2D(Collider2D other){ m_Grouded = false;}void FixedUpdate(){ if(Input.GetButton("Horizontal")) { m_Rigidbody.velocity=new Vector2(Input.GetAxis ("Horizontal")*m_Speed, m_Rigidbody.velocity.y); } if(Input.GetButton("Jump")&& m_Grouded==true) { m_Rigidbody.AddForce(new Vector2(0,Input.GetAxis("Jump")*m_JumpForce)); }}}Jak widać próbowałem w warunku dać Grounded==true ale to nic nie dało.Tak wyglądają hitboxy(te ramki do wykrywania kolizji) i parametry.Ten boxColider od skakania nachodzi na kulka, i myślałem, że może, choć nie powinno, ale może klasyfikuje jego samego jako obiekt od którego się odbija, więc zmieniłem go tak, żeby się nawet nie stykały, ale to nic nie dało. O co chodzi? Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
kusi Napisano Marzec 7, 2016 Zgłoś Share Napisano Marzec 7, 2016 Spróbuj zmienić OntriggerExit2D na OnTriggerExit2D (wielkie T zamiast małego). Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
nortalf Napisano Marzec 8, 2016 Zgłoś Share Napisano Marzec 8, 2016 Działa, dzięki. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
ThePolishAssasin Napisano Marzec 8, 2016 Zgłoś Share Napisano Marzec 8, 2016 Nie mogę strzelać i pisze mi ten błąd.Pomocy plisssssssssArgumentException: Input Button Reolad is not setup. To change the input settings use: Edit -> Project Settings -> InputWeapon.Update () (at Assets/Skrypty/Weapon.cs:19) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
nortalf Napisano Marzec 8, 2016 Zgłoś Share Napisano Marzec 8, 2016 Wrzuć kod skryptu. 1 Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
anok98 Napisano Marzec 9, 2016 Zgłoś Share Napisano Marzec 9, 2016 (edytowany) Mam problem dotyczący Visual Studio. Otóż dzisiaj wyskoczyło mi w nim powiadomienie, że moja licencja trial dzisiaj wygasa. Jaki trial?! To nie miała być czasem w pełni darmowa wersja? W razie czego, jest jakiś sposób, aby pozbyć się wszystkich śmieci które zostawia ze sobą Visual Studio, w razie gdybym chciał go przeinstalować/odinstalować? I tak, na pewno mam zainstalowaną wersję Community.Problem nr 2: zacząłem kurs od początku i nadal nie mogę zmusić swojego knypka do skoku. Oto mój kod:using UnityEngine;using System.Collections;public class PlayerMovement : MonoBehaviour { private Rigidbody2D m_Rigidbody; public float m_Speed = 10; public float m_JumpForce = 100; // Use this for initialization void Start () { m_Rigidbody = GetComponent<Rigidbody2D>(); } // Update is called once per frame void Update () { } void FixedUpdate () { if(Input.GetButton("Horizontal")) { m_Rigidbody.velocity = new Vector2(Input.GetAxis("Horizontal") * m_Speed, m_Rigidbody.velocity.y); } if(Input.GetButton("Jump")) { m_Rigidbody.AddForce(new Vector2(0, Input.GetAxis("Jump") * m_JumpForce)); } }}Próbowałem wcześniej wymienionych sposobów, jednakże sprawiają one że moja postać przenika przez platformę. Mam nadzieję, że pomożecie, bo mimo mojego zapału do programowania już mi się odechciewa szukania tej jednej rzeczy, która nie działa... Edytowano Marzec 9, 2016 przez anok98 Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
nortalf Napisano Marzec 9, 2016 Zgłoś Share Napisano Marzec 9, 2016 (edytowany) Skopiowałem twój kod do mnie i skompilowałem. Działa, kulek skacze w kosmos. Sprawdź klawisze sterowania, zwiększ wysokość skoku.Ja mam problem również. Tym razem z game controlerem.using UnityEngine.SceneManagement; <<Nazwa typu lub obszaru nazw SceneMenagment nie istnieje w obszarze naw Unity (czy nie brakuje odwołania do zestawu?)>>Właśnie taki komunikat otrzymuję. Edytowano Marzec 9, 2016 przez nortalf Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
gu2ma Napisano Marzec 16, 2016 Autor Zgłoś Share Napisano Marzec 16, 2016 Użytkowniku @anok98 wyraze o kolorze czerwonym prosze dopisać do swojego skryptu. using UnityEngine;using System.Collections;public class PlayerMovement : MonoBehaviour {private Rigidbody2D m_Rigidbody;private bool m_Grounded = false;public float m_Speed = 10;public float m_JumpForce = 100;// Use this for initializationvoid Start () {m_Rigidbody = GetComponent<Rigidbody2D>() as Rigidbody2D;}// Update is called once per framevoid Update () {}void OnTriggerEnter2D(Collider2D other) { m_Grounded = true; } void OnTriggerExit2D(Collider2D other) { m_Grounded = false; }void FixedUpdate (){if(Input.GetButton("Horizontal")){m_Rigidbody.velocity = new Vector2(Input.GetAxis("Horizontal") * m_Speed, m_Rigidbody.velocity.y);}if(Input.GetButton("Jump"))usuń ten nawias && m_Grounded){m_Rigidbody.AddForce(new Vector2(0, Input.GetAxis("Jump") * m_JumpForce));}}}------------------------------------------------------------------------------------------------------------------------------------Użytkowniku @nortalf napisz nam kod proszę. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Kimahri Napisano Marzec 19, 2016 Zgłoś Share Napisano Marzec 19, 2016 Odzywają się tutaj może panowie prowadzący kurs?Mam takie pytanie jakie są różnice, gdy kod na wykrywanie "ziemi" wygląda tak:void OnTriggerEnter2D(Collider2D other) { m_Grounded = true; } void OnTriggerExit2D(Collider2D other) { m_Grounded = false; }a ja stosuję objekt groundcheck i radiusy jak w tym tutorialu: Youtube Video -> Oryginalne wideo Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
gu2ma Napisano Marzec 20, 2016 Autor Zgłoś Share Napisano Marzec 20, 2016 @Kimahri jeżeli to pilne spróbuj skontaktować się z tym użytkownikiem : http://forum.cdaction.pl/index.php?showuser=1161812 Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
jmk Napisano Marzec 23, 2016 Zgłoś Share Napisano Marzec 23, 2016 Zrobiłem wszystko dobrze z ostatniej lekcji kursu i... strzelam, zbieram amunicję, ale... wróg stoi i nic się z nim nie dzieje. Tak samo amunicja jak się skończy i zbiorę to muszę przeładować - to normalne? Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
gu2ma Napisano Marzec 23, 2016 Autor Zgłoś Share Napisano Marzec 23, 2016 @jmk poproszę o skrypt dotyczący "wroga" 6 godzin temu, jmk napisał: Tak samo amunicja jak się skończy i zbiorę to muszę przeładować - to normalne? Jak najbardziej normalne. Powiedzmy taki Mass Effect 2 - opróżnij cały magazynek i po zebraniu amunicji musisz najpierw ją załadować. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
jmk Napisano Marzec 24, 2016 Zgłoś Share Napisano Marzec 24, 2016 (edytowany) Mój skrypt: using UnityEngine; using System.Collections; public class Enemy : MonoBehaviour { public int m_Health = 3; public float m_JumpCooldown = 4; public float m_JumpForce = 350; private float m_CurrentJumpTime = 0; private Rigidbody2D m_Rigidbody; // Use this for initialization void Start() { m_Rigidbody = GetComponent<Rigidbody2D>() as Rigidbody2D; } // Update is called once per frame void Update() { if (m_CurrentJumpTime >= m_JumpCooldown) { m_Rigidbody.AddForce(new Vector2(0, m_JumpForce)); m_CurrentJumpTime = 0; } m_CurrentJumpTime += Time.deltaTime; } void OnCollisionEnter2D(Collision2D coll) { Bullet bullet = coll.collider.GetComponent<Bullet>() as Bullet; if (bullet != null) { m_Health--; if (m_Health <= 0) { Destroy(gameObject); } } } } Naprawiłem, działa ;). Edytowano Marzec 24, 2016 przez jmk Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
gu2ma Napisano Marzec 24, 2016 Autor Zgłoś Share Napisano Marzec 24, 2016 Zaznaczysz na czerwono to co dopisałeś? (co było źle) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
jmk Napisano Marzec 25, 2016 Zgłoś Share Napisano Marzec 25, 2016 Nie mogłem dojść, bo ten z CDA był... identyczny jak mój, ale skopiowałem ich skrypt i... zaczęło działać. Cały czas mam problem ze skakaniem, tzn. skacze okej, ale czasem wyleci mi w kosmos, wiecie czemu? Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
gu2ma Napisano Marzec 25, 2016 Autor Zgłoś Share Napisano Marzec 25, 2016 Też tak mam. Jeżeli będziesz klikał w momencie skoku taki błąd może nastąpić. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
PolskiStig Napisano Marzec 25, 2016 Zgłoś Share Napisano Marzec 25, 2016 (edytowany) Cześć Mam pewien problem ponieważ mój bohater nie chce przejść na 2 poziom . Przepisałem skrypt z CD Action i nic tak samo ze strony... Ktoś może wie w czym problem ? I moje 2 pytanie jak dodać tło aby nie zasłaniało platform , bohatera? Edytowano Marzec 25, 2016 przez PolskiStig Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
gu2ma Napisano Marzec 26, 2016 Autor Zgłoś Share Napisano Marzec 26, 2016 (edytowany) @PolskiStig poprosimy o skrypt w całej swojej okazałości. Na pierwszej lekcji uczyliśmy się dodawania kolejności warstw. (ramka) Inspector >>> Sorting Layer Edytowano Marzec 26, 2016 przez gu2ma Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
PolskiStig Napisano Marzec 26, 2016 Zgłoś Share Napisano Marzec 26, 2016 Dodałem dwa screen shoty jakby były potrzebne Kod tak tygląda using UnityEngine; using System.Collections; public class Exit : MonoBehaviour { void OnTriggerEnter2D(Collider2D other) { if (other.name == "Player") { GameController.NextLevel(); } } } 1 Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
gu2ma Napisano Marzec 26, 2016 Autor Zgłoś Share Napisano Marzec 26, 2016 @PolskiStig Ostatnia linijka : Ty masz napisane NextLevel spróbuj napisać tak: Nextlevel , "level" z małej litery. PS Sprawdziłem to na swoim projekcie. Zmień wielkość literki "l' i wszystko będzie dobrze. Pamiętaj aby zwracać uwagę na podkreślone wyrazy - to oznacza, że jest coś nie tak. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Kubowski Napisano Marzec 28, 2016 Zgłoś Share Napisano Marzec 28, 2016 Witam, mam taki sam problem jaki ma PolskiStig. Niestety zamienienie "L" na "l" nie pomaga. Skrypt Exit: using UnityEngine; using System.Collections; public class Exit : MonoBehaviour { void OnTriggerEnter2D(Collider2D other) { if (other.name == "Player") { GameController.Nextlevel(); } } } W razie czego skrypt GameController: using UnityEngine; using UnityEngine.SceneManagement; using System.Collections; public class GameController : MonoBehaviour { private static GameController m_Instance; void Start() { if (m_Instance == null) { m_Instance = this; } else { Destroy(gameObject); } DontDestroyOnLoad(gameObject); } void Update() { if (Input.GetButton("Cancel")) { Application.Quit(); } } public static void Nextlevel() { SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1); } } Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
gu2ma Napisano Marzec 28, 2016 Autor Zgłoś Share Napisano Marzec 28, 2016 Te skrypty masz poprawne. Poproszę o: ammo bullet enemy PlayerMovement Weapon Jutro postaram się Ci odpowiedzieć. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Kubowski Napisano Marzec 28, 2016 Zgłoś Share Napisano Marzec 28, 2016 Przez ten błąd dalej nie robiłem więc mam tylko PlayerMovement: using UnityEngine; using System.Collections; public class PlayerMovement : MonoBehaviour{ private Rigidbody2D m_Rigidbody; private bool m_Grounded = false; public float m_Speed = 15; public float m_JumpForce = 400; // Use this for initialization void Start(){ m_Rigidbody = GetComponent<Rigidbody2D>()as Rigidbody2D; } // Update is called once per frame void Update(){ } void OnTriggerEnter2D(Collider2D other){ m_Grounded=true; } void OnTriggerExit2D(Collider2D other){ m_Grounded=false; } void FixedUpdate() { if (Input.GetButton("Horizontal")) { m_Rigidbody.velocity = new Vector2(Input.GetAxis("Horizontal") * m_Speed, m_Rigidbody.velocity.y); } if (Input.GetButton("Jump")&& m_Grounded) { m_Rigidbody.AddForce(new Vector2(0, Input.GetAxis("Jump") * m_JumpForce)); } } } Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...