Mikal's Recent Forum Activity

  • Added runtime custom skin support per instance (Create custom skin, Add to custom skin, Set custom skin). Can have multiple runtime created custom skins per instance.

    Release 1.13.0

  • A number of new updates. The batch render improves desktop performance of multiple instances by roughly 4X on my example system. The support for multiple atlas pages allows for multiple pngs to be loaded for a single skeleton (this can help with multiple skins with different textures per skin or attachment.)

    • 09/11/2020 1.12.1 Change to comma separated instead of space separated for png paths.
    • 09/10/2020 1.12.0 Add support for Atlas pages (multiple png, comma separated), finish implementation of Set Attachment action, fix webgl1 support (revealed on iOS w/o weblg2 enabled.)
    • 09/05/2020 1.11.2 Move spineBatcher.init() to prevent race condition (seen on iOS)
    • 09/05/2020 1.11.1 Remove spine instance from batcher when C3 Spine instance calls Release() (e.g. C3 object destroyed.)
    • 09/05/2020 1.11.0 Implement batch render for improved performance with multiple Spine objects and instances.
    • 08/16/2020 1.10.0: Add Keep Aspect Ratio checkbox
  • Nice work, thanks for sharing!

  • One more firebase addon to check out (I have not tried it myself, but looks interesting):

    sparsha-dhar.itch.io/construct-3-firebase-plugin

  • Example from your project:

    	function resizeImage(runtime, bURL) {
    
    	// runtime.objects.BinaryData.getFirstInstance().getArrayBufferCopy()
    	// has the image data in it, but how do we get it into an img.src or ImageData variable?
    	let img = document.createElement("img");
    	img.src = bURL;
    	ctx.drawImage(img, 0, 0);
    	HERMITE.resample(canvas, 450, 300, true);
    	console.log('[resizeImage] resample complete')
    }

    I imagine you want to do something w/ the canvas image to C3 after that...

  • How about:

    	let img = document.createElement("img");
    	img.src = BinaryDataObjectURL;
    

    You can get the BinaryDataObjectURL from the C3 expression: BinaryData.GetURL and pass it into scripts via localVars.* or runtime.globalVars.*

  • The Greengrinds addon (extended Steam/Greenworks support) has been updated to support nw.js 0.47.0 and SDK 1.49, based on the prebuilds from Armaldio's nice work (https://greenworks-prebuilds.armaldio.xyz/)

    I also added a new expression to support IPCountry.

    Details here:

    construct.net/en/make-games/addons/244/greengrinds

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • C3 Project for the above example: gofile.io/d/POMLlT

  • More experiments with the latest release, created a recursive walk hierarchy function to color parent and children recursively down (could also make an up and down version.) Seems to work reasonably well. I am wondering if there would be an ACE shortcut (e.g. pick recursively down from an instance, similar to how destroy already works?)

  • Ah, I don't think this png will work as a C3 SpriteFont source as is. Each character needs to be in it's own cell with a fixed cell size (e.g. 16x16), it should be left aligned (e.g. character should be set to start on the left side.) In your example, each character has a variable cell size (width varies.)

    If the characters have a fixed cell size and are left aligned, the spacing data can be used to place the characters with the appropriate 'width' between each other, so it won't be monospaced.

    Here's Good Neighbors:

    Here's the correct style of formatting (notice the 'I'):

    You can fix it though, edit the image so each character is in a fixed sized cell, left align the character and then use spacing info to make the spacing correct.

  • The quick answer is that it looks possible, but it will take some work to understand the SDK, create C3 functions / JS scripts in C3 to work with it.

    Review this tutorial which shows an example of using C3 JS to integrate the Playfab JS SDK from blackhornet. It could spark ideas about how integrate the Player.io SDK into C3 with JS.

    Part 1

    construct.net/en/tutorials/add-playfab-cloud-storage-2479

    Part 2

    construct.net/en/tutorials/add-playfab-cloud-storage-2482

  • If the action is not available in the scripting SDK, you could create a function in C3 events to call the C3 event action you want and then use the Scripting SDK to call the C3 event function, you can pass in parameters as needed to control the function or even something like a UID to pick the correct instance to operate on.

Mikal's avatar

Mikal

Early Adopter

Member since 22 Apr, 2016

Twitter
Mikal has 112 followers

Trophy Case

  • 9-Year Club
  • Entrepreneur Sold something in the asset store
  • 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
  • Popular Game One of your games has over 1,000 players
  • 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
  • x10
    Great Comment One of your comments gets 3 upvotes
  • Delicious Comment One of your comments gets 10 upvotes
  • Email Verified

Progress

21/44
How to earn trophies