GeometriX's Forum Posts

  • What you want is the condition "Is overlapping another object".

    The rule for conditions in C2 is those with green arrows are triggered only once when they occur, whereas those without arrows are triggered perpetually while that condition is true (you can also modify that with the system condition "Trigger once while true").

    Welcome to the forums! I'm also pretty new here but am already finding it to be a very informative place.

  • You can use Pin at start of layout or on creation, but you first have to manually set the position and angle to match the player object (Pin is relative to its starting position). The alternative is to update the position of the player character to match that of the player box every tick.

    Just FYI, what you want is for the user to control the boxes, not the animated character, then update the character to stay with the boxes. All controls should be assigned to the box for the most accurate collisions and controls, and animation changes should be assigned to the character.

    capx

  • I suggest you to include in your game a detail level option and every eyecandy in a family ready to be destroyed at the start of layout when the option is set to low.

    If you have some visual effects with objects created at runtime (and you'll likely have them in your game) put all the events in groups ready to be disabled.

    This could be a good approach to make a visual appealing game on desktops without sacrificing smoothness on mobile.

    Thanks, that's a good idea. I'm currently killing all particles if mobile is detected, but as I push for that balance between visual fidelity and playability later in development, that'll be an easy way to accommodate for low-spec mobile devices. If I have enough devices for testing then I might even be able to set three levels of visual effects that the user can toggle between.

  • It's a matter of using the pick nearest instance condition.

    capx

  • I'm aiming for release on both PC and Android for my current project (with iOS shortly behind), so I've been keeping an eye on mobile performance as I go along. Not religiously optimising yet, but just making sure that performance stays good. At the moment my game is visually quite simple but is already over 100 events, and I've got a pretty steady frame-rate of 62 on my GS3. I'll obviously test on a wide range of devices when I get into alpha and beta.

    Two things that I've noticed that cause significant performance drops: 1) a very short but noticeable FPS drop occurs when loading large-ish images during gameplay (i.e.: spawning sprites that I've had "parked" in other layouts), and 2) using any particle effects with sprites that use varying opacity or spawning at a rate of more than 10-20 instances per second.

    So all I've really had to deal with is the creation of replacement visuals for those particle effects. Sure, looking at current high-end 3D mobile games you'd think a few particles wouldn't be a big deal, but this is still early days for me learning how to optimise for the platform and I plan to get the most out of it while keeping the FPS at least above 30.

  • If I understand your question correctly, setting angle is easy enough, just use Every tick, AI Set angle towards (Player.X, Player.Y).

    capx

    Is that what you meant, or am I missing something?

  • I'd suggest that you do it in two parts:

    1) Instead of moving the mouse, have the user click inside a starting block to initiate the maze. That way, you're avoiding doing that which I don't think anyone would actually appreciate (moving their mouse), and you've basically worked around the issue (which I don't think is possible in C2; maybe there's a plugin that can be coded to do it though).

    2) Once the maze has begun (i.e., the player has clicked in the starting area), set an action to change the mouse cursor to a sprite (Mouse -> set cursor from sprite) which can be your square or whatever you want. This effectively hides the mouse cursor when it's inside the game window. You can then set up an invisible block to follow Mouse.X and Mouse.Y at every tick, which is actually used to detect collisions with the maze walls.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • There seems to be a problem downloading the plugin. When I click on the link It opens in notepad. Is this normal?

    It looks like an error naming the file. rexrainbow

    You should rename it to rex_moveto.7z.

  • And here, just because I wanted the opportunity to try this out myself: a capx

  • There aren't any issues with plugins that I know of, but I'm also fairly new here so might not be the best person to answer that.

    The catcher shouldn't interfere with anything else or prove to be difficult at all. It'll be set to invisible and won't have any other behaviours like solid or physics. It's really just target and a destination. But post a more specific issue if you come across one when you're working on it and we'll see what help can be offered.

  • Simplest method? Install rexrainbow's MoveTo plugin.

    If you want to do it without any plugins (to upload to the Scirra arcade, for example), then you could still use your custom movement idea, but have an invisible sprite in position to "catch" the moving object. Then just set up an event something like: Player Is overlapping Catcher (System Trigger once) -> Player CustomMovement Stop

  • I don't think it has anything to do with the update.

    In event 73, you need to set Playerbox to be the triggering object, not Player. Player's collision box isn't reliable because of changing animations, and it's for reasons like this that the tutorial recommends that you use a separate collision object (Playerbox) for all collisions.

  • tianxxxchris Cool, glad to be of help :) I'm also still learning C2 so it was a good opportunity to stretch my brain and learn some new functions.

  • Ashley What about giving developers the option to tweak texture loading? I.e.: actions to load individual textures (per sprite/family) or for a full layout. If it's set as an action, and not automated when the layout loads, we could set up our own streaming mechanisms to load the next layout while the player is on the current one. Keeping the initial download time down and getting players into the game quicker.

  • It seemed like an interesting challenge so I decided to have a go at solving your request.

    Here you go: dl.dropbox.com/u/14522925/SpriteDrawing.capx

    It's not perfect - the captured image seems to be offset for some reason but it's late and I don't have the energy for bug hunting :P

    Still, it should get you off to a good start. Should be simple enough to figure out but let me know if you're confused about anything. It basically uses canvas snapshot but first sets up the scene to capture just a small area (the working area). Just FYI, the wait 0 seconds seems to be required, otherwise the capturing doesn't work properly.