dop2000's Forum Posts

  • With Local Storage each key is loaded in a separate thread, so you need to wait for both keys to load before you can compare them. So you can do something like this:

    It's easier to store multiple values in a single dictionary. See this demo:

    dropbox.com/s/1cz1k5x3teikbv5/DictionaryLocalStorage.capx

  • Here is an example:

  • The easiest way to do this is with MoveTo behavior:

    construct.net/en/forum/extending-construct-2/addons-29/behavior-moveto-40701

  • The best way to deal with this is to add Player and PlayerMask into a container. And same with the Enemy and EnemyMask.

    This way when you create an EnemyMask instance, its own Enemy instance will be created automatically. And they will be logically linked. So, for example, if you pick Enemy in an event, its EnemyMask will be picked as well. Read about containers, they can really help here.

    Also, it's not recommended mixing Physics with Platform or any other non-physics behavior. And I don't know much about Spriter, but I'm guessing it's not very compatible with physics either.

  • What do you mean by "collided monster"? Inside this event you picked an instance of Monster family which has collided with the weapon. So I guess what you need to do is subtract 1 from MonsterHealth, or something like that. Only the instance which collided with the weapon will be affected.

  • random(2) is a number from 0 to 1.99999999999

    random(1,3) is a number from 1 to 2.9999999999

    So yes, floor(random(1,3)) is the same as choose(1,2), and represents 50-50 chance.

  • Here is what I would probably do:

    dropbox.com/s/56j5rby2vg591lj/MouseAndTouchToFunctions.c3p

    You add all clickable/touchable objects to families. And replace all "On touched", "On object clicked" etc. events with functions. Map these functions, so you could call them by name. (this may be easier to do with the old Function plugin)

    Of course, this is a very basic example. You can add more things, for example create two global variables MouseTouchX and MouseTouchY. Add an event at the top of your event sheet which will set these variables to either touch or mouse x|y coordinates, whichever is active. And in all other events use these variables.

  • Run the game in debug mode (Ctrl-F4) and see how much memory and CPU it uses and what changes when it becomes slow. If you click "Profile" tab, you will be able to see most CPU-consuming events.

  • Set physics world gravity to 0. Also, it may be much easier to use Bullet behavior instead of Physics, just set "Bounce of solids=Yes".

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It shouldn't be a lot of work. Use the invisible sprite for movement and everything collision-related (collision with walls, bullets, enemies etc.) Use Character sprite for animation changes and everything else. Pin character to the invisible sprite at start of layout.

  • Your Update function is called twice, but the second time there are two "1" values in the array, that's why you see total 3 "hellos" in the log.

    Add more log outputs and you'll be able to see this:

  • It's not a bad code, I just didn't really try very hard to figure out what it's supposed to do :)

    As I understand, the issue is with picking instances of Item object immediately after creating them. You can only pick a newly created instance in the same tick by UID. If it's not possible, you can use wait 0 or find some other workaround. Maybe use a different array to keep track of created items or something.

  • Try Overlapping at Offset:

    Player is overlapping floor at offset Y=10
    	Set floor animation frame to 0
    
    Player is Not overlapping floor at offset Y=10
    	Set floor animation frame to 1
    
  • I don't think Turret will fire at a target which is blocked by solid.

  • Yeah, but there is no setting on Turret behavior to ignore Solids, so I'm afraid the only solution is to not use Solid on enemies. You'll need to prevent collision of tanks and enemies with events.