Voici un tout petit système, encore au stade de prototype. Toutes les suggestions sont bienvenues!
L'idée est de faire un petit game-play de portal (pour ceux qui connaissent). Voici le rendu général :
Actuellement, pour le prototype, le rendu des portails est affreux et j'utilise deux événements différents pour distinguer les tirs. Les deux tirs, sont deux événements différent placés sur la carte 5. On se sert d'abord de cet événement en processus parallèle sur la carte du "portal" :
Event - EV001
Ensuite, comme vous pouvez le voir, cet événement génère deux événements qui décriront la téléportation. Les voici (sur la carte 5).
Je me sers des régions pour définir les endroits "portaillables" :
Event - EV003
Event - EV004
Pour le moment, j'utilise une image pour le visuel du portail, cependant c'est modifiable. Idéalement il faudrait un événement avec une apparence de portail.
A bientôt pour de nouvelles aventures !
L'idée est de faire un petit game-play de portal (pour ceux qui connaissent). Voici le rendu général :
Actuellement, pour le prototype, le rendu des portails est affreux et j'utilise deux événements différents pour distinguer les tirs. Les deux tirs, sont deux événements différent placés sur la carte 5. On se sert d'abord de cet événement en processus parallèle sur la carte du "portal" :
Event - EV001
| > Afficher une image : 50, 'blue_portal', H.G. (0,0), (100%,100%), 0, Normale |
| > Afficher une image : 51, 'red_portal', H.G. (0,0), (100%,100%), 0, Normale |
| > Opération : Variable [0020] = ID de la carte |
| > Opération : Variable [0001] = 0 |
| > Déplacer évènement : Héros (Attendre la fin) |
| > Déplacer évènement : > Modifier charset : 'Actor1-portaled', 2 |
| > Boucle |
| >| > Attendre : 1 Frames |
| >| > Condition : la touche C est pressée |
| >| >| > Appeler Script : invoke_event(5, V[1] + 1, 999, player_x, player_y) |
| >| >| > Appeler Script : V[2+V[1]] = player_direction |
| >| >| > Appeler Script : event_direction(999, V[2+V[1]]) |
| >| >| > Appeler Script : event_trail(999, 32, 1) |
| >| >| > Boucle |
| >| >| >| > Attendre : 1 Frames |
| >| >| >| > Appeler Script : x , y = event_x(999), event_y(999) |
| >| >| >| > Appeler Script : SS["A"] = region_id(x, y) == 1 |
| >| >| >| > Appeler Script : SS["B"] = x >= map_width-1 || x <= 0 || y >= map_height-1 || y <= 0 |
| >| >| >| > Condition : Script : SS["A"] || SS["B"] |
| >| >| >| >| > Sortir de la Boucle |
| >| >| >| >| > |
| >| >| >| > Fin - Condition |
| >| >| >| > Appeler Script : event_move_with(999, [12]) |
| >| >| >| > |
| >| >| > Fin - Boucle |
| >| >| > Condition : Script : SS["A"] |
| >| >| >| > Appeler Script : show_animation(999, 51) |
| >| >| >| > Appeler Script : x, y = event_x(999), event_y(999) |
| >| >| >| > Appeler Script : picture_move(50+V[1], x*32, y*32, 100, 100, 1) |
| >| >| >| > Appeler Script : picture_pin(50+V[1]) |
| >| >| >| > Appeler Script : picture_opacity(50+V[1], 255) |
| >| >| >| > Appeler Script : SV[999] = event_x(999) |
| >| >| >| > Appeler Script : SV[1000] = event_y(999) |
| >| >| >| > Condition : Script : V[2+V[1]] == 2 |
| >| >| >| >| > Appeler Script : SV[1000] -= 1 |
| >| >| >| >| > Appeler Script : V[4+V[1]] = 8 |
| >| >| >| >| > |
| >| >| >| > Fin - Condition |
| >| >| >| > Condition : Script : V[2+V[1]] == 4 |
| >| >| >| >| > Appeler Script : SV[999] += 1 |
| >| >| >| >| > Appeler Script : V[4+V[1]] = 6 |
| >| >| >| >| > |
| >| >| >| > Fin - Condition |
| >| >| >| > Condition : Script : V[2+V[1]] == 6 |
| >| >| >| >| > Appeler Script : SV[999] -= 1 |
| >| >| >| >| > Appeler Script : V[4+V[1]] = 4 |
| >| >| >| >| > |
| >| >| >| > Fin - Condition |
| >| >| >| > Condition : Script : V[2+V[1]] == 8 |
| >| >| >| >| > Appeler Script : SV[1000] += 1 |
| >| >| >| >| > Appeler Script : V[4+V[1]] = 2 |
| >| >| >| >| > |
| >| >| >| > Fin - Condition |
| >| >| >| > Appeler Script : invoke_event(5, V[1] + 3, 1000+V[1], SV[999], SV[1000]) |
| >| >| >| > Appeler Script : V[1] = (V[1] + 1)%2 |
| >| >| >| > |
| >| >| > Fin - Condition |
| >| >| > Appeler Script : event_erase(999) |
| >| >| > Condition : Script : V[1] == 0 |
| >| >| >| > Déplacer évènement : Héros (Attendre la fin) |
| >| >| >| > Déplacer évènement : > Modifier charset : 'Actor1-portaled', 2 |
| >| >| >| > |
| >| >| > Sinon |
| >| >| >| > Déplacer évènement : Héros (Attendre la fin) |
| >| >| >| > Déplacer évènement : > Modifier charset : 'Actor1-portaled', 1 |
| >| >| >| > |
| >| >| > Fin - Condition |
| >| >| > |
| >| > Fin - Condition |
| >| > |
| > Fin - Boucle |
| > |
Je me sers des régions pour définir les endroits "portaillables" :
Event - EV003
| > Condition : Script : V[2] == player_direction |
| >| > Appeler Script : V[100] = event_x(1001) |
| >| > Appeler Script : V[101] = event_y(1001) |
| >| > Appeler Script : player_direction(V[5]) |
| >| > Téléporter l'équipe : ID:[0020], X:[0100], Y:[0101] |
| >| > |
| > Fin - Condition |
| > |
| > Condition : Script : V[3] == player_direction |
| >| > Appeler Script : V[100] = event_x(1000) |
| >| > Appeler Script : V[101] = event_y(1000) |
| >| > Appeler Script : player_direction(V[4]) |
| >| > Téléporter l'équipe : ID:[0020], X:[0100], Y:[0101] |
| >| > |
| > Fin - Condition |
| > |
A bientôt pour de nouvelles aventures !