Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

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";
        }           
    }       
}
}
share|improve this question
    
I checked the class inheritance tree, everything you did seems correct. –  Zehelvion 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. –  Zehelvion 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. –  Zehelvion Sep 26 '12 at 20:19

1 Answer 1

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.

https://docs.google.com/document/pub?id=1fVTAg6EET9znfCRHzlqF-ByJqFvScacGt0DerIJY4L0

I think it might be one of those things, let me know and I'll help out.

share|improve this answer
    
It's a teleporter, extending Sensor, credit to Aymeric, which has created the object. Updated the question to contain the code. I am pretty sure I have put the tags in the right place. Thanks! –  Idan Sep 26 '12 at 19:54

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.