dop2000's Forum Posts

  • So far, I have found this method: dividing time by tickCount. It seems much more stable.

    For what purpose? Where do you use this value?

  • Hi Tom,

    There's no notification again.

  • which is to add "Simulate at angle" to 8 Direction movement.

    You don't need it, because there are "Set vector X/Y" actions. You can set it directly to gamepad axis values:

    Player Set vector X to Gamepad.axis(0,0)
    Player Set vector Y to Gamepad.axis(0,1)
    

    Or calculate stick angle and distance:

    set a to angle(0,0, Gamepad.axis(0,0), Gamepad.axis(0,1))
    set d to distance(0,0, Gamepad.axis(0,0), Gamepad.axis(0,1))
    

    Then use these formulas to move the character:

    Set vector X to cos(a)*d
    Set vector Y to sin(a)*d
    
  • I tried, for me it's making a random card for each one instead of the exact card.

    Do you have each card in a separate sprite, and all sprites added to a family?

    10k objects doesn't seem like a good idea. I would suggest having all cards in one sprite as animations.

    If you prefer different objects, then use "Create object by name" action to create a particular card.

  • Something like this I guess (if I understand the task correctly):

    Player on collision with enemy
    -> Player set speed to 25
    -> Player start timer "reset_speed" for 0.5
    
    
    Player is overlapping slime
    -> Player set speed to 25
    -> Player start timer "reset_speed" for 0.5
    
    Player on timer "reset_speed" 
    -> Player set speed to 50
    
  • No... I thought your array contained words? Why do you clear it?

    See this example:

    dropbox.com/scl/fi/zemsgxz3r9f8gq6164ocu/ArrayPermutationExample.c3p

  • Use permutation table feature of the AdvancedRandom plugin.

    AdvancedRandom create permutation table with size Array.width
    

    The first random word would be Array.at(AdvancedRandom.permutation(0))

    The next word Array.at(AdvancedRandom.permutation(1))

    And so on. They won't repeat.

  • I'm not a fan of "trigger once" condition, don't use it if there are multiple instances of objects that could be overlapping.

    I suggest using timers instead of "wait" action, because you can't cancel or extend the wait if objects collided again within 0.5s

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • So you need to arrange them in a grid, like an inventory? There are plenty of examples of how to do this.

    Here is a simple loop:

    Result:

  • fisholith Oh, I'm sorry, my mistake. It's just at the first glance your comment looked very similar to what ChatGPT generates when I ask it programming questions. I can see now that it's not, apologies again.

    Although I don't understand why your proposed solution is in Javascript. It's clear from the OP's post that they are using the event system.

  • fisholith What's the point of posting AI-generated responses?

  • Are all sprites the same size, and have the origin point position in the same spot?

    Check out this demo:

    howtoconstructdemos.com/select-and-drag-multiple-images

  • Yeah, first you set path to SongName&".Stamps" , after that you can access the array using just "."

    To cycle through the array:

    Local Var inRange=0
    For "n" from 0 to JSON.ArraySize(".")-1
     If CurrentDuration between values JSON.Get("."&loopindex&".start") and JSON.Get("."&loopindex&".end")
     ----> Set inRange to 1
     ----> Stop loop
    
    If inRange=1 : Set "Sing" animation
    Else : Set "Idle" animation
    
    
  • I would use MoveTo behavior, it's a lot easier. You can feed it all waypoints at once and it will move along the path.