Hallo liebe Community,
leider habe ich schon längere Zeit nichts programmiert und bin ein wenig eingerostet deshalb habe ich auch ein Verständnisproblem.
Ich arbeite im GMS1 an einen Sonic RPG das semi Runden basiert sein wird.
Das wechseln und besiegen der Gegner klappt aber sobald kein Gegner mehr da ist läuft die Auswahl Variable weiter im loop (zwischen 0-2), ich befürchte das wird später einfluss auf weitere gegner haben.
Im moment sind nur drei Gegner da aber ich plane Level die bis zu neun haben (jeder Slot kann somit bis zu 3 gegner in der que haben und ein maximum von 9 für eine Runde ist geplannt. Das Projekt ist zum downloaden unten verlinkt.
Für jede hilfe bin ich sehr dankbar.
Lösung:
Im End Step Event in der Switch Abfrage habe ich das "Default" Statement rausgenommen und stattdessen als eigene Abfrage weiter unten eingebaut.
Zusätzlich ist der Begrenzer jetzt im Any Key (Keyboard) Event.
Variable:
enemy_position
wird zum markieren des Zieles verwendet.
Create
End Step
Any Key (Keyboard)
Draw
GMZ Datei (Google Drive): GMZ-Projekt
leider habe ich schon längere Zeit nichts programmiert und bin ein wenig eingerostet deshalb habe ich auch ein Verständnisproblem.
Ich arbeite im GMS1 an einen Sonic RPG das semi Runden basiert sein wird.
Das wechseln und besiegen der Gegner klappt aber sobald kein Gegner mehr da ist läuft die Auswahl Variable weiter im loop (zwischen 0-2), ich befürchte das wird später einfluss auf weitere gegner haben.
Im moment sind nur drei Gegner da aber ich plane Level die bis zu neun haben (jeder Slot kann somit bis zu 3 gegner in der que haben und ein maximum von 9 für eine Runde ist geplannt. Das Projekt ist zum downloaden unten verlinkt.
Für jede hilfe bin ich sehr dankbar.
Lösung:
Im End Step Event in der Switch Abfrage habe ich das "Default" Statement rausgenommen und stattdessen als eigene Abfrage weiter unten eingebaut.
Zusätzlich ist der Begrenzer jetzt im Any Key (Keyboard) Event.
Variable:
enemy_position
wird zum markieren des Zieles verwendet.
Create
End Step
GML-Quellcode
- ///Target Rotation Systemswitch(enemy_position){case 0: if enemy_health_1<=0 enemy_position = 1 break; case 1: if enemy_health_2<=0 enemy_position = 2 break; case 2: if enemy_health_3<=0 enemy_position = 0 break;default: if enemy_health_1<=0 and enemy_health_2<=0 and enemy_health_3<=0 then enemy_position=4 break;}
Any Key (Keyboard)
GML-Quellcode
- if keyboard_check_pressed(vk_escape){room_goto(r_menu)}/// Target Switchif keyboard_check_pressed(vk_right){if enemy_position<2{enemy_position+=1}else{enemy_position=0}}/// Attackingif keyboard_check_pressed(ord('A'))if enemy_position = 0if enemy_health_1>0{enemy_health_1-=5}if keyboard_check_pressed(ord('A'))if enemy_position = 1if enemy_health_2>0{enemy_health_2-=5}if keyboard_check_pressed(ord('A'))if enemy_position = 2if enemy_health_3>0{enemy_health_3-=5}
Draw
GML-Quellcode
- /// Basic Drawdraw_self()draw_set_color(c_black)//draw_text(0,0,"mouse_x:"+string(mouse_x))//draw_text(0,20,"mouse_y:"+string(mouse_y))draw_text(0,0,"Enemy Position:"+string(enemy_position))// Only Draw it in the Battle Roomif room = r_battle_ground{switch(enemy_position){case 0: if enemy_health_1>0 draw_sprite(s_enemy_circle,0,1650,760) break;case 1: if enemy_health_2>0 draw_sprite(s_enemy_circle,0,1423,875) break;case 2: if enemy_health_3>0 draw_sprite(s_enemy_circle,0,1670,980) break;}}// Draw_Enemyif room = r_battle_ground{if enemy_health_1>0 draw_sprite(s_enemy,0,1630,650)if enemy_health_1>0 draw_text(1550,500,"Enemy Health: "+string(enemy_health_1))if enemy_health_2>0 draw_sprite(s_enemy,0,1380,740)if enemy_health_2>0 draw_text(1300,600,"Enemy Health: "+string(enemy_health_2))if enemy_health_3>0 draw_sprite(s_enemy,0,1650,860)if enemy_health_3>0 draw_text(1550,800,"Enemy Health: "+string(enemy_health_3))}// Draw_Playerif room = r_battle_ground{draw_sprite(s_player,0,570,700)}
GMZ Datei (Google Drive): GMZ-Projekt
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Kids_As ()