dop2000's Forum Posts

  • Easiest way - with MoveTo behavior:

  • Like I said, it's quite easy:

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

  • Your link got shortened and doesn't work.

    Try posting it without the "http://www" part

  • You are probably picking the wrong portal in your events.

    It's hard to tell without seeing your project.

    Could you share your capx?

  • You can probably do it with tilemap.

    Or try Paster plugin:

    Or a combination of Tilemap + Paster.

  • Wossi

    Try not to use pin, bullet, sine or any other similar behavior with Physics object.

    It's an official recommendation from Scirra:

    it is highly recommended to control Physics objects entirely via the Physics behavior (by setting forces, impulses, torques etc.), rather than trying to manipulate objects by Set position, Set angle etc.

    (...) For example, setting an object's position or angle will cause Construct 2 to teleport the corresponding object in the physics simulation to the object's new position, which does not always properly take in to account collisions. The same is true of using other Construct 2 behaviors at the same time as Physics.

    I don't know if it's applicable in your game, but maybe you could disable physics behavior when it's not required, then you can manipulate objects with Sine, Bullet etc. Re-enable physics when it's needed.

    If you are only using physics for its gravity, you can try Bullet or Platform with gravity instead.

  • #5 is one leaderboard for each chapter (a group of 10 levels). So 20 leaderboards in total.

    I was thinking that high score in this leaderboard will be a sum of scores in all 10 levels of the particular chapter.

    Are you saying that I should make 200 leaderboards instead?

  • Project -> Files -> right click -> Import files

  • This task shouldn't be too hard.

    When a second touch is registered, save distance between two fingers in a variable.

    Then on every tick calculate new distance between two fingers and adjust zoom accordingly.

    Make sure that none of the other touch event in the game are triggered while player is zooming.

  • I tried it before posting - a loop with 360 LoS checks on every tick, I was getting steady 60FPS.

  • CSV plugins are great, I'm using them a lot in my games:

  • Swallowing - you can do it with animation, create a sequence of frames where the enemy is getting smaller. Run this animation and move enemy towards the player with bullet behavior. At the end of animation, destroy the enemy.

    Or use Sine behavior to change scale.

    Or you can do something like this:

    For x=1 to 10
        Wait loopindex*0.1
        enemy Set Scale to (1-loopindex/10)
        enemy Move at angle (angle(enemy.x, enemy.y, player.x, player.y)) distance (10)
    [/code:2tfq2ixj]
    
    It's just a random example, you may need different values for wait, distance etc.
    
    Spitting - you can simply create a smaller clone of enemy sprite, add Bullet behavior and shoot it as any other bullet. 
    (see Shooter sample projects in C2)
  • newt

    Is there ObjectB?

    I thought facecrime wanted to find a random point on the layout not visible to character. Probably to spawn an enemy there or something like that. Maybe I misunderstood the question.

  • Here you go:

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

    I optimized your code and layouts a bit.

    Global variables were probably not the best choice for storing these values.

    You can replace them with a dictionary. This will allow you to access any of them by ID, for example:

    MyDictionary Set Key ("Value" & Str(slid_line.ID)) to 70

    With dictionary you'll be able to loop through values, easily save to local storage etc.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I would do this:

    RADIUS=   [minimum distance from the character]
    r=int(random(360))
    For x=r to r+360
       xFound=character.X+RADIUS*cos(loopindex)
       yFound=character.Y+RADIUS*sin(loopindex)
    
       Character has NO LoS to (xFound, yFound)
            Stop loop
    [/code:2a553ctr]
    
    This will give you a random point at RADIUS distance. (a random line out of sight) 
    Then, if you wish, you can move this point further from the character along this line.