oosyrag's Forum Posts

  • I got another one week time to complete my project. I implemented swipe function but now i m struck.

    http://bit.ly/1R2TLDx

    the above link is the capx file.i have spawned four tiles using a single sprite and in each tile i displayed animation frame (0,3,6,9).

    i have totally 11 frames in tht sprite. when i tap the first tile it should change to next frame,on next tap on t1(tile 1) it should change to next frame but it shouldn't exceed frame 3...after frame it should start from frame 1...like that for tile 2 frames (should b 3,4,5) ;tile 3=(f 6,7,8);t4=(f 9,10,11)......how to do this ?

    i made a pseudo code but it not working..

    PSEUDO CODE

    on tap gesture on block |

    while(x<4) | block.color=block.color+1 //color is instance variable

    if(x>3) | block.color=block.color-3

    | x=0

    someone tell me how to make this pseudo code work

    and i have another doubt i will post it once i got this cleared ,at the same time i ll try to implement tht myself.

    Ok you have a few issues here. First you don't need a "While" condition- that will make the event run over and over again until the other conditions are false.

    Second you don't want the x>3 as a sub event of x<4 - the sub event will only run if the parent event does - basically if x is 4, the parent event won't run, and the sub event won't either.

    From there you also have a couple more problems. One is that your x global variable will cycle 0-1-2-3-4-1-2-3-4-1... ect, but this global variable will be shared for all your blocks and not each one individually.

    The other problem is that Block.color as an instance variable, and doesn't actually change the color of the block or do anything at all by itself. You want Block - Set animation frame to Block.AnimationFrame+1.

    Put those two together and you might realize your animation frame will keep going up no matter what your x variable is, so you'll need to rethink through your logic a bit. You probably don't need the x variable at all. I suggest having an instance variable for your block with the starting frame number.

    Block.AnimationFrame < Block.OriginalFrame+4 | Block - Set animation frame to Block.AnimationFrame+1
    Block.AnimationFrame = Block.OriginalFrame+4 | Block - Set animation frame to Block.OriginalFrame[/code:11biidh9]
  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • That sort of game actually shares a lot more in common with the top down mechanics than platformer mechanics. You'll be using 8 direction movement, with some limitations on where on the screen you can go. I believe the top down shooter tutorial also has examples for endless enemy spawning.

  • Not a question, but I came across this and liked it, so I thought I'd share.

    Different types of lerp motions and a visualization of the math needed to create them -

    http://i.giphy.com/3ornjK3itVx9NZ3WUM.gif

  • From the other thread -

    Conditions

    Array - For Each Element

    SubEvent Conditions

    System - While

    System - Compare two values - IndexOf(Array.At.CurX) != LastIndexOf(Array.At.CurX)

    Action

    Array - Delete LastIndexOf(Self.At.CurX)

    This is for a 1d array, but it will still work if you add an additional sub event to check that the second value also matches in both.

  • Yes that sounds like you'll want to use the physics behavior. I'm not too familiar with it myself, but the idea should be similar.

  • Conditions

    Array - For Each Element

    SubEvent Conditions

    System - While

    System - Compare two values - IndexOf(Array.At.CurX) != LastIndexOf(Array.At.CurX)

    Action

    Array - Delete LastIndexOf(Self.At.CurX)

    Edit: Changed Self/Array in the expression, since you can't use self in a system condition, formatting, sub event for two the two loops. Yikes made a lot of mistakes actually, glad you understood

  • I would actually recommend creating your poll on Google Docs and just making a link to it from your game, if it is not integral to your game.

  • What is a click and play?

  • Just change the blend mode so that your source is completely blocked instead of atop for the silhouette.

    https://www.scirra.com/manual/146/effects

    I think the one you want is Destination Over, but I'm not 100% sure. Quick experimentation will help you find the correct effect.

  • Bandwidth is important for the host, as the bandwidth required for data transmission scales for every peer that connects - the host has to send and receive from ALL the peers, while each peer only has to send and receive from the host.

    3g or 4g, you can have a very large bandwidth on a cellular connection, but generally speaking the latency will ALWAYS be bad. This is why real time synchronous mobile games are very rare. Most mobile games are either asynchronous, or set up in a way where timing and lag don't make little difference on game play. Otherwise, you will need to develop some creative and robust lag compensation techniques, which can be done, just troublesome.

  • Two seperate chrome windows, non minimized works for me.

    As for emulating bandwidth, VMs are probably your best bet, but I wouldn't think it worth the trouble... bandwidth is generally not an issue unless you start getting into huge numbers of peers, and in that case it only matters for the host and you'll probably want a dedicated host on a big pipe anyway. Latency is usually the main thing to worry about, and even then you usually don't have much control over that.

  • Sorry those should be Self.OriginXVariable and Self.OriginYVariable.

    For changing on tap, you can use sub events on the Touch - On tapped TileSprite condition, then compare values.

    Touch - On tapped TileSprite 
           
             System - Compare two values - TileSprite.AnimationFrame = 4 | TileSprite Set Animation Frame to 7
             System - Compare two values - TileSprite.AnimationFrame = 7 | TileSprite Set Animation Frame to 11
             System - Compare two values - TileSprite.AnimationFrame = 11 | TileSprite Set Animation Frame to 4[/code:fqbomx5c]
  • Check out newt's link, it should have exactly what you're looking for.

  • That's pretty much exactly what I put in the capx I uploaded, and it was working for me - the only difference was that I created the sprite in C2's editor instead of importing it. So if that one doesn't work for you... latest version of C2 and nwjs?