dop2000's Recent Forum Activity

  • mrmlabs On start of layout if global variable selected_player=1, create sprite player_1, otherwise create sprite player_2. Or you can use "Create by name" action, and create object "Player_"&selected_player

    I also suggest moving the instance variable selected_player to family level (see the link I posted above on how to do this). This will allow you to use this variable in events with the family object. For example, you might have something like this:

    On bullet collision with PlayersFamily: 
    	PlayersFamily.selected_player=1 -> Spawn green particles
    	PlayersFamily.selected_player=2 -> Spawn blue particles
    
    
  • Wow, 37 events to rotate one sprite! :)

    You can remove the slider bar and do this with just one event:

    Mouse left button is down: Sprite set frame to ((mouse.X+180)%180)/5
    

    Also, set animation speed to 0 in the sprite editor.

  • This is not a bug. Your game is crashing because you created an infinite loop, probably recursively calling the same function.

    Here is a simple demo I made with Tile Movement, maybe it will help you:

    dropbox.com/s/tvzassvj4pgxe5k/TileMovement_RandomRunner.c3p

  • Your events seem ok to me, it's difficult to say why they don't work.

    I suggest you output Array.AsJSON and i_TargetDirection into Browser Log in all these events, to see what exactly is happening with the array and the variable.

    I understand, this character is moving on a grid? Why don't you use Tile Movement behavior? This may be easier.

    • Post link icon

    Ok, so in this case I would use two tags - "MenuMusic" and "LevelMusic". Level music are random tracks, but played with the same tag.

    On start of menu layout, stop tag "LevelMusic" and start "MenuMusic".

    On start of any level, stop tag "MenuMusic", and start "LevelMusic". (only if this tag is not playing already)

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
    • Post link icon

    It don't think there is any difference between C2 to C3 here, and the runtime should also not matter.

    I don't understand - you want to play Music1/Music2/Music3/Music4 in levels, and when switching to Menu you want to stop level music and play MusicMenu? When switching to level, you want to stop menu music? Or when any music is already playing, you don't want to interrupt it?

    • Post link icon

    Use tags! Check if tag "music" is not already playing, only then start playing music with tag "music".

  • It's hard to help you without seeing your project. You can apply force to wheels when the plane is upside down, I guess, but it will also drag the plane up. Or use two joints (to form a triangle) to make rigid connection.

  • You do not have permission to view this post

  • To pick a random value from the array, use this expression:

    Array.At(int(random(Array.width)))

  • When you use "Enemy has LOS to player" condition, this picks all enemy instances that have LOS. For example, if you have 10 enemies, this event can pick 2 of them. Everything you do inside this event, will only apply to those 2 picked instances. So you can tell them to chase the player, using Pathfinding behavior for example.

    You can add another (inverted) event "Enemy does NOT have LOS to player", this event will pick the remaining 8 enemy instances. You can stop their movement, or something like that.

    It's a good idea to define an instance variable on the enemy, for example, State. For chasing enemies set State="chasing", for other set State="patrolling", this will give you more control and allow you to distinguish them in other events. So your code can be something like this:

    Enemy has LOS to player
    Enemy State="patrolling"
    	Enemy set State="chasing"
    	Enemy find path to player
    
    Enemy on path found 
    	Enemy move alone path
    
    Enemy does NOT have LOS to player
    Enemy State="chasing"
    	Enemy set State="patrolling"
    	Enemy Pathfinding Stop
    
    
  • You need to also restart layout. However, if you have any global objects (like arrays, dictionaries etc.), they will not be reset. Also, static local variables will not be reset. You'll have to clear/reset them one by one with events.

dop2000's avatar

dop2000

Member since 26 May, 2016

Twitter
dop2000 has 279 followers

Connect with dop2000

Trophy Case

  • 10-Year Club
  • Entrepreneur Sold something in the asset store
  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Forum Wizard Made 5,000 posts in the forums
  • Forum Unicorn Made 10,000 posts in the forums
  • x5
    Popular Game One of your games has over 1,000 players
  • x2
    Coach One of your tutorials has over 1,000 readers
  • Educator One of your tutorials has over 10,000 readers
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • Enduring Visitor Visited Construct.net 90 days in a row
  • Unrelenting Visitor Visited Construct.net 180 days in a row
  • Continuous Visitor Visited Construct.net 365 days in a row
  • RTFM Read the fabulous manual
  • x3
    Quick Draw First 5 people to up-vote a new Construct 3 release
  • x14
    Great Comment One of your comments gets 3 upvotes
  • Delicious Comment One of your comments gets 10 upvotes
  • Email Verified

Progress

30/44
How to earn trophies