Asmodean's Forum Posts

  • First at all your game looks great and a very nice idea.

    I think I can't really help, your game is quite to big and I have not enough time to understand it completely.

    But I saw in your "SetearCajaResultado"-Function something that bothers me. I don't know if this could be your problem, but the first event in this function, you have an 'and'-block with 'pick all' and 'pick Caja where Caja.AsignarNumero=0'. If your player has a collision all blocks would be picked and all blocks would spawn a number. Anyway, the first condition with pick all should be necessary at all. But this is a wild guess I don't looked your game completely through.

  • [quote:1w5iiw1w]

    Why doesn't something like my example work - what am I missing?

    Because your two events fight against each other.

    If there is a collision the first event will still trigger, so the first event rotate the sprite to sprite1 and move 1 pixel and second event rotate the sprite to sprite2 and move 1 pixel at the end nothing will happen.

    Here an example that should work:

    System On start of Layout -> Sprite Set angle toward(sprite1.x,sprite1.y) 
    System Every tick -> Move forward sprite.speed*dt pixels
    Sprite On collision with sprite1 ->Sprite Set angle toward(sprite2.x,sprite2.y)  
    [/code:1w5iiw1w]
  • [quote:wxp0l1kx]

    1. How did you setup the instance variable for sprite2 for it to show as <varies>

    You can set instance variables individual for each by click on the instance in the layout and set it. If you click then in the Objects-Windows of the one object it will show no value (or varies in the add instance variable window), because the instances have different values.

    [quote:wxp0l1kx]

    2. Would the speed of moving sprite vary according to the performance of the target machine?

    Yes it would, you can prevent this if you use delta time. In this example: 'Move Forward 60*dt'.

    This uses delta time 'dt' which is the length between the ticks (normally 1/60 sec for 60 frames per second).

    If your game slows down the length between the ticks will grow. So, it will prevent that it will goes slower but it will go choppier. And if it goes to slow you can get problems with collision, because if your sprite does every tick a hop of 20 pixel it can miss the trigger for the collision and go through a wall or enemy.

  • I made a little example. Hope that will help.

    https://drive.google.com/file/d/0B5FlDY ... sp=sharing

  • I tried something and it works, but I don't know if it is exactly what you want. I changed a little bit and don't use the 8Dirction-Behavior and I have a little bit problems with wait. So I have to use a Direction 0, because if I put the wait from Direction 0 in Direction 2 it doesn't work. Maybe a more advanced programmer could say why.

    https://drive.google.com/file/d/0B5FlDY ... sp=sharing

  • If I'm not totally wrong you compare your variable measure with the distance, you don't set it.

    That what look like.

    System Every tick -> set measure to distance(Player.X,Player.Y,Guard.X,Guard.Y)
                         set text to "Distance: "& measure
    [/code:8hyf1flo]
  • I Edit my post. Please look again if this works better

  • Edit: was nonsense

    I changed a little bit in your order.

    And it seems to work.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I hope I understood the question correctly. It would easier to answer if you had provide a capx.

    But what I understood so far, you could use: System Pick all (your objects) -> set direction=2

    Then all instance variables of your objects should be set to two.

  • Hi balsh,

    I made an example that seems to work.

    https://drive.google.com/file/d/0B5FlDY ... sp=sharing

    But I had trouble that an enemy stuck on another enemy after some amount of time. The same effect did I had with the solid behavior.

    So the enemies now hold a distance from 2 pixels if they collide. Fewer and they will stuck. It is possible that if your game get choppy they will stuck on each other again. Then you have increase the distance.

  • entryz

    You're welcome. Don't hesitate to ask if there is something unclear.

  • imagine you have numerous grids that form a single entity and you have to duplicate that entity multiple times, with Object Orientated Programming, all you have to do is to make them all into a Single Class/Object and then just instantiate their single Object.

    Isn't that what Containers do?

    Placing objects in a container has the following effects:

    If one object in a container is created, every other object in its container is also automatically created.

    If one object in a container is destroyed, every other associated object in its container is also destroyed.

    If a condition picks one object in a container, every other associated object in its container is also picked.

    You have even some kind of constructor with 'On created'.

  • entryz

    I made a little example. It's that what you're looking for?

    https://drive.google.com/file/d/0B5FlDY ... sp=sharing

  • Sorry, but I don't understand this sentence.

    Because the item that i want to show on the last created platform keeps going to the last created platform instead of being there until reaching the bottom or player touching it.

    Do you want that the item to remain on the 'last' platform where the item is created and is not exclusively on the last created platform?

  • You can do like Newt here suggested and use Pick nth Instance and Sprite Count.

    System Pick Platform instance Platform.count-1 -> do something.