Why not have a "Class" object?

0 favourites
  • 1 posts
From the Asset Store
2D fighting template based in the game that defined the fighting games genre.
  • This came to me in a flash of inspiration today. So fast that I didn't even search the forums to see if this has already been suggested, so, if it has, I'm an idiot. <img src="smileys/smiley1.gif" border="0" align="middle" />

    What I realized today is that I can use Sprites (really any object that takes instance variables and can be instantiated) to simulate classes. For example.

    I'm making a crude slideshow maker. You place objects on frames and only the objects on the current frame are visible. What I realized is that I could make a Sprite with no image, call it "Frame", and give it whatever instance variables I want. Then I stick its UID in the "frame" variable of each of my objects. This simulates something like:

    class Frame {

    int value1;

    int value2; }

    class Object {

    Frame frame;

    }

    Now instead of "frame" just being an integer (or a row in an array), it points to a robust object that can have its own instances, etc. If I really wanted to get crazy I could even give "Frame" its own specific functions. Inside the Function call, I check if the object being referenced has an existing Frame in its "frame" variable, and if it does, the function proceeds. If not, it doesn't.

    And I can create and destroy Frames easily. I can manipulate them better than an array with For Each (ordered).

    This is a huge hack. I obviously shouldn't be using sprites for this. So:

    Why not make a "Class" object and allow objects to have Class-specific variables (i.e. "Frame frame" above)? Why not then hardcode in Class-specific functions? It would be SO powerful, and it's all within reach.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)