dop2000's Forum Posts

  • max2612 It's on the properties panel:

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Two ways to do this:

    1. Use System->Set Time Scale=0 for the object with Timer. This will stop everything for this object.

    2. Save timer remaining time in a variable (I believe it's object.Timer.Duration-object.Timer.TotalTime)

    Then stop the timer. After player answered the question, start the timer again for the remaining time.

  • NeronSparda

    Mayfly

    Here are my thoughts -

    I think Bullet behavior would be a poor choice for a billiards game, it's very inaccurate. Physics may work a little better as you can set "Collision mask=circle" for balls, but I'm still not sure.

    If you want precision, you will need to calculate reflection angles and collision points in advance. Collision points too because a fast moving ball can travel long distances in one tick and if you rely on C2 collision detection, it will also be very inaccurate.

    You can also try these plugins:

    https://c2rexplugins.weebly.com/rex_light.html

    plugin-jcw-trace-raycast_t172320

  • Are you moving the sprite with Bullet behavior?

    If yes, disable "Set angle" in Bullet settings.

    Then use Bullet->Set angle of motion -> Angle (sprite.x, sprite.y, destination.x, destination.y)

  • Darxoon

    Say you have Enemy sprite with instance variable Health.

    And you want to count all enemies with full health and display this number in MyText.

    Add event

    Enemy -> Compare instance variable Health=100 -> MyText set text to ("Enemies with 100% health:" & Enemy.PickedCount)

  • Local Storage has nothing to do with layers or layouts.

    It's just a method of storing data. What data you store and when in the game you retrieve it - it's up to you.

  • Well, if you want the bullet to immediately change angle, you can remove the alnglelerp part.

    Simply set angle to angle(Self.X, Self.Y, Target.X, Target.Y)

    anglelerp was to make the trajectory smoother.

  • Try this:

    Every tick -> BulletSprite set Angle to anglelerp(Self.Angle, angle(Self.X, Self.Y, Target.X, Target.Y), dt*4)

    In Bullet behavior set "Set angle=Yes"

  • What you probably looking for is Else condition.

    If condition A -> action A

    else -> action B

    You can also use other conditions after Else:

    If condition A -> action A

    else if condition B -> action B

    else if condition C -> action C

    else -> action D

    "Else" can't be used with triggered events like "On created" event on your screenshot.

    Triggered events have a little green arrow and usually start with "On.."

    You can see the list of all expression in the expression editor, there is a semi-transparent window with all objects in your project. If you click System for example, you'll find all system expressions.

  • I'm guessing you want to select rotation direction randomly?

    Use choose(0,1) to "flip a coin".

    if choose(0,1)=1 then rotate clockwise

    else rotate counterclockwise

    Or you can use choose() expression in a formula: Rotate (choose(-1,1)*degrees)

  • No worries!

  • Sorry, I had to change pretty much everything:

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

  • If I understand you correctly, you can try this:

  • RBARON85

    You have to do this in 2 steps:

    Step 1. Pick an instance of the sprite.

    You can use any method to pick an instance:

    Sprite->Pick by unique ID - if you know the UID

    System->Pick random - if you want a random instance

    Sprite->Pick nearest/furthest

    etc.

    Step 2. Move to (Sprite.X, Sprite.Y) position.

    Again, there are plenty of ways to do this. The easiest is MoveTo behavior, or you can use Bullet, LiteTween or simply move your object a couple of pixels towards (Sprite.X, Sprite.Y) on every tick.

    Note: Step 2 should be a sub-event to step 1.