dop2000's Forum Posts

  • I think your "toggle silent" action gets executed twice, once in On Touched event and once in On Mouse Click event.

    If you are testing on PC, both events are triggered at the same time.

    So it toggles off, then on again, that's why nothing happens.

    You can set "Use Mouse Input=No" in Touch properties or remove the On Mouse event, and change your code to this:

    On Touched button
       Set Toggle_music to (Toggle_music=0)      <-this will toggle the variable, 0 will become 1, 1 will become 0
    
    System->Compare variable->Toggle_music=0
    System->Trigger once
         Audio->Pause "music"
    
    System->Compare variable->Toggle_music=1
    System->Trigger once
         Audio->Resume "music"
    
    [/code:p1ja75te]
  • For some reason I can't request full screen in my new projects.

    It still works in my old projects, but not in new.

    I create a blank project, add one event:

    Touch->On any touch start : Browser->Request Fullscreen

    And it goes full screen on PC, but doesn't work in Chrome on my android phone!

    The solution is probably really simple, but I can't find it...

  • No worries!

  • Yes, it's a workaround, but it's a legit workaround

    I think I saw it in one of the official tutorials.

    I guess you can do the same with a function. If sprites are overlapping, call a function, pass sprite UID as a parameter. Inside the function pick all sprites with UID<>param(0), check overlapping again and... not sure what's next. I remember doing something like this, but I don't remember how

    The method with the family is much easier.

  • Create a family with this sprite and use it to refer to another instance of the sprite in the same event.

    E.g.:

    For each Sprite

    ...Sprite overlapping SpriteFamily

    ........SpriteFamily Set Invisible

    ........Sprite Set Visible

  • Thanks, BadMario!

    I have many boxes on the layout that may move chaotically and fall on each other all the time, so turning Physics on/off is not an option. I only turn it off when box is dragged.

    I am trying to make stationary boxes Immovable. If this doesn't work well, I'll probably have to switch to ChipMonk.

  • I think the problem is related to the way C2 processes events, not to image points.

    I've seen the same lagging with Pin behavior:

    Create sprites A, B, C

    Add bullet behavior to A

    Pin B to A

    On every tick set C position to B.

    You'll see C lagging, probably because Construct 2 adjusts position for pinned object after all other events.

  • You mean in runtime? Pretty sure it's impossible.

    Could you tell why do you need to dynamically create layouts? If this is for procedural map/level generation, there are plenty other ways to do this, check the FAQ and tutorials:

    how-do-i-frequently-asked-questions_t63692

    https://www.scirra.com/tutorials/all

  • Thanks R0J0hound,

    Chipmonk seems to work much better! There is no shaking or sliding and objects go to sleep pretty quickly.

    The only problem I noticed so far is that there are no properties displayed in Debug mode..

    I'm a bit cautious about using such complex custom behavior in my game. Do you know if there are any issues with it working on different mobile platforms?

  • There is another way to toggle boolean using ternary operator:

    value = (value ? 0 : 1)

    (value ? 0 : 1) means "if value is true, then 0, else 1"

  • In any programming language False=0 and True=1.

    When value=0, the expression (value=0) will return True and value will become 1.

    When value=1, the expression (value=0) will return False and value will become 0.

  • I think your second event is executed after the first one, and it sets the value back to 0.

    You should move your second condition to a sub-event:

    If Q pressed 
           Value = 0   -> Set Value to 1
           Else        -> Set Value to 0
    [/code:wnkayh43]
    
    Also, there is an easier way to toggle boolean variable, in just one line:
    If Q pressed -> Set Value to (Value=0)
  • You can use Angle(0,0, Touch.Gamma, Touch.Beta) to determine the angle of movement

    and Distance(0,0, Touch.Gamma, Touch.Beta) to determine speed factor.

    How do you use these values is up to you. I tried them with Bullet behavior and it works like a charm.

  • It's hard to understand your problem..

    Can you share your capx file?

    Also your code looks really inefficient and cluttered.

    If you have lots of dialogs in your game, I suggest you look at these tutorials (they all include example capx):

    zelda-dialogue-system-capx-and-demo-included_t182559

    https://www.scirra.com/tutorials/807/ho ... -game-talk

    https://www.scirra.com/tutorials/833/a- ... e-anywhere

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Thanks, oosyrag!

    I tried native sizes and I tried setting "Collision Mask=Bounding box" for the floor and boxes, unfortunately it didn't help.

    As for the drag&drop, I used it just for this demo, in a real game I have a different control system.

    I am trying to do something with events - constantly checking if the box stays in the same place for longer than 0.1s, then changing its elasticity to 0, or even set it as Immovable, but it doesn't work very well. I really hope there is an easier solution.