Jump to content
Unity Insider Forum

Bitte um Hilfe


lillyfee16

Recommended Posts

Hallo,

Zuerst schön das es dieses Forum gibt. habe mich heute erst angemeldet. Ich arbeite schon ein weile mit Unity bzw versuche es. Ich bin momentan an einem für mich schönen Jump and Run spiel. Ich habe auch schon einiges fertig. Ich habe mich nun auch dazu durch gerungen Java zu lernen. ich habe nun folgende frage. ich möchte das mein Spieler münzen einsammelt und es auch in einem Gui Fenster angezeigt wird. Ich weiß das ich es mit collider geht aber nicht wie man es schreibt. und löschen tue ich die münzen mit destroy. Desweiteren möchte ich das er wie bei Mario an die boxen springt und da den ein Object rauskommt. mach ich das auch mit collider? bitte Leute helft mir!!!!

 

vielen leiben dank im vorraus :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

Soo, hier kommt eine kleine Hilfeleistung. :)

 

Du hast das schon richtig erfasst. Solche Dinge fragt man gerne über den Collider ab.

In deinem Falle wäre es die Funktion OnColliderEnter().

Diese Funktion wird immer ausgelöst, wenn ein anderer Collider den Collider des GameObjektes, wo dieses Script drauf ist, berührt.

Damit das aber geht, braucht mindestens eines der 2 Gameobjekte einen Rigidbody. Der muss keine Schwerkraft nutzen, muss aber da sein.

Du kannst das Ganze auch über Trigger lösen. Das wären Collider, die zwar auf das Berühren reagieren, aber tortzdem kein Hindernis sind. Meist nutzt man so etwas, wenn man durch einen Checkpoint läuft. Oder aber eben bei den Münzen.

 

Alles Über Collider:

http://docs.unity3d.com/ScriptReference/Collider.html

 

Um die Münzen im GUI Fenster anzuzeigen, musst du eine Variable haben, die deine Münzenanzahl repräsentiert.

Das sollte eine Variable vom Typ int sein. Diese wird bei jedem Berühren einer Münze um 1 erhöht.

Um zu wissen, was man berührt, könnte man den Tag des Objektes abfragen.

 

function OnTriggerEnter( other : Collider){
  if( other.gameObject.CompareTag("Coin")){ // nur wenn der Tag den Namen Coin hat
  Destroy(other.gameObject); // zerstöre das andere GameObject
  coins++; // die Variable, die die Anzahl der Münzen speichert
  }
}

 

Die Gui muss jetzt eigentlich nur die Variable coins anzeigen.

Je nachdem welche GUI du nutzt, ist das etwas anders. Aber das musst du dir einfach mal in der Scripting Referenz anschauen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ui das ging ja schnell. ja Entschuldige bitte das ich das Thema zweimal veröffentlicht habe. Habe erst zu spät mitbekommen das es hier doch besser reinpasst. Und vielen lieben dank für die Antwort. Das gerade sie oder Du mir antwortest find ich toll habe viel von deinen tuts gelesen und gelernt. Den link habe ich mir auch angeschaut. finde es immer nur als Anfänger schwer es richtig anzuwenden und es zu einem Skript zusammen zu fassen. Bin ein großer Fan von dir. Und Danke für die hilfe. währe mal cool wenn es da auch mal ein tut geben würde.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Schönen Guten Tag,

ich habe es nun umsetzen können.Hab nun eine weiter frage. Kann ich eigentlich ein fertig entwickeltes spiel einfach in eine app umwandeln ? :mellow: oder sollte ich was beachten? Desweiteren wnn ich ein mobilen Controller ins spiel setze verschwindet immer die Steuerung. warum ist das so und kann ich es vermeiden? :( bzw beheben? :( Find es echt toll das es euch gibt

 

Danke im vorraus :lol:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe mich nun auch dazu durch gerungen Java zu lernen.

 

Nur eine "Kleinigkeit": Du meinst höchstwahrscheinlich JavaScript. Und eigentlich ist das auch nicht JavaScript, sondern UnityScript (allerdings ist es durchaus üblich, es mit "JavaScript" zu bezeichnen - UT macht das auch so, oder hat es zumindest sehr lange so gemacht).

 

Ironischerweise ist die Programmiersprache "Java" der Programmiersprache "C#" viel näher, als sie dem echten JavaScript ist. Das "echte JavaScript" hat seinen Namen lustigerweise in Anlehnung an die damals im Web sehr populäre Sprache Java erhalten - das war aber eher eine Marketing-Aktion (und inzwischen gibt es kaum noch Java-Applets auf Webseiten, aber JavaScript ist praktisch auf jeder modernen Webseite zu finden).

 

Nun ist wiederum witzigerweise UnityScript, also Pseudo-JavaScript in Unity wieder näher an Java bzw. C#, als das "echte JavaScript" (aber noch immer ähneln sich Java und C# mehr als Java und UnityScript). Und auch UnityScript wurde wohl wegen "Marketing" als JavaScript bezeichnet, obwohl es irgendein seltsames Zwitterwesen ohne wirklich gut zugängliche Spezifikation ist (was bei Programmiersprachen an sich recht wichtig ist ;-) ).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...