dop2000's Forum Posts

  • I don't get youtube tutorials like this.. How can you learn something from 40 minutes of chaotic clicking/typing, with no commentary and looping annoying music?

    I wanted to see how you did different musical notes and it took me a long time to find that bit in your videos...

    Why don't you include some text description explaining what's going on in each part of the tutorial?

    A link to a capx would also be great.

  • Interesting, can you name some plugins and what do they go?

    My top 5:

    SeedRandom

    CSV

    rex_Layer

    LiteTween

    MoveTo

  • openfliers

    You can add a variable keyboardEnabled=1 and add it as a condition to all keyboard events. When you need to disable keyboard input, set variable to 0.

    Or you can put all keyboard events into a group and activate/deactivate this group.

  • Je Fawk, you found a very old post. C2 now has "Array Sort" action which you can use to sort a 2D array.

  • Personally for me C3 has no advantages over the C2. I'm not a big fan of browser applications and yes, there are lots of improvements, but they are not worth migrating to C3.

    The only really useful thing (for me) which C3 has and C2 doesn't is the mobile app building service. I wish Scirra would make it available to people who own C2 license...

  • Seems like 99% improvements are made to the editor. The only new programming feature I found is "Create objects using a string of their name instead of having to pick a specific object".

    It's a shame really, I can think of many new events and expressions that could be really handy, to name a few:

    Refer to instance variables by their string name

    Reset global variables from a selected group only

    Reset static local variables

    AngleDiffSigned expression which returns negative number if angle2 is counter-clockwise from angle1

    object.isVisible, isFlipped, isMirrored expressions

    Actions to change text settings, like text alignment, text wrapping.

    Switch-Case statement

    ...

    ...

    Also, there are many highly popular plugins for C2, I don't understand why not implement some of them as standard features and behaviors in C3?

  • NN81, Mate, you are overreacting. Chill a bit, have a drink, it's a New Year!

    Official behaviors usually work fine until you start "abusing" them. If your 8Direction teleports through solids, this means that you are stretching the limitations of this behavior. Maybe your speed is too high or collision polygons are all wrong or you added some events which interfere with the behavior's collision-prevention mechanics.

  • You can use Unicode symbol ⏎

    Or you can create a SpriteFont and replace some unused character with a small image of Enter key.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • character cannot be controlled in air, if on ground and pressed up and forward - it jumps forward, if only pressed up - it jumps up.

    So after character jumped, it can't be controlled until landing - is this what you need?

    Here is a demo (see the last 3 events):

    https://www.dropbox.com/s/8tak0k183wbdk ... .capx?dl=0

  • No, it does what it supposed to do - if sprite is overlapping a solid, "Opposite" method moves the sprite in the direction opposite to the movement direction, until the sprite no longer overlaps the solid. It's your job not to create such situation when the sprite will be pushed deeper into the wall.

    Custom Movement behavior provides very basic "building blocks" for creating your own movement engine. If you want more advanced events, which will automatically prevent collisions, maintain constant speed etc., then you need to use Platform/8-Direction/Car etc.

  • Yes, UID is more suitable to situations where instances are dynamically created/destroyed during the runtime.

    If you are manually placing sprites on the layout, use ShapeID from my previous comment.

    Manually set ShapeID to "1" for all sprites of the first shape, "2" for all sprites of the second shape etc.

    Then use this ShapeID variable in your code to identify which sprite belongs to which shape.

  • Then go for it!

    Starting a difficult project is the best way to learn a new programming language. If you have any questions, post them in "How do I.." forum, there are always people who can help.

  • Sure, you can use layers, but this is not a good or effective way to group instances.

    I still don't understand you game. If those complex shapes are made from several different objects (Circle and Line sprites), then you can do this:

    Add Circle and Line to a family "ShapeElements". Define an instance variable "ShapeID" on the family.

    For all the circles and lines of the first shape, set ShapeID=1

    For all the circles and lines of the second shape, set ShapeID=2

    Now all 14 elements of your shape 1 are logically linked together, you can do "Circle compare variable ShapeID=1" and this will pick 7 circles.

    Or you can "ShapeElements compare variable ShapeID=1", this will pick all 14 circles and lines.

    (Family in this example is optional, but I assume that circles and lines share some features and properties, so adding them to a family seems like a good idea)

    Linking by "parent.UID" is a bit different. You don't need to keep track of all UIDs, it's easier to give an example:

    https://www.dropbox.com/s/kr2gy6xwi3gxq ... .capx?dl=0

  • Hey NN81

    I don't think this is a bug.

    With "Opposite angle" the object is teleported when you rotate it very close to the wall and its angle of movement is pointing away from the wall. The behavior tries to push the sprite in the opposite direction (because that's how "Opposite angle" method works) and as a result it pushes it deeper and deeper into the wall. And finally it pushes it out at the other side of the wall.

    "Nearest" mode works much better if you define correct collision polygon on the sprite. But it can still slow down the sprite, because its purpose is only to prevent overlapping. If you need to maintain constant speed, you will have to do this with events. Or simply use 8-direction

  • You do not have permission to view this post