Donc im im travailler sur un jeu de tuiles pour l'école et pas très familier avec la programmation alors excuses si la réponse est évidente.as3 Jeu de tuiles - Si le personnage franchit la tuile, faites quelque chose
L'utilisation d'un ive tableau créé une carte avec différents tiles- ce que je veux est ainsi que lorsque le personnage marche à travers un certain tableau, alors il arrive quelque chose - par exemple: redémarrer le jeu
Mon code est dans un .as fichier:
package {
import flash.display.MovieClip;
import flash.events.*;
public class main2 extends MovieClip {
public function main2() {
// Create map
var mapWidth = 10;
var mapHeight = 10;
var tileSide = 32;
var totalTiles = mapWidth * mapHeight;
var myMap: Array = [
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 0, 0, 0, 2, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[1, 0, 0, 0, 0, 3, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
];
for (var i: int = 0; i < mapHeight; i++) {
for (var u: int = 0; u < mapWidth; u++) {
var cell: MovieClip = new tile();
cell.gotoAndStop(myMap[i][u] + 1);
cell.x = tileSide * u
cell.y = tileSide * i
addChild(cell);
}
}
\t \t \t
\t \t \t // Hero management
var heroSpawnX = 1
var heroSpawnY = 1
var character: hero = new hero();
addChild(character)
character.x = heroSpawnX * tileSide
character.y = heroSpawnY * tileSide
var heroX = heroSpawnX
var heroY = heroSpawnY \t \t \t
\t \t \t
// Basic movement
stage.addEventListener(KeyboardEvent.KEY_DOWN, movement);
function movement(event: KeyboardEvent): void {
if (event.keyCode == 40 && myMap[heroY + 1][heroX] != 1) {
character.gfx.rotation = 0
character.y += tileSide
heroY++ //Down
}
if (event.keyCode == 38 && myMap[heroY - 1][heroX] != 1) {
character.gfx.rotation = 180
character.y -= tileSide
heroY-- //Up
}
if (event.keyCode == 39 && myMap[heroY][heroX + 1] != 1) {
character.gfx.rotation = 270
character.x += tileSide
heroX++ //Right
}
if (event.keyCode == 37 && myMap[heroY][heroX - 1] != 1) {
character.gfx.rotation = 90
character.x -= tileSide
heroX-- //Left
}
} //movement function
\t \t \t
} // behind this line
}
}
dans mon tableau il y a un '2' dans la deuxième rangée. Je veux que mon personnage traverse cette tuile et 'meurs', mais recommence à partir de sa position de spawn ([1] [1]). Je suppose qu'un écouteur d'événement serait nécessaire, mais après avoir lu certains codes, je n'arrive toujours pas à le faire fonctionner.
Merci à l'avance pour toute aide
Si vous acceptez cette réponse et ma réponse précédente, veuillez les accepter en cliquant sur la coche en haut à gauche de mon message. – HITMAN