Spontan würde ich sagen dass du vielleicht den falschen Namen für das Objekt genutzt hast.
Ist es wirklich obj_soild und nicht stattdessen obj_solid? Dass zieht sich auch so durch deinen ganzen Code?
Spontan würde ich sagen dass du vielleicht den falschen Namen für das Objekt genutzt hast.
Ist es wirklich obj_soild und nicht stattdessen obj_solid? Dass zieht sich auch so durch deinen ganzen Code?
Erstelle am besten ein Step-Event, erstelle dort ein Script und trage diesen Code ein:
///Bewegung & Kollision
movspd = 2.5; /* Geschwindigkeit in Frames */
hspeed = 0; /* Horizontale Geschwindigkeit am Anfang eines Frames auf 0 */
vspeed = 0; /* Vertikale Geschwindigkeit am Anfang eines Frames auf 0 */
//Bewegung
if (keyboard_check(vk_shift)){ movspd += 2.5 } /* Shift-Taste lässt rennen */
if (keyboard_check(ord('A'))){ hspeed -= movspd } /* mit A nach links laufen */
if (keyboard_check(ord('D'))){ hspeed += movspd } /* mit D nach rechts laufen */
if (keyboard_check(ord('W'))){ vspeed -= movspd } /* mit W nach oben laufen */
if (keyboard_check(ord('S'))){ vspeed += movspd } /* mit S nach unten laufen*/
//Kollision
if (!place_empty(x+hspeed,y)){ /*wenn Platz in Richtung Bewegung Achse X ist nicht leer */
if (hspeed > 0){ /* wenn Geschwindigkeit Achse X höher als X-Speed dann bewege dich auf das Solid-Object zu */
move_contact_solid(0,-1);}
if (hspeed < 0){ /* wenn Geschwindigkeit Achse X kleiner als X-Speed dann bewege dich auf das Solid-Object zu */
move_contact_solid(180,-1);}
hspeed = 0; /* und setze die Geschwindigkeit auf 0 */
}
if (!place_empty(x,y+vspeed)){ /*wenn Platz in Richtung Bewegung Achse Y ist nicht leer */
if (vspeed > 0){ /* wenn Geschwindigkeit Achse Y höher als Y-Speed dann bewege dich auf das Solid-Object zu */
move_contact_solid(270,-1);}
if (vspeed < 0){ /* wenn Geschwindigkeit Achse Y höher als Y-Speed dann bewege dich auf das Solid-Object zu */
move_contact_solid(90,-1)}
vspeed = 0;} /* und setze die Geschwindigkeit auf 0 */
Das sollte doch der AssetStore von Unity bieten.
Rein technisch stimmt das ja so. Vielleicht könntest du eine Funktion dafür erstellen dass wenn zB.:
if (keyboard_check(vk_right) && place_meeting(x+1,y,objekt_wand) { vspeed = 2 }
// wenn Taste rechts wird gedrückt und Objekt Wand ist rechts von player dann setzte vertikale Geschwindigkeit auf +2
siehe Anhang
Wenn du den Punkt kennst wo die "Kollision" stattfindet würde ich vielleicht ein Controller-Objekt erstellen und das auf diesen Punkt legen. Dieser bekommt ein Event zugeteilt das ausgelöst wird wenn er von dem anderen Objekt getroffen wird.
YoYo ist der Entwickler des Programms "GameMaker: Studio". Das Programm das du suchst ist also eben dieses.
Da würde ich lieber 2 Blöcke generieren die sich überlappen. Der vordere hat die Textur für die Welt (zB. eine Mauer) und hinter dieser kann sich dein Spieler bewegen. Dann noch ein Objekt das genauso breit, aber nur 1 Pixel hoch ist das du dann an die Oberseite hinter der Mauer setzt. Dieses bekommt eine Kollisionsabfrage mit dem Player.
(Ich hoffe ich hab mich jetzt nicht allzu schlecht erklärt)
Grüße
Zunächst einmal musst du das Android NDK, Android SDK ab API13 (Honeycomb) und das JavaDevelopmentKit runterladen und installieren. Anleitungen dazu findest du bequem im Netz.
Anschließend musst du in den Einstellungen des GameMakers die Sektion "Android" auswählen und die Pfade zu diesen Programmen bestimmen. Dann noch die Checkboxen aktivieren und dann siehst du schonmal ob das alles korrekt ist.
Zum testen/kompilieren selbst musst du erst oben in den Dropdown-Menü Target: "Android" auswählen. Bei Play startet ein Device auf dem du dein Spiel testen kannst, das musst du aber erst einstellen - frag mich da aber nicht wie, hab mich damit noch nicht genau befasst.
Anschließend gehst du auf File → Create Application. Als Dateityp sollte nun Android-Application (APK) dort stehen.
----------------------
PS: Vom hörensagen weiß ich allerdings dass ein Device einzustellen ein kleines Problem darstellt. Am besten da holst du dir Hilfe im Forum von YoYoGames.
Null! Man muss es ja nun nicht provozieren. Gerade als Fahranfänger solltest du dich an die Begrenzungen halten. Du bist jetzt nicht gerade ein Held hinter dem Steuer nur weil du eine Prüfung dafür bestanden hast.
Ich würde dir zunächst einmal empfehlen die Kollisionsmasken der beiden Objekte zu prüfen.
da ich auch deswegen zapplig war wie ein kleines Kind, bin ich vor einer Stunde zu Expert gefahren und habe dort an der Info nachgefragt. Hab es dann auch ausgehändigt bekommen. Und jetzt ist die lästige Zwangsinstallation fertig und kann bis in den morgen zocken :D Viel Glück
am besten heute so ab 16 uhr mal im elektromarkt deines Vertrauens reinstürmen und ganz lieb an der Info nachfragen ob sie es denn schon herausgeben dürffen ^^
da muss ich knechtbob widersprechen, denn der Spiele-Dealer meines Vertrauens (expert in Ludwigsfelde) hat es mir vor wenigen Minuten ausgehändigt und ich werde jetzt die nächsten 20 stunden zocken :D
es ist auf beiden Plattformen eine Pflichtinstallation nötig, da Unmengen an Daten geladen werden müssen
du kommst leider nicht drumrum, zur Not musst du dir einen 16GB USB-Stick holen (8GB Sticks haben nämlich immer nur ~7800MB zur Verfügung) und es dann installieren beim ersten Start
Wenn du dir so unsicher bist, zieh einfach das netzwerkkabel raus bzw mach das WLAN aus
Battlefield 2 mit version 1.51 da kann man dann auch Coop mit/gegen Bots spielen
Armed Assault 2 Free
Torchlight 2
Unreal Tournament 3
Du machst Party, macht sie ja auch. Punkt!