linkman2004's Forum Posts

  • Event 44 is unnecessarily complicating things. Remove it and set the object's Y vector in event 42 instead and you should be golden.

    On a side note, you should have an event that sets bounce back to 0 upon jump. If you don't do this, your bounce state can get messed up if the player jumps right as they're first hitting the ground.

  • , instead of using Set layer angle, use the Set layout angle action. This will rotate the entire layout.

  • The problem with what you're doing is that you're essentially comparing each icicle's Y position to itself, rather than to the other icicles. Instead, I'd recommend running For Each (ordered) on your icicle object, setting the expression to the icicle Y position, and running in ascending order, then run your move to top action. This should loop through each of your icicles from top to bottom, sending each subsequent one to the top until they're all in proper order.

  • Alternative version without shaders -- it does, however, use R0j0hound's Canvas plugin. This method is similar to how it would be done using a separate render target in another framework, such as MonoGame. It's not as elegant as the shader solution, but it gets the job done if shaders aren't an option.

  • That's a clever effect there. To simplify even further -- reducing it to one event -- you could do something like this:

    Every 0.2 seconds, set opacity of WaterFall_1 to (WaterFall_1.Opacity - 100) * -1[/code:qzsunxlu]
    Which -- given a starting opacity of 0 or 100 -- will toggle the object's opacity between 0 and 100 every 0.2 seconds.
  • Find out the combined height of all of your stacked objects, then every tick set the Y-scroll(Scroll to Y in System object) to something along the lines of:

    clamp(scrolly, 0, CombinedHeight)[/code:2ad69kcr]  
    This will set the Y-scroll to its current value bounded by 0 and the combined height of your objects.  
    
    Ideally, this should be the last action in your event sheet so that prior events which change the Y-scroll don't override your bounding.
  • Use the ImagePointX and ImagePointY expressions of your sprites, passing in either your image point index or name in parentheses after the expression. For example

    Sprite.ImagePointX(0) returns the X coordinate of the image point at index 0(which is the origin) of Sprite.

    Sprite.ImagePointX("bob") returns the X coordinate of the image point named "bob" of Sprite.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Before getting into fixing this, I'm going to stress something: wait is already frame rate independent, although weird things may happen if you wait really small amounts of time, such as 1/60 of a second(i.e., less than the length of one frame).

    That being said, the method you've chosen isn't the best way to go about this, and seems overly complicated for what it is. I've modified your example to demonstrate the behavior I believe you're wanting.

    [attachment=0:1jncab00][/attachment:1jncab00]

    I've replaced all of the complicated timing with some basic math. If you're not familiar with trigonometry -- cos and sin are used here -- I'd highly recommend doing a bit of research, as even the most basic trig is an indispensable tool for game creation.

    Let me know if you want a more detailed explanation of what's going on.

  • Jagged edges are from your lines pivoting at the wrong point -- they should pivot from the end of the previous line segment, not in the middle. To solve that, move the line's origin to the left side of the image(just press 4 on the number pad). I also found that adding only 4 to the width of the new line -- instead of 15 -- greatly improved line smoothness. You'll still get gaps when moving the mouse really, really fast, but that's because your line graphic doesn't extend to the left and right edges of the canvas.

  • Including an event sheet in the active layout will not make it accessible in subsequently accessed layouts. You'll have to include the event sheet for each layout individually.

  • Run a For Each (ordered) loop sorted by the expression enemy.y, order ascending, then add an action to send the current enemy to the front. That will order all of your enemies properly relative to each other, then it's just a matter of properly ordering your other objects among them.

  • This has been brought up a few times in relation to the "most efficient" size question. In the case of separate images right next to each other on the same sheet being drawn, it may be the case that the edges of one image bleed over onto the edges of an image being drawn. For this reason, a 1 pixel buffer is added to prevent these edge artifacts, and the most efficient size is thus 2 less in each dimension than the nearest power of two size.

  • ramones is right, the "WATERMELON CITY" sign is solid by inheritance. From the looks of things, you have that object in a family called "FamSolid" -- if any object in that family has the solid behavior, then all other objects in that family inherit it.

  • You can't specify which object in a family to create -- the only option currently is to explicitly create the exact object you want.

  • Burvey - Hate to say it, but that's not even remotely the same effect as actual motion blur.

    imothep85 - I'd take a gander at this thread where someone simulated the effect. The best way would be to use a shader specifically for this effect, although I'm unaware of anyone creating one aimed at C2.