dop2000's Forum Posts

  • Well, according to Ashley, new recompressing method now supports PNG-8. Maybe your spritesheet size is too large, so multiple PNG-8 images are added to one file, forcing it to be saved with 32 bit palette. Try reducing "Max spreadsheet size" in project properties.

  • Did you tick "Recompress images" when exporting?

    If your original images are in jpg or other lossy format, they may grow in size when converted to png.

  • Don't worry about it, you can choose to re-compress images when exporting your game.

    What matters more is how much memory images use in runtime, which you can check in Debug Mode.

  • I am guessing you are using Construct 3? You need to post in Construct 3 forum!

    This is Construct 2 example and the "Replace color" effect works differently here.

    In C2 it takes 6 parameters, each color channel separately.

    In C3 it takes 2 parameters - source and replace colors as RGB values.

    Change the code like this:

  • Since in event 139 you pick one instance of Buildings (last created), you can't check if it's overlapping other Buildings in sub-events. Because the picked scope of "Buildings" has only one instance.

    You need to check if Buildings family is overlapping Building sprite.

    If you have multiple building sprites in the family, then create another family BuildingsClone. And check if Buildings is overlapping BuildingsClone.

  • According to google, .PLIST files are actually XML files. So you can import and deal with them as with any other xml file - request with AJAX and load into XML object.

  • See this demo:

    howtoconstructdemos.com/scrolling-a-list-of-players-scores-images-etc-example-a-capx

    Also, there is an awesome new collection of UI addons, it has a scrolling menu:

    aekiro.itch.io/proui

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You can't create image points. At least not with conventional methods, maybe there is an addon for that. You can just use a pair of instance variables to store that "virtual image point" coordinates.

    Detecting the exact point of collision is another issue. I have a demo, but it's quite complex.

    If you explain why you need all this, maybe we could suggest another solution.

  • Why did you create exactly the same post as yesterday?

    What is a dynamic image point? Why can't you just pin one sprite to another on collision?

  • Array Load from AJAX.LastData

    Not from "Overworlds data" or whatever, and don't use quotation marks ("")!

    Look at my screenshot I posted earlier and do exactly the same.

  • Global variables will store values when you switch between layouts, unless you perform "Reset global variables" action.

    If you need to reset most global variables, but want to keep some values, here are the ways you can do it:

    • store values in an array or dictionary
    • you can make a static local variable in an event group. Static local variables are not reset, but you can only access them from within the group.
    • you can create an instance variable on a global object (array for example), or create a dummy object (empty sprite) and set it as global
    • save in Local Storage
  • Yeah, pirates are scary. But you posted a link to C3 editor, and I'm sure pirates know about this link already..

    You need to save you project as a C3P file. Upload this file to Dropbox, Google Drive or similar service, create a share link and post this link here.

  • And another addition, I've done a fair amount already using C3 arrays but I really don't like the way they work. If the stuff gets too complex, it starts to feel like I'm wrestling with C3 rather than coding.

    I agree, that's why I prefer using object instances instead of arrays. A bunch of instances with instance variables basically represent a multi-dimensional array, and it's much easier to work with it.

    For example, if you need an array of football players, create 11 sprite instances for each team (they may be invisible or off-screen). You can define many variables (name, score, salary etc), and then easily do whatever you want with events - pick any player or a group of players, filter them by many parameters, make bulk changes, find min/max values, sort, remove etc.

    If you still prefer to work with Javascript array, you can return its data back to C3 events as a JSON string, but I believe it will not be compatible with C3 Array object. You can load it into JSON object though. Another option is to return a comma-separated string, which you can then parse with tokenat/tokencount expressions, or use CSV addon to convert to array. Or create a function in the script which will update C3 array with the data from your JS array:

    construct.net/en/make-games/manuals/construct-3/scripting/scripting-reference/plugin-interfaces/array

  • If it still doesn't work, please post your project file. It's tiresome when you reveal only a small bit of information at a time..

  • If you do exactly like on my screenshot, it should work. Run the game in Debug Mode and check the array contents.

    If it still doesn't work, please post your project file. It's tiresome when you reveal only a small bit of information at a time..