dop2000's Forum Posts

  • To add to the previous comment.

    If numbers are sequential as in your example, you can use "System -> Is between values -> floor(random(100)) between 1 and 5"

    There are also a few workarounds to optimize it. For example, you can do this:

    Compare two values-> find ("#1#2#3#9#15#" , "#" & floor(random(100)) & "#") >= 0

    Or install the SwitchCase plugin:

    It's a really useful plugin and I'm using it a lot in my game.

  • No, there is no Null in C2. Empty string is always "" (quotes without space in between).

  • Just a though - maybe you could do this without the array, using Pick Nearest event.

    If Right key pressed:

    First try to Pick Nearest green sprite, which is on the same row (sprite.y=current.y), and which is to the right from the current (sprite.x>current.x)

    Else (If none picked):

    Pick Nearest green sprite, which is to the right from the current (sprite.x>current.x). Nearest from any other row will be picked.

    EDIT: When using "Pick nearest" with other conditions, "Pick nearest" needs to be the last in the list:

  • If your collision polygons are rectangular or close to circle shape, you can calculate the collision point. Otherwise, not sure if this can be done..

  • As I said in my previous comment, you don't need to destroy text2 and you don't need to create text2!

    Remove entire event 16, and remove "create Text2" from event 18.

    When you create Text2, another pair of Bad+Text2 is created (as they are in the same container). That's why you have some sprites scrolling to the right.

    Also, why are you destroying and then immediately creating the spCannon? What's the point?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You need to understand the difference.

    Initial Frame setting is not for defining starting frame of an animation.

    It's used to select which frame will sprite be displaying after it's created.

    Starting frame of any animation is frame #0. If you need to start animation from another frame, you can do it with events.

  • You can change the initial animation name. Just erase "Default" and type what you need.

  • Function is a good idea, if you modify it like this, it should work:

  • The right way would be to count the number of shots as MadScientist suggested.

    But my example in the screenshot above also does what you want - fires 10 shots in 0.1s intervals and then destroys the gun.

  • Not sure I understand your question.. Do you mean something like this?

  • Add an instance variable "id" to your sprite. Set id=1 for the first instance, id=2 for second etc.

    On start of the layout:

    Pick Sprite with id=1, Start timer, Start animation

    On timer:

    Sprite destroy

    Pick Sprite with next id, start timer, start animation

  • Yeah, it doesn't work like that.

    You need to insert player's name into the text using events.

    Change you text in the XML to something like this:

    "Hello %player%, you have %gold% coins."

    Before displaying the text on the screen you need to search for %player% and %gold% tags and replace them:

    message= Replace(message, "%player%", Player.Name)

    message= Replace(message, "%gold%", str(Player.GoldAmount))

  • Hey, I made my version of this game just a few days ago! But in my game the ball is bigger and moves slower, so I don't have this problem

    Try to make walls thicker, add the second line of defense.

    Remove "Ball on collision with wall -> bounce ..." event, instead add Solid behavior to the walls.

    Even after that when I left the game running for 10 minutes, the ball managed to escape.

    I would add another sprite in the top left and top right corners, just outside the layout. If the ball collides with that sprite, you will know that it has escaped, and you can return it into the layout with something like this:

    Ball Set position to (10,10)

    Ball Set Bullet angle of motion to 45

  • Unfortunately, this problem exists in all browsers, not just Firefox.

    For me the only solution was to use spritefonts.

  • Something like this?

    On button clicked
    System -> Compare two values -> Int(TextBox.Text) equals CorrectAnswer
    [/code:30aghlwo]
    
    .Text property of the TextBox stores string data, and I assume that the CorrectAnswer variable stores numbers.
    That's why to compare them you need to use Int(), which converts string into number. 
    
    Another way:
    [code:30aghlwo]On button clicked
    TextBox -> Compare text -> Str(CorrectAnswer)[/code:30aghlwo]
    
    Here is an opposite thing - you need to convert the number CorrectAnswer into string, you can do it with Str() function.