dop2000's Forum Posts

  • First, you need to understand the difference between objects and instances of an object. This a mistake that many people make - creating lots of identical objects instead of instances of one object.

    In tic tac toe all cells should be just one sprite object - tttSprite.

    Add 3 frames - one empty, second with "X" image and third with "O", set animation speed to 0.

    Add an instance variable to this sprite, name it "cellState", type text.

    Place 9 instances of this sprite on the layout to form a grid.

    Now when players click tttSprite, you can set its cellState to either "X" or "O" and then update either just this instance or the whole grid using this code:

    tttSprite -> Compare instance variable cellState=""  -> Set animation frame to 0
    
    tttSprite -> Compare instance variable cellState="X"  -> Set animation frame to 1
    
    tttSprite -> Compare instance variable cellState="O"  -> Set animation frame to 2
    [/code:3bwie8gx]
    
    First event will [i]pick [/i]all instances with empty cellState and set frame to 0 for them.
    Second event will pick all instances with cellState="X" and so on.
    
    Picking is also an extremely important concept in Construct 2/3. I suggest you read these tutorials:
    [url=https://www.scirra.com/manual/71/instances]https://www.scirra.com/manual/71/instances[/url]
    [url=https://www.scirra.com/manual/75/how-events-work]https://www.scirra.com/manual/75/how-events-work[/url]
  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • In that tutorial events #3 and #4 are executed on every tick, which is not very good. Also, there are several ways to toggle boolean variable in just one event, then event #2 will not be needed, for example: toggle=(toggle=0)

    Anyway, here is the right way to do this:

  • Could you share your code?

    Are you using "On key pressed" events or "Is key down"?

    "On" events are triggered once.

    "Is" events are triggered many times a second, which could cause that problem of yours.

  • Julot135

    First of all, why are you multiplying the angle of movement by 2? Angle and speed are completely different things. Angle could be 0 and speed could be 1000, you can't derive one from another.

    Second, applying force correctly may be difficult and it will set the ship off-course.

    I suggest you use angular velocity - it only rotates the ship without changing its direction of movement.

    You can still animate ship reactors (thrusters) if you want.

    See this demo:

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

  • 1. Watch more tutorials online.

    Personally, I don't understand everyone's obsession with youtube tutorials. Yes, they are often helpful and people who record them are heroes. But it's such a waste of time - watching a 10-20 minute video while reading the same tutorial would only take a couple of minutes. Even if I skip to the end, I often have to return to random parts of the video trying to find the pieces of information I need. Ugh...

  • Actually, I was not technically correct in my previous comment.

    Yes, "&" is used to concatenate strings, but this is also a logical "AND" which can be used in math formulas

    For example:

    newHealth = health- (armor<1 & shield<1)

  • Try this:

    "HIGH: " & (HighLevelStart-DropLossHigh-SplitterLoss)

    & is a concatenation symbol, used to attach two strings together. You should not use it in math formulas.

  • Then, like I said, you'll need to perform a ton of overlapping checks to determine object shape.

    If this can be done easier with Trace plugin, you should definitely use it.

  • Nice question!

    Here are my thoughts:

    1. Give yourself challenging tasks, you can find lots of these in "How do I.." forum.

    2. Study other people's code, but keep in mind that it's not always good or correct (especially in "How do I.." forum ). You can usually recognize a good code if it's well formatted, commented, functions/loops/groups are being used, variables and objects have meaningful names etc.

    3. Explore expressions - every object in C2 has dozens of useful expressions and many people have no idea about them.

    4. Read this post - Best practices in C2

  • See this post:

  • There are several C2 plugins for seeded random. I don't know if any of them ported to C3.

  • Here is another way to smoothly rotate a sprite 360 degrees in 1 second.

    Using "dt" guarantees constant speed even if the frame rate changes.

  • Yeah, TextBox "intercepts" most keyboard events. I think "On Return" and "On Escape pressed" are the only ones that work inside the text box.

    Thanks!

  • Are you using TextBox?

    You can use "Keyboard -> On Return pressed", this event triggers even when cursor is inside the textbox.

    I've just tested, it works on mobile with on-screen keyboard.

    Thanks for the coffee! : )

  • In your capx you made every bullet harmless for 5 seconds.. Which is wrong, obviously.

    For this task it's best to use Timer.

    Add isImmune boolean instance variable to your Player sprite and Timer behavior.

    Change your code like this:

    (clickable)