# Problems with Level Architect, Citrus Engine, Flash

I am using the Citrus Engine to make a Flash game, and the Level Architect doesn't work well for me. Firstly, when I first launch it and open my project and my level, nothing is shown, no assets and not anything I have previously done with my level. To fix it, I open another project. The other project works fine, meaning I can see the assets and the level. Then I go back to the actual project I am working on, and the problem is fixed, only it does not fix the second problem: I can't add my own assests. I follow the manual and add tags like this: [Property(value="0")]

But it doesn't change a thing in the level architect window (even after I close and reopen it). Any ideas? Thanks!

Here's the code of the class I want to be shown in the Level Architect:

package {

import com.citrusengine.objects.PhysicsObject;
import com.citrusengine.objects.platformer.Sensor;

import flash.utils.clearTimeout;
import flash.utils.setTimeout;

/**
* @author Aymeric
*/
public class Teleporter extends Sensor {

[Property(value="0")]
public var endX:Number=0;
[Property(value="0")]
public var endY:Number=0;
public var object:PhysicsObject;

[Property(value="0")]
public var time:Number = 0;

public var needToTeleport:Boolean = false;

protected var _teleporting:Boolean = false;

private var _teleportTimeoutID:uint;

public function Teleporter(name:String, params:Object = null) {
super(name, params);
}

override public function destroy():void {

clearTimeout(_teleportTimeoutID);

super.destroy();
}

override public function update(timeDelta:Number):void {

super.update(timeDelta);

if (needToTeleport) {

_teleporting = true;

_teleportTimeoutID = setTimeout(_teleport, time);

needToTeleport = false;
}

_updateAnimation();
}

protected function _teleport():void {

_teleporting = false;

object.x = endX;
object.y = endY;

clearTimeout(_teleportTimeoutID);
}

protected function _updateAnimation():void {

if (_teleporting) {
_animation = "teleport";
} else {
_animation = "normal";
}
}
}
}

• I checked the class inheritance tree, everything you did seems correct. Sep 26 '12 at 19:57
• Are you using FlashDevelop as an IDE? If you are using the FlashDevelop IDE and are willing to zip and upload everything you did so far, I guess I could have a look. Sep 26 '12 at 20:02
• I am using Adobe Flash Buider. I think it's more probable that it is a fundamental problem with the Level Architect. (As there is also the weird first problem.)
– Idan
Sep 26 '12 at 20:06
• I checked, and it did add the new class in another project. The LE has a strange problem with my current project.
– Idan
Sep 26 '12 at 20:15
• Could it simply be the project is not in the right directory? And that if you switch directories it would work again? It seems to me that Level Architect expects you to place the project in a specific directory tree. Sep 26 '12 at 20:19

Here are some things to check:

1. Are you extending one of the Citrus classes (CitrusSprite, PhysicsObject)? If so can we see that class's code?
2. Do you have the [Property] tag in the right place, above a public var or a public set function? If so can we see that code.
3. Make sure the code for the project is in the folder path Level Architect expects it to be as mentioned in the instructions for setting up your IDE.