dop2000's Forum Posts

  • Check out this demo I made:

    dropbox.com/s/gk1w7g9njs5gwj7/RotatingKnob.capx

  • I may be wrong, but I think the only option is make a pseudo-pixel graphics. Where each "pixel" on the image is actually a rectangle (say 10x10 real pixels). Of course your images, window and layout size will be much bigger. But this should allow you to scroll everything smoothly.

  • Physics objects only interact with other Physics objects. Objects with Solid behavior interact with Platformer, 8-direction, Car and many other behaviors. It's generally a bad idea to mix Physics with any of other movement behaviors. In other words, don't have both Platform and Physics behaviors enabled on one object at the same time.

    I believe immovable object uses much less resources than movable, but it's still a Physics object.

  • I imagine if you just put lots of objects onto the layout, there will be no difference in performance. It all changes once you start adding behaviors and events to your game.

    Keep an eye on the number of collision checks in debug mode, don't let it go to very high numbers. Don't overuse "heavy" behaviors like PathFinding. Minimize the number of events that are run on every tick. Don't apply too many effects to objects. And then you'll be fine.

  • You can modify collision polygon for individual tilemap tiles (for example to make 45 degree slopes). You can also rotate and flip tiles.

    In your example it may be better to use TiledBackground. It has a fixed collision polygon, but you can rotate it to any angle and stretch to any length without distortion.

    You can also use a combination of all 3 object types, it's entirely up to you. For example, the main collision map is made of TileMap (it can even be invisible). And some elements like floating tilted platforms are sprites or tiled backgrounds.

  • You can also set object as Global and then it will not be destroyed when you switch to another layout.

  • Please post your project file or a screenshot of the event.

  • Well, looks like you have lots of big images. You might need to optimize them.

    construct.net/en/blogs/construct-official-blog-1/remember-not-to-waste-your-memory-796

  • An even better solution would be to not create a new enemy if there are already too many enemies on the layout.

  • There is no such thing as "choose event", but there is choose() expression. You can use it to create conditions like this:

    Every 1 second
    System compare two values choose(0,1)=1 : Create enemy
    
    

    So every second there will be a 50% chance to spawn a new enemy.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Here is an idea just off the top of my head -

    on collision with wall, remember current object position in variables tempX, tempY. Set a random angle, move object about 20px at that angle, check if it's overlapping the wall. If it is, return it to (tempX, tempY) and repeat.

    If it is not overlapping, then it's safe to bounce at that angle, return object to (tempX, tempY) and set bullet angle of motion to it.

  • Taximan Try eliminating one thing at a time and see how this affects memory usage. For example, try removing ads first. If this doesn't help, try removing half of your text objects (even if your game won't work after that, it doesn't matter, you just need to check memory usage).

    Once you know what's using most memory, it will be easier to find a solution.

  • Since you are passing UID to a function, you need to pick only 1 instance at a time. So you need to add "For each Inimigo_01_walker" loop to the "Every tick" event.

    Here is the best way to organize the events:

  • You can assign ID and change CSS properties with "Form controls" objects (button, text box, progress bar etc.) But if you are planning to add just these objects to the layout and then control them from external scripts, this would be a very weird use of Construct.

  • Add this sprite to a family. Change your event to this:

    On double-click on IconFamily : IconFamily spawn Icon

    Then you'll be able to refer both instances in the same event - set icon.property to (IconFamily.property)