Bonjour à tous,
Je suis actuellement en train de développer un petit jeu en Actionscript 3 afin de me faire la main sur ce langage.
J'ai un problème depuis ce matin pour déboguer mon projet. Je n'ai pourtant rien changé dans mon code alors que ça fonctionnait il y a quelques jours.
Lorsque je lance mon projet en mode debug, ce dernier exécute normalement le code en affichant le contenu des "trace" éparpillés un peu partout jusqu'à la création d'un timer permettant de vérifier que les Bitmap de la classe Map sont chargés. Vous trouverez en gras dans le code de la classe principale, la dernière ligne de code qui est prise en compte dans cette classe par le debugger.
Voici ma classe principale :
Code AS : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 package { import flash.display.Sprite; import flash.display.BitmapDataChannel; import flash.display.BitmapData; import flash.geom.Rectangle; import flash.geom.Point; import flash.display.Bitmap; import flash.display.StageAlign ; import flash.events.KeyboardEvent; [SWF(width="800", height="600", backgroundColor="#000000", frameRate="25")] public class DemoTRPG extends Sprite { private var _map:Map; public function DemoTRPG() { //Set stage settings stage.focus = this; //stage.align = StageAlign.TOP; var contentMap:Array = new Array(); contentMap = [ 8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,14, 8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,14, 8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,14, 8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,14, 8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,14, 8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,14, 8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,14, 8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,14, 8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,14, 69,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,38, ] _map = new Map(20,10,contentMap); addChild(_map); stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown); } public function onKeyDown(event:KeyboardEvent):void{ switch(event.keyCode){ case 37: //left _map.onLeftKeyDown(); break; case 38: //up _map.onUpKeyDown(); break; case 39: //right _map.onRightKeyDown(); break; case 40: //down _map.onDownKeyDown(); break; case 32: //space _map.onSpaceKeyDown(); break; default: break; } } } }
Et maintenant, voici le début de code de ma classe Map :
Dès la création du timer et son lancement à la fin du constructeur de la classe Map, le debugger arrête de travailler (plus d'affichage des "trace" ni d'arrêt aux breakpoints).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 public class Map extends Sprite { //Loaders private var _tileSet:BitmapLoader; private var _charSet:BitmapLoader; //Graphical Resources private var _tileImages:Array; private var _characterImages:Array; //Properties private var _mapWidth:int; private var _mapHeight:int; private var _data:Array; private var _tiles:Array; private var _mapCursor:MapCursor; private var _squall:Character; //Other private var _timer:Timer = new Timer(TIMER_DELAY,TIMER_DELAY); //Consts private static const TIMER_DELAY:int = 20; public function Map(width:int, height:int, tiles:Array){ //Set Parameters _mapWidth = width; _mapHeight = height; _data = tiles; //TileSets Loading _tileSet = new BitmapLoader("Images/TileSetNature.png"); //CharSets Loading _charSet = new BitmapLoader("Images/CharSetSquall.png"); //Check bitmaps loading _timer.addEventListener(TimerEvent.TIMER, checkLoading); _timer.start(); }
Je suis desespéré et vous remercie d'avance pour votre aide.
Partager