Ashley's Forum Posts

  • Ah, private variables don't work in families yet. Got some work to do there... sorry!

  • Nice demo of custom shooting!

    If you wanted it to be perfect, you don't need the For Each condition (still does it per-instance) and you could use an image point on the turret for shooting, but it covers the important stuff <img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" />

  • This way you can do a loop numOfObjects times, and use a condition of "loopIndex = spreadValue" to manipulate an individual instance.

    The For each condition completely supersedes this. It automatically triggers for each instance - or each picked instance, if more picking conditions are above it - and allows you to perform actions on instances individually. You can even for-each two objects in one event, and use a Compare Values to compare distances or whatever, to cycle all combinations of instances (the Turret movement is probably better at this though). So "Spread value" is completely redundant in Construct.

    I'd be interested to see a .cap or some events demonstrating a situation where specific instance manipulation by UID is the only solution, and no better way exists. I only really put in UIDs to allow for referring to a specific object over time.

  • In the resource bar, edit the Default icon.

  • This shouldn't be a problem. Does the shortcut player('speed') work?

  • Can you send the .cap to ashley@scirra.com? I'd be interested to look at both disappearing events and the lagging runtime...

  • You can do this with the function object. Call a function, eg. "DoStuff" and forget picked objects. Then add an event like:

    + On function "DoStuff"

    + Sprite UID is 2

    : Sprite: do something...

    Because the picked objects are wiped clean for the function call, you can then pick the sprite with the UID you want from a clean slate and do something with it. Remember, after the function call the picked objects from the old event are restored <img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" />

    If the object of the UID you want to specifically modify is already picked, you can add a subevent 'Sprite UID = 2' and do something with it there. It will then pick the sprite with UID 2 so long as it was picked in the parent event.

    Out of curiosity, why do you need actions on specific instances? Just wondering the circumstances, in case we can better design a solution (or if one already exists).

  • Yes, as I thought: the colliding objects have the Physics movement. Objects with the Physics movement automatically collide with each other.

  • Woops, made a mistake in the expression validator. Will try fix soon...

  • Thanks Deadeye, you've done some great work <img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /> I'm going to split Common properties in to its own article from Sprite properties though, because it applies to all objects.

  • Yeah sure youtube whatever you want. The monsters use a bullet movement which doesn't respond to solids, instead, you can use an event like this:

    Monster collides with Wall: set Monster angle to Monster.Angle + 180

    This just means whenever a ghost touches the wall, it will flip round to the other direction.

    I don't think kickit.cap comes with Construct so I can't remember how it does collisions, but there are lots of different ways of making collisions work. You can use the Physics movement, events like above to handle collisions, the Solid attribute, etc.

  • I think no matter what scripting language we pick, X people would say "OMG awesome!!" and Y people would say "no way not that one!!". We've investigated a few, and picked python for several reasons, one of which being it has got very good C/C++ integration which makes it very flexible for Construct.

    Also for highly algorithmic stuff (tight loops with lots of variables), Python is almost certainly faster. In Construct if you add to a counter or global variable or whatever, you still have the overhead of jumping in to an action, whereas Python just knows to increment a variable and probably does this in a very optimised fashion. That's part of the use of having Python. There will also be bindings to call actions (and possibly conditions and expressions) from Python itself, but when you do this you still get the overhead of jumping in to an action.

    As for SDKs, Python plugins etc. we have plans to significantly improve the modularity of coding with events, and python fits in to this rather neatly. We'll be announcing more stuff in future <img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" />

  • Hi, just add a sprite and under 'Attributes' in its properties, tick 'Solid'. Now the player can't walk through it <img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" />

  • I'll try and get something sorted soon!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • That's odd... what conditions are disappearing?