Mikal's Forum Posts

  • Release 1.17.0 Add debug property, SpineBBoxCenterX,Y expressions. UpdateBBoxes action.

    Bounding Box Attachment

    - SpineBBoxCenterX, SpineBBoxCenterY espressions give the average of the named slot/bbox polygon points. Useful for attaching C3 Sprite object / collision box to the center of the Bounding Box.

    - The UpdateBBoxes updates the bounding box to the current point in the animation. It should be done just once per tick per instance, before the SpineBBoxCenterX/Y expressions are used.

  • I have been working with colyseus.io/, websocket based. So far it's been good. I am making an authoritative server using it.

    There is a C3 client plugin for it.

  • FYI for any following this, Ashley has fixed this and the fix will be in the beta release (after r219-2.)

  • Ashley

    I did an experiment, it looks like the physics behavior collision box is not getting updated as a collision poly changes with updates to mesh points. I created an issue below w/ example project.

    github.com/Scirra/Construct-3-bugs/issues/4269

    For other collisions like between 8-dir behavior and solid, the collision box is updated.

  • Thanks Ashley for the info. I’ll keep testing and if it’s still not working for me, I will post to the github issue site with a sample project.

  • First, thanks for the new Mesh ACEs for Sprite, it will definitely prove useful for new visual effects!

    In experimenting with setting absolute x and y mesh points, it appears that the collision polygon does not expand outside of the original bbox in the editor. I am hoping that this will be changed in the future. I do see the 'new' bbox is changed in the debug preview (to be larger than the original bbox), but the collision poly does not seem to also grow beyond the original bbox size.

    Looking for feedback on the design intent (and if need I can file a bug report.)

    Large bbox is setting mesh points outside original bbox, but collision poly remains around the size of the original bbox (small box picture.)

  • Check for RGB match (or close enough match.)

    Say your color is MatchR, MatchG, MatchB

    Color at a point is:

    pointR = DrawingCanvas.SnapshotRedAt(loopindex("X")/DrawingCanvas.PixelScale,loopindex("Y")/DrawingCanvas.PixelScale)

    pointG = DrawingCanvas.SnapshotGreenAt(loopindex("X")/DrawingCanvas.PixelScale,loopindex("Y")/DrawingCanvas.PixelScale)

    pointB = DrawingCanvas.SnapshotBlueAt(loopindex("X")/DrawingCanvas.PixelScale,loopindex("Y")/DrawingCanvas.PixelScale)

    How close is the point color to the match color:

    distance = sqrt((MatchR-pointR)^2 + (MatchG-pointG)^2 + (MatchB-pointB)^2)

    Check that distance is less than some threshold to find a match.

    Use the project debugger or browser.log to print the values or display all the above values to the screen, so you can get an understanding of the range of values in your project.

  • Release 1.16.2 Set Slot Color, Set Slot Dark Color. Apply Slot Color, Reset Slot Color. Set animation start (beginning, current time, current ratio). Set animation time/current ratio. Deprecate Set custom color attachment.

    For Dark Color to take effect, the slot must have 'Tint Black' enabled.

  • Did you look at the code I posted above? It shows how to translate color to tilemap.

  • I've done this with video before (and changed it into a tilemap which I could use for a platformer.) Basically what dop2000 said, paste video to canvas, take snapshot of canvas and translate color to tilemap for collisions. In my case I also did some 'chroma key' with threshold to make it a little easier to use.

    Here's an old template I used to play 'streams' of a mario video (there's more events than you need just for the video, because I was playing with some other ideas.) If you know JS, you can also do it in scripting and it will probably run a bit faster.

    Here's an example with a 'let's play', the green color is the tilemap w/o the video.

  • Congrats on the release!

  • I have an effect that does a kind of shatter, however it's not a 'physics' or 'collision' simulation, just a visual effect (it does not change the collision box or create new sprite objects.) The examples you show above all look like they involve physics and collision.

    I've used LiquidFun w/ an image and it works well, there are examples of this in the pointer that Newt posted.

    If you are interested in just the visual effect, it's here:

    kindeyegames.itch.io/c3-shatter

  • You are welcome. Good luck with your project.

  • Try using a separate ElementQuad _object_ for each canvas.

    Here's an example:

    gofile.io/d/OaCMdq

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Do happen to know JS? If I was looking to do this in C3, I probably would just grab the JS library from: github.com/y-lohse/inkjs and include it in a C3 project and use the C3 JS integration to call scripts, etc.

    Here's an example C3 project of the most barebones functions to walk through the sample story.

    gofile.io/d/iNBl11