oosyrag's Forum Posts

  • Hm.. how did you purchase C2? Usually you would need to create an account to buy it from the web store I think.

    Not sure how steam version works, but if you bought it from steam, I imagine if you install it through steam and run it through steam, it will be the full version. Just guessing though.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Ok to break it down:

    He loaded the score values in order, counterclockwise, into an array. (6,13,4,18,ect...)

    Then normalize the angle() expression (normally returns -180 to 180) with angle()+360%360, resulting in a value 0-360 (this is dAngle)

    Then map that angle to the array with (20-(round(dAngle/18)))%20. (this is dIndex)

    Based on the distance from the center, you can determine if the final score (dNumber) should be a inner bullseye at 50, outerbullseye at 25, or a multiple of the base value stored in the array.

    He uses some nice math to to be efficient. If you have trouble wrapping your head around that (and or the array), here's general pseudocode:

    If distance (from middle) is less than (bullseye size), then score = 50

    else if distance is less than (2*bullseye size), then score = 25

    else if distance is greater than (dartboard score zone), then score = 0

    ELSE

    If -10<angle<10, score = 6

    If 10<angle<30, score = 13

    If 30<angle<50, score = 4

    and so on...

    and after that if the dart is within a certain distance from the middle, multiply the score by 2 or 3 (bonus rings)

    -------- OR -----------

    The arguably simplest way is to make invisible placeholder sprites for each target zone with a score variable for each instance. This could be a lot of work though, and not nearly as accurate as the mathematical way with distance and angle (you might have overlaps or gaps).

  • https://www.scirra.com/blog/112/remembe ... our-memory

    Rather than enlarging your game resolution, you may want to consider reducing the resolution of your image with an editor.

    Generally speaking, you won't be able to use a large map all as one huge sprite. As described in the linked blog post, game developers will usually use a mixture of techniques to manage memory: tilemaps, repeating backgrounds, smart placement of transformed detail sprites, and the occasional big budget centerpiece.

  • Go to "Store" and then "Your Downloads" on the left.

  • Thanks that makes things a lot more clear! Force own texture is what I needed.

    So by having an object at the top of the layer with the Destination In or Out effect applied, that object will clip everything else below it on that layer only, while other layers are unaffected.

  • How are source and destination defined? I'm assuming source is the object or layer the effect is applied to. How do they interact with multiple layers/objects beneath them? Is there a way to isolate a specific destination (just one layer/object beneath it, instead of all?)

    I was trying to set up a simple clipping mask on scrolling menu items as an overlay while allowing other layers and game layout to be shown beneath and around the menu.

  • Try exporting to nw.JS

    https://www.scirra.com/manual/162/nwjs

    You'll need to download it seperately.

    https://www.scirra.com/nwjs

    Edit: Sorry, doesn't look like you can do it with the free version. https://www.scirra.com/store/construct- ... license-31

  • Try looking up "parsing", and see if there are any examples.

    A method I've used before is as follows:

    Export the spreadsheet as a .csv

    Import it as a project file and read the contents with AJAX (or alternatively load it from disk via nw.JS)

    Parse the values you need by using the tokenat expression, using newline and commas as your token separators

    (You may also want to use the replace() system expression to take out all the quotations marks in your file if you have them).

  • The first thing I would think of would be an array.

    Think of an array as basically a spreasheet with a fixed size (that you can modify with actions). You refer to each cell with a set of numerical coordinates.

    What information you put in the array, and what you do with the information in the array, is up to you.

    Refer to the array manual page for useful expressions, especially IndexOf, which lets you look up the location of a specific value - in your case you would want to check the username.

  • It is definitely possible.

    I don't imagine it would be particularly laggy AFAIK, even every tick, but as always that depends on your target device, how many objects you have, and what else is going on at the same time.

    Just try it out when you get a chance.

  • Try using

    On Overlap - Set speed slow

    Else - Set speed normal

  • Thanks for the recommendations, I'll check those out! I'm not running on an Nvidia so I don't get to try Shadowplay though.

  • What are people using to generate videos (or animated images) for examples or trailers? Any recommendations?

    Preferably free, but I never mind paying for software that truly offers something above and beyond what the competitors offer, like C2 I'm generally looking for something simple though, as I already have software for editing.

  • Two ways I use regularly.

    Store start and end position in variable and lerp from 0 to 1 with a dt counter/timer for a true lerp (linear).

    Or wrap the fixed step lerp based on current position to destination with ceil() or floor() depending if incrementing or decrementing, for an eased motion. Usually have to make a sub event condition for both because round() only works when lerping with a factor greater than 0.5 per tick.

    Another way I don't use normally is to have the lerp event only run when not within 1-2 pixels of the destination as a condition. I don't use this because I generally like more precise control of the final resting position.

  • I used:

    Every x seconds, ammo != 0, reloadtime = 0 | fire bullet, subtract 1 from ammo

    Else if ammo = 0 | increment reloadtime by 60*dt

    When reloadtime > x | set ammo to clipsize, reloadtime to 0

    This was for player controlled firing though, where it is possible to stop in the middle of the clip. Using wait actions in a function would indeed be the simplest.