dop2000's Forum Posts

  • Fireballs are not actually multiplying. The problem is that you cast multiple fireballs at once. You don't notice that because they are moving on top of each other and look like one sprite, but sometimes they collide with the wall at slightly different angles and separate into several sprites.

    "Caster Animation frame=15" condition lasts longer than one frame, that's why multiple fireballs are spawned.

    You need to add "System Trigger once" condition to your event #5.

    Use Debug Mode (Ctrl-F4), you'll have a much better understanding of what's going on in your game.

    Also I suggest adding "Destroy outside layout" behavior to the fireball.

    And make the same collision polygon for all fireball frames - it will make collisions more predictable and accurate.

  • You can do this:

    Array For each element

    ...Array Compare current value -> Set index to Array.CurX

  • It's easier to use replace() expression:

    Set s to "Hi there!^How are you?^Take a seat."

    Set s to replace(s, "^", newline)

  • oosyrag is right, you need to use instances, not separate objects.

    Create one Text object, add several instances of this object on the layout. (just copy/paste)

    If you arrange them in the order they were created you can do this:

    System For each Text -> Set text to myArray.At(loopindex,0)

    Or you can add an instance variable "ID" to this text object and pick instances by ID:

    for "i" = 0 to 9

    ....Text compare variable ID=loopindex -> Set text to myArray.At(loopindex,0)

  • Try searching the forum, there are lots of C3 plugins that are not listed in the plugin library.

    There is another similar plugin called Spine:

    https://cdn.rawgit.com/flyover/spine-c2 ... index.html

  • Default 0 degrees angle in Construct is on the "East", so all (moving/rotating) sprites should be facing right.

  • I once made a giant spider-like boss with two big limbs that were moving and stabbing the player. When killed, that boss fell apart into separate sprites. So it's possible, but depends on how complex your boss is.

    Also, have you seen Spriter plugin?

    https://www.scirra.com/blog/119/spriter ... onstruct-2

    I don't know if it's available for C3 though.

  • Could you share a screenshot of your events, or capx file?

  • Again, I can't tell you which one to choose. I have both C2 and C3 licenses. I continue to use C2 because C3 still has too many bugs and issues. But I'm afraid, C2 is at the end of its life and Scirra might stop supporting it soon, so buying C2 license now is probably not a very wise decision. Also, Ashley announced that they are going to raise the price of C2 license (probably already have), as another way to promote C3.

    You can try C3 for free, with registration you'll get 100 events, which is more than enough to test it and decide if you like it or not.

    Check C3 General forum, there have been a lot of posts about the pros and cons of C3, for example:

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • When the screen is not in touch, Touch.X and Touch.Y are 0.

    If you want the sprite to turn to the touch point, do this:

    Touch Is in touch -> Sprite set angle towards position (touch.x, touch.y)

    Also, the image in the sprite (in sprite editor) should be facing right.

  • Probably because it gets restarted on every tick.

    Try adding another condition to event #19:

    Dog animation "Bark" is NOT playing

  • You might have a line break in the text (at the beginning or at the end of the string. Line breaks are not shown in debug mode.

    Add trim() expression, it will remove all linebreaks, spaces, tabs etc.

    Set text to trim(tokenat(.....

  • No... That's the same as "transpose" feature in Excel:

    https://chandoo.org/wp/2013/02/01/trans ... l-formula/

    For clockwise rotation try this:

    For x=0 to Array1.Width-1

    ...For y=0 to Array1.Height-1 -> Array2 set at

    ............X:loopindex("y")

    ............Y:((Array1.width-1)-loopindex("x")

    ............value:Array1.At(loopindex("x"), loopindex("y"))

    (This is just off the top of my head, not sure if it's correct)

  • If you move the finger outside the sangPad, dragging will be interrupted, because sangStick can't move further.

    That's why you need a separate invisible sprite that can be dragged freely.

    It's a popular trick, you can see an example here:

  • Rotation should be easy enough:

    Array2 set size to (Array.Height, Array.Width)

    For x=0 to Array.Width-1

    ...For y=0 to Array.Height-1 -> Array2 set at X:loopindex("y"), Y:loopindex("x"), value:Array1.At(loopindex("x"), loopindex("y"))