fieari's Recent Forum Activity

  • Uploaded here.

  • In this cap, the desired behavior is that the skeleton walk straight forwards until it hits the edge of the platform, and then turn around. Each skeleton SHOULD do this itself, ignoring the others.

    What ACTUALLY happens is that as soon as one skeleton hits the edge, they ALL turn around and go the other way, in sync.

    I'm told that my code should work. So what is going wrong?

  • No, I'm not using the system compare object. I'm doing a straight-from-the-wizard enemy angle comparison.

    I just tried the "For each Enemy" condition outside the whole set, and it inverts the behavior. Instead of requiring ALL enemies to reach the ledge before turning around, now as soon as a SINGLE enemy reaches the edge, ALL enemies turn around in sync.

    Here's the new event block:

    +For each Enemy

    ++Enemy.Angle = 0

    +++Terrain offset(10,2)

    ---Enemy: Set horizontal speed to 100

    +++Else

    ---Enemy: Set angle to 180

    ++Enemy.Angle = 180

    +++Terrain offset(-10,2)

    ---Enemy: Set horizontal speed to -100

    +++Else

    ---Enemy: Set angle to 0

  • I have the following events set up for an enemy with the platform behavior.

    +Enemy.Angle = 0

    ++Terrain offset(10,2)

    --Set horizontal speed to 100

    ++Else

    --Enemy: Set angle to 180

    +Enemy.Angle = 180

    ++Terrain offset(-10,2)

    --Set horizontal speed to -100

    ++Else

    --Enemy: Set angle to 0

    This makes the enemy walk back and forth along the platform it is standing on. Works great! That is, until I add a copy of the enemy to the layout. Then, it no longer works until ALL the enemies reach the edge of their platform.

    How can I make this work for each enemy separately?

  • That's probably why it didn't work for me... okay!

    Actually, no. It still doesn't work. In fact, it makes my game crash...

  • No, I'm talking about having a consise If/Then/Else statement embedded into an event's action, without requiring an IF/ELSE event.

    Instead of

    +Condition

    ++SubCondition

    --Set Variable to X

    ++Else

    --Set Variable to Y

    you'd have

    +Condition

    -Set Variable to (SubCondition ? X : Y )

    This is the extent of my suggestion. It's simply shorthand.

  • Yes.

    Not a high priority feature request or anything, I just think it'd be a nice option to have.

  • When you have a lot of objects, finding the one you want can get tricky. Why not have a +expand organization feature using families? So instead of seeing all your objects, you'd see

    [+]Red

    [+]Blue

    [+]Green

    [+]Enemy

    [+]OtherFamily

    And then clicking the [+] would expand out all the objects in that family.

    Objects without a family would always be visible, so if you don't use families, behavior won't be changed. Alternatively, non-family objects could be auto placed into a "No Family" family.

  • The Behavior "Platform" has an option associated with it, labeled "Allow bunny hop". This is an option that is apparently only accessible from the Layout Editor. Clearly, it must be a variable somewhere in the object itself. The Event wizard does not allow for a way to access this variable, either to compare it for conditions, or to set it.

  • I had that problem in 0.98.5, and I guess it hasn't been fixed. Basically, when you delete something, a box pops up asking if you really want to do that, with a check box to not display the box anymore. If you have that checkbox checked and hit no, you'll never be able to delete an object again until you reinstall construct.

  • Where can I find a list of the variable names for the Platform (or any other) behavior? I'm trying to make an event that finds whether "Allow Bunny Hop" is set or not.

    This sort of documentation would be great to have on the Wiki.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • This is a little complicated, but I think it would assist greatly in making events.

    In C++, the ? is a miniature If/Then/Else statement. The syntax goes like this:

    ( Conditional ? Value if True : Value if False )

    Now, this is not functionality that will allow you to do anything you can't currently do in construct. But it will make it possible to use less sub-events, and make things neater all around.

    Consider the case where you want an enemy to bounce away from you upon an overlap. You can't simply use Family[Behavior].VectorX = -Family[Behavior].VectorX, because there are other events setting it's VectorX. You can't just set Family[Behavior].VectorX = Family[Behavior].VectorX + 100, because what if you're on the other side of the enemy? You'd have to do

    +On Overlap between Player and Family[Behavior].VectorX

    ++Player.Angle = 0

    --Family[Behavior].VectorX = Family[Behavior].VectorX + 100

    ++Player.Angle = 180

    --Family[Behavior].VectorX = Family[Behavior].VectorX - 100

    With the ? functionality, you could merely have:

    +On Overlap between Player and Family[Behavior].VectorX

    -Family[Behavior].VectorX = Family[Behavior].VectorX + ( Player.Angle = 0 ? 100 : -100 )

    Drastically simplifying the event sheet. Well, simplifying it assuming that you know the syntax, but it's not difficult to learn, and it's not like the longhand method of doing the same thing has gone away or anything.

fieari's avatar

fieari

Member since 21 Jan, 2009

None one is following fieari yet!

Trophy Case

  • 16-Year Club

Progress

16/44
How to earn trophies