lucid's Recent Forum Activity

  • I think it should have a few ways of going about it.

    1. Load everything at start, like it is now. A lot of games are small enough that pretty much any card could load them, and then you don't have any loading issues.

    2. Upon going from one layout to another, dump everything except global objects and load all objects on the new layout into VRAM.

    3. Have a checkbox "keep in VRAM" - like for the main character, who's going to be used often, even if they're not global. Can be overridden by:

    4. Manual controls. Example: At start of layout, dump everything (except the stuff in #3), delete the objects you don't want to use, then use a "load objects in layout" command. Or the "destroy at startup" attribute will prevent an object from being loaded into VRAM.

    There might be a better way of going about it, but those're my thoughts.

    yes, yes, all that

    but the checkbox "keep in VRAM" should be toggle-able at runtime, so you can easily exclude one or two things from the dump, and decide that at each level.

  • damnit, wrote this last night, now I can't edit my post. it was like 3 in the morning, now I see all the hidden features were done by devs

    my bad guys

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • so if I put bumpmapping on a sprite, at runtime I can change lightx and lighty

    if I put bumpmapping on a layer, I cannot change lightx and lighty at runtime.

  • I don't know if I'm authorized to write one of these, but this one has proved extremely useful to me time and time again, and I haven't seen it documented. very nice time saver

    in many situations where you think you'd have to copy and paste and expression or start from scratch to do something slightly different, construct's smart back button comes in handy.

    Let's say you have a condition where if the x coordinate of sprite0 is greater than some complex expression, you take a certain action. Oops. Maybe you really should've tried this with sprite1 instead. You don't have to redo the whole thing with sprite1. Go into your original condition, and click back repeatedly until you can choose a different object. choose sprite1, and choose your the x coordinate condition again, and your complex expression will still be there. Did you mean to use the ycoordinate instead, click back and choose that condition. Even though it's a different condition, it will have your original expression where you'd expect it to be.

    This works for much more complex situations as well. Suppose you had made a normalmapped sprite and you had the infamous lightsourcing expression "(MouseX - Sprite.X) / Sprite.Width" set for lightx. Now you realize you really wanted to use a heightmap instead. You don't need to copy and paste the lightsource expression or start from scratch. Add your heightmap effect before you delete the normal map, and then go into your normalmap:set lightx action, and hit the back button until you can choose heightmap instead of the normalmap. you'll notice that lightx is already selected for you under the new heightmap tab. press the next button repeatedly, and you'll see it's all filled out for you already.

    The back button has this memorization feature in almost any situation you can think of that'd be annoying to redo, so try it out before you take the time to start an expression or condition from scratch. If you happen to stumble upon a situation where it doesn't work, you don't have to fear losing your brilliant expressions. Hit the cancel button, and everythings back to where you left it.

  • mask and erase seem to be the same things but inverse of eachother. it would be helpful if I could mask the whole layer, and then use a small sprite to cut a whole and see a little circle cutout of the layer. or the reverse for erase

    as of now if you want to do this you need to make a mask that takes up the whole view, with your actual mask shape in the middle. and if you want to be able to move it, the mask has to take up more than the view.

    there should be a checkbox on the layer or on the mask effect, that allows you to start with the whole thing masked and then your mask sprite could cut a whole in that.

    an example of the problem I'm trying to solve is in the cap below.

    the idea is to only see the circle of pink stuff revealed, but if you move the mouse around you can easily ruin the effect.

    problem.cap

    on a side note, it'd be cool if you could toggle the behavior of overlapping masks to go more transparent or less so. as of now if I put two masks over eachother, it goes by whichever is more transparent. it'd be convenient to be able to trigger the opposite behavior, or an average. it's also not possible to combine erase and mask to fix either problem.

  • so if I put bumpmapping on a sprite, at runtime I can change lightx and lighty

    if I put bumpmapping on a layer, is there a way I can change lightx and lighty at runtime?

  • click to change in each one. of course they didn't have to look different than the originals, but it illustrates that it's a new object at that point

    TileToGravity:

    Unhinge:

    if you find the animation of the unhinging to be a little awkward, it's because the center of gravity is instantly switched. it's possible to get around that. this may be accurate enough for your purposes though

  • you can do both by replacing the object with one that looks the same

    and destroying the original in the same event

    copy the x and y coordinates

    copy the angle

    and if it's a hinge you should copy the angular velocity also

    so the movement stays natural

    I can post a cap if you cant get it to work

    Ive done this before, so it definitely works

  • Is this the effect you're going for?

    not quite

    this is the effect I'm going for

    only without cheating by having a clone of the background.

    if I had a bunch of sprites and things animating behind this layer, I would still want it to work, so the method I used in this cap won't due. But it shows the effect I'm going for

  • Why don't you just crop the circle?

    I need the huge square to mask the rest of the screen. I don't want to see anything except for what's behind the circle. if I crop the circle, it won't hide the background. here I posted a cap to show the problem:

    move around sprite3, so you can see what I mean. I want the pink square to only be revealed by the circle. I realize I could've made sprite three bigger, but that's what I'm trying to avoid. if I would have cropped it, it really wouldn't work at all. this cap also let's you see how distracting and difficult it is to move around an invisible mask with a huge border. I plan to have many on screen at once to create a variety of effects.

  • thanks for the suggestions guys

    but neither is exactly what I meant

    let's say you have a background

    and you want to see the whole background at all times

    on top of the background (on the next layer) you have a sprite of a ghost and a circle

    you don't want to see the circle, but you want to use the circle as a mask to reveal the ghost

    so the ghost is invisible except for parts that are overlapped by the circle

    I can do this by making a huge transparent square sprite with an opaque circle in the middle and using mask, or a huge opaque square sprite with a transparent circle in the middle using erase. I'm trying to figure out a combination of layer and sprite effects, where I can just have the circle by itself, without needing a huge square around it. even if I need a huge square sprite I have to reuse, I don't mind. I just want the circle I'm using as a mask to be separate from the huge square, so I can move it and reshape it freely without worrying about whether the square is covering the rest of the screen.

  • I have a feeling the answer may end up being obvious, is there an effect or a technique to do the opposite of what mask does, only reveal a certain part of the layer, because, for now, if I want to reveal only a small circle of a layer using a mask, I need to use a huge transparent png that takes up the whole screen with a small circle in the middle of it. is there an easier way?

lucid's avatar

lucid

Member since 16 Jan, 2009

Twitter
lucid has 22 followers

Connect with lucid

Trophy Case

  • 15-Year Club
  • Entrepreneur Sold something in the asset store
  • 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
  • Coach One of your tutorials has over 1,000 readers
  • RTFM Read the fabulous manual
  • Email Verified

Progress

22/44
How to earn trophies