Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Unity 5 - Poszukuje Prostego AI


Rekomendowane odpowiedzi

Opublikowano

Siemka, potrzebuje enemy ai bo nigdzie nie moge znalezc .. :( Ciągle zadne nie działa ...

Początkujący Programista // C# // JavaScript //

Twórca Gier // Android // PC - // unity

Aktualne Projekty:

DarkVision - Horror / hybryda 

 

Opublikowano

@jimmyblack robie gre w stylu gothica, chodzi o to żeby jak gracz wejdzie w obszar wroga to ten wróg go zaczyna gonić

Początkujący Programista // C# // JavaScript //

Twórca Gier // Android // PC - // unity

Aktualne Projekty:

DarkVision - Horror / hybryda 

 

Opublikowano

Czyli musisz napisać funkcję sprawdzającą dystans do gracza, a następnie podejmować akcje. W powyższym linku znajdziesz posuwanie się NPC do gracza, a warunek sprawdzania odległości pomiędzy dwoma obiektami znaleźć można w wielu miejscach.

Odwiedź mój profil aby zobaczyć adres mojego bloga o projektowaniu gier!

Opublikowano

Dałby mi ktoś jeszcze skrypt na teleportacje? Gdy gracz np. wejdzie na podłoge w wyznaczonym terenie to go wyteleportuje do sceny trzeciej?

Początkujący Programista // C# // JavaScript //

Twórca Gier // Android // PC - // unity

Aktualne Projekty:

DarkVision - Horror / hybryda 

 

Opublikowano

Kolego. Zadajesz tak podstawowe pytania, że witki mi opadają. Obejrzyj tutoriale zamieszczone na stronie unity i tam znajdziesz odpowiedzi na swoje pytania.

 

https://docs.unity3d.com/ScriptReference/Application.LoadLevel.html

Ogarniałem tutoriale, na kursach byłem, dużo już umiem ale kuchwa te skrypty nie które nie działają a sam pisać jeszcze nie umiem xD

Początkujący Programista // C# // JavaScript //

Twórca Gier // Android // PC - // unity

Aktualne Projekty:

DarkVision - Horror / hybryda 

 

Opublikowano

pisanie to podstawa używania Unity :)

Widać oglądałeś słabe tutki i byłeś na słabych kursach.

Odwiedź mój profil aby zobaczyć adres mojego bloga o projektowaniu gier!

Opublikowano

pisanie to podstawa używania Unity :)

Widać oglądałeś słabe tutki i byłeś na słabych kursach.

Dobra tam xD nie gadaj xD

 

Tam na tamtej stronie było coś takiego : 

 

using UnityEngine;
using System.Collections;
 
public class ExampleClass : MonoBehaviour {
void Example() {
Application.LoadLevel("3");
}
}
 
ale to nie wczyta levela jak gracz przejdzie przez podłoge.. a skrypt był przypisany do niej.

Początkujący Programista // C# // JavaScript //

Twórca Gier // Android // PC - // unity

Aktualne Projekty:

DarkVision - Horror / hybryda 

 

Opublikowano

Zwyczajnie wywołaj to: Application.LoadLevel("3");

Gdy jest Ci to potrzebne, gdy wejdziesz w trigger.

Odwiedź mój profil aby zobaczyć adres mojego bloga o projektowaniu gier!

Opublikowano

Jakie to były kursy skoro nic Cię nie nauczyli? 

 

Chcesz, aby gra wczytała kolejny poziom, po tym jak gracz wejdzie na dany fragment podłogi, tak? Więc zastanówmy się co powinno być po kolei. Najpierw musi być jakieś zdarzenie (czyli wejście w dany fragment podłogi), a potem wczytanie poziomu. Skrypt wyżej tylko wczytuje poziom. Zadaj sobie pytanie jak chcesz wywołać to zdarzenie. Oczywiście poprzez wejście w ten fragment podłogi, ale skąd gra ma wiedzieć, że akurat stanąłeś w tym miejscu? To proste. Kojarzysz może GTA San Andreas, gdzie aby rozpocząć misję były takie czerwone kółka, w które się wchodziło i misja się rozpoczynała? Ty zrób coś na podobnej zasadzie, a mianowicie użyj Collidera, który będzie miał zaznaczoną opcje Is Trigger. Dzięki temu wejście w collider będzie możliwe. A więc do czegoś powoli dochodzimy. Mamy już można powiedzieć to nasze "czerwone kółeczko". Teraz trzeba do tego obiektu z Colliderem dodać skrypt, który po wejściu w niego będzie wczytywał poziom. A funkcja ta wygląda tak:

 

https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnTriggerEnter.html
 

To Ci powinno wystarczyć, ale napiszę Ci gotowy skrypt, żebyś bardziej to zrozumiał.

 

using UnityEngine;
using System.Collections;
 
public class SkryptDoCollidera : MonoBehaviour {
    void OnTriggerEnter(Collider other) {
        if (other.Tag.Equals("Player")) {
                Application.LoadLevel("Nazwa_poziomu");
        }
    }
}
Oczywiście, aby wykryło Twoją postać jej znacznik (tag) musi być ustawiony na "Player" - według powyższego skryptu (możesz to zmienić).

2cf6pe0.jpg


"Hmm jak by to powiedzieć... Moje pierwsze wrażenie o grupie... Nie lubię was..." - Kakashi


Opublikowano

@up 

Dobrze wszystko opisałeś, właśnie o taką odpowiedz mi chodziło ale jest jeden problem

 

Assets/Pliki me/Scripts/AI/Tpdo3.cs(6,13): error CS1061: Type `UnityEngine.Collider' does not contain a definition for `Tag' and no extension method `Tag' of type `UnityEngine.Collider' could be found. Are you missing an assembly reference?

 

 

@Edit

 

Kursy Zsp1 W Pile 

 

http://imgur.com/a/difdp Dowodzik xD

Początkujący Programista // C# // JavaScript //

Twórca Gier // Android // PC - // unity

Aktualne Projekty:

DarkVision - Horror / hybryda 

 

Opublikowano


void OnTriggerEnter(Collider other)

{

if (other.gameObject.tag == "Player")

{

UnityEngine.SceneManagement.SceneManager.LoadScene("3");

}

}

 

 

1.Zgubiles gameObject

2.Application.LoadLevel zostala zastapiona przez SceneManager

 

Opublikowano

Powinni oddać Ci pieniądze :)

Szkoła sponsorowała najlepszych uczniów z informatyki w szkole.

void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.tag == "Player")
        {
            UnityEngine.SceneManagement.SceneManager.LoadScene("3");
        }
    }


1.Zgubiles gameObject
2.Application.LoadLevel zostala zastapiona przez SceneManager

 

Assets/Pliki me/Scripts/AI/Tpdo3.cs(4,0): error CS1525: Unexpected symbol `void'

 

ehh, co tu jest z tym ciągle..

 

 

@Edit

 

taki kod mam : 

using UnityEngine;
using System.Collections;
 
void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Player")
{
UnityEngine.SceneManagement.SceneManager.LoadScene("3");
}
}
 
 
Hmm A tu " if (other.gameObject.tag == "Player") " Nie powinno być na końcu ; ?

Początkujący Programista // C# // JavaScript //

Twórca Gier // Android // PC - // unity

Aktualne Projekty:

DarkVision - Horror / hybryda 

 

Opublikowano

Dobra ! Zrobiłem to sam. Metoda prób i błędów na kodzie, przerabiałem go i przerabiałem i doszedłem do takiego kodu: http://pastebin.com/QPwUASxg

Który zadziałał tak jak chciałem..

Początkujący Programista // C# // JavaScript //

Twórca Gier // Android // PC - // unity

Aktualne Projekty:

DarkVision - Horror / hybryda 

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...