Ashley's Recent Forum Activity

  • Yeah, you need to have at least 1 instance of an object existing in some layout so Construct knows what object properties to give newly created objects. You could always have an unused layout where you throw your spare instances (they'll never be created if you never go to the layout).

  • I've created layouts nearly that size before and its worked OK for me - could you possibly send the crashing cap to ?

  • Copy/pasting layouts is a bit of a glaring omission. I'll see if we can get it in the next build or two.

  • There's currently no way to make an animated progress screen - what you can do is have a layout just before it which says "Loading" on it and straight away goes to the next layout. While the next layout is loading, it'll be frozen on the last image displayed, which will be the loading layout.

    Out of curiosity, how big is your .cap file?

  • -you have a cloud texture which fades to black on the edges

    Often additive or screen looks good if you have a texture drawn on a black background.

    [quote:xknux4ad]how come theres no way of editing the alpha channel as just a black and white image

    The built in tools already use alpha channels. Have a play with the brush hardness etc - you can draw with nice soft brushes which automatically affect alpha. Or, you can use the Erase tool in a similar way, with hardness to erase softly from images. So you could draw your cloud, and use the erase tool to soften out the edges with alpha.

    I don't think theres any real need to edit the alpha separately as a black and white channel. I think the brushes the picture editor has do a good job. And of course you can always draw graphics in more advanced editors like photoshop and import them - but I think even photoshop doesn't have a separate alpha channel editor

  • In the example file I posted previously I can't reproduce any increasing inaccuracy with low framerates. As I mentioned in the post, even at 2 FPS it usually lands within a pixel of its target.

    Going back to my point about pixel precision of fast moving objects as Jeswen mentioned - I don't think it matters that much if a bullet is a few pixels out. You'd never be able to spot the difference. I understand it's a problem if you need pixel perfect platform movements, but I was suggesting that platform movements would tend to be at low speeds, so still having a high accuracy.

  • My point was, though, isn't it unlikely that the games and movements where this kind of accuracy matters would use speeds as high as 400? That's a high speed for a platform movement, for example.

    Maybe someone with experience making pixel games could shed some light on this for me.

  • So I've been trying to make a game with save/load capability using a global array

    Why not use the System object's save/load actions? They can save the entire game state to disk.

    [quote:ipk14z1x]In every layout I have a copy of the same array with the "Global" flag on.

    You should only need one array object, in the first layout, with Global enabled. Then, unless you destroy it, the same instance continues to exist the lifetime of the application. If you put other instances in other layouts, these are spawned the first time the layout is opened, and then you have multiple instances of arrays each with their own data, which might cause problems.

    Ticking global should cause it to appear in the event sheet editors for all layouts. If it doesn't, it's a bug.

  • I just remembered an expression feature I coded a very, very long time ago and forgot about: you can use the ?: operator like in C++.

    For example:

    Set Text object's Text to

    (MouseX < 320) ? "Mouse is on left" : "Mouse is on right"

    There's some weird stuff with operator precedence though, so you need the brackets around the condition as shown. Hopefully there aren't any other problems with it, I haven't used that for a long time...

  • If there isn't already, an if thing would be useful when making equations.

    Such as: if(equation,true,false) or if(5+5=10, 1, 0)

    that would be great <img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" />

    Try the 'Evaluate' system condition. It runs when the expression entered is nonzero. Note you can use following operators in expressions: AND OR = <> <= < >= >

    For example:

    Evaluate Sprite.X < 50 OR Sprite.Y > 100

  • Well, there's a lot of theoretical talk here. I put it to the test with a little .cap file that moves a sprite at 100 pixels per second for 1 second using TimeDelta, and measures the maximum and minimum distance it travels in that period.

    I struggle to get it to have an error (difference between max and min) of more than 2 pixels. It's usually at most 1.5 pixels. Maybe these fears it could be off by 10 pixels are overblown?

    Also, it performs surprisingly well at low framerates. Even if you fix the framerate at two frames per second, it still lands with nearly perfect accuracy every time.

    I guess I should implement the timedelta override for its various uses, but I really think people's worries about timedelta are still exaggerated. It is remarkably accurate from what I can see. And where pixel precision matters - low res games with generally slower moving objects - it still seems accurate to within pixels. You can also get around any inaccuracy with various tweening methods, such as using a while loop to move the player until they are exactly in the right place, eliminating any error at all. I would still prefer to code it this way for uniform speed of execution, even if it's more events.

    Don't worry - I'll still implement the timedelta override. But I don't think many people will ever need to use it!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • More flexibility with collision conditions is a common request, so I've added two new conditions for the System object in the next build: On Collision (advanced) and Is Overlapping (advanced). This has two object parameters to pick the objects involved in the collision, and two combo boxes - Pick or Don't pick - allowing you to customise which objects are picked by the condition.

    So, in this case, you can use:

    Blue (don't pick) overlaps Orange (pick): Set Orange X to .X + 10

    Then your example works fine: since Blue is not picked, it doesn't pick the Orange in its container, only the one it's colliding with. And it all works beautifully

    You should only use the advanced collision conditions when you need the specific picking behavior though - I don't think they're quite as fast as the usual ones.

Ashley's avatar

Ashley

Online Now
Early Adopter

Member since 21 May, 2007
Last online 18 Jul, 2025

Twitter
Ashley has 1,537,225 followers

Connect with Ashley

Trophy Case

  • 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
  • Forum Mega Brain Made 20,000 posts in the forums
  • x109
    Coach One of your tutorials has over 1,000 readers
  • x69
    Educator One of your tutorials has over 10,000 readers
  • x3
    Teacher One of your tutorials has over 100,000 readers
  • Sensei One of your tutorials has over 1,000,000 readers
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • RTFM Read the fabulous manual
  • x38
    Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

32/44
How to earn trophies

Blogs