Colludium's Forum Posts

  • v1.19 is up for approval.

    Added: Set circle shape radius. The radius can be anything you want - it doesn't have to be tied to the object's size.

  • Don't worry - sorted by using maths...

    For anyone else who might get stuck:

    var size = this.instance.GetSize();
    	var w = size.x;
    	var h = size.y;
    	var texhs = texture.GetHotspot();
    	var quad = this.instance.GetBoundingQuad();
    	var origin = new cr.vector2(Math.round(quad.tlx + Math.cos(a) * w * texhs.x - Math.sin(a) * h * texhs.y), Math.round(quad.tly + Math.sin(a) * w * texhs.x + Math.cos(a) * h * texhs.y));
    	[/code:mhdixhlv]
  • HI.

    Does anyone know if there a simple way of obtaining an object's x and y position in the editor / layout for use in the edittime.js?

    Thanks.

  • Platform2 — Now for sale in the Scirra Store!

    https://www.scirra.com/store/construct2-behaviours/platform2-4098

    Description

    Platform2 is a platform behavior for Construct 2 that was built from the ground up to ensure excellent performance whilst enabling features that are not available in the standard plugin: one-way doors, one-way floors –and- collision filtering.

    The behavior works against standard Solid objects so you can easily implement it into your project. One-way doors and collision filtering are enabled by an additional ‘helper’ plugin (Solid2, which is also included) – just add Solid2 to those objects that already have Solid and you can select the additional features.

    This plugin is also frame-rate independent, so you’ll get the same behavior no matter what refresh rate your player’s screen has, and it supports minify export (of course)!

    Actions

    -Set the number of air jumps

    -Set the collision category

    -Control input (up / down / left / right)

    -Set the edge behavior (Nothing / Move away / Move toward / Move nearest)

    -Set the edge behavior force factor

    -Set the gravity

    -Reset jump count

    -Set acceleration

    -Set deceleration

    -Set enabled

    -Set jump strength

    -Set jump sustain time

    -Set max fall velocity

    -Set max speed

    -Set velocity X

    -Set velocity Y

    -Set whether the jump velocity is adjusted for the vertical speed of the platform the player is standing on

    Conditions

    -Compare speed

    -Is edging away from an edge

    -Is edging towards an edge

    -Is falling

    -Is jumping

    -Is moving

    -Is on floor

    -Is on wall

    -Is passing through one-way door

    -Is passing through one-way floor

    -On fall

    -On jump

    -On landed

    -On moved

    -On stopped

    -On wall hang

    Expressions

    -Acceleration

    -Collision category

    -Deceleration

    -Gravity

    -Jump strength

    -Jump sustain

    -Max fall speed

    -Moving angle

    -Speed (overall)

    -Velocity x

    -Velocity y

    Use this topic to leave comments, ask questions and talk about Platform2

  • Sorry, there's nothing more I can do if I can't reproduce the problem myself.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Here's a capx that uses Immovable for you - it has the same appearance as your version but the bug is no longer apparent . I've also changed the "is touching" to "on touched" for the relevant conditions.

  • Mmm -the error does not happen for me when I use box2d web...

    If you move a physics object or set its angle directly using the same actions that you would use for a normal sprite, then the physics plugin interprets those changes as requiring a velocity inside the plugin (so, if you moved an object by 5 pixels to the right, the plugin would interpret that as a new velocity of 5 pixels / sec - even though it was 5 pixels in one tick, which would be 300 pixels / sec).

    I was mistaken about the rotational velocity - I thought it also added a rotational velocity component but it does not... Moving objects that way should not really cause any problems in theory, but box2d doesn't always behave well when objects are continuously teleported to a new position or rotation, as would happen when you set the position / angle every tick.

    In your case I would recommend making the pendulum static (immovable) and then you can place it / rotate it once and it won't move. Then, when you want it to fall, make it dynamic (not immovable) and then create the distance joint.

  • I think it's caused by a bug in the asm.js library - if you change to box2d web then the problem doesn't happen. The error actually occurs when you go to screen 3, which makes no sense because up until then the box2d world appears stable.

    Of note (Screen 2 event sheet, line 2) you should avoid changing the angle of physics objects by direct events (and not through physics actions) because it can cause 'upset' to the plugin - c2 interprets such changes as velocities, which might have an unexpected effect in the box2d world. Also, line 14 uses "is touching" which will fire all of those subsequent actions every tick - so a 1/2 sec press of the release button could create 30 distance joints...

  • v1.18 has been submitted to the store for approval.

    Updates:

    Bugfixes:

    • The collision filter values could be incorrectly limited when using events to change the collision mask or collision category.

    Additional features:

    • Expression added to obtain the time taken for the Box2D+ world to step (in milliseconds) - for debugging or stress monitoring when not using debug preview.
    • Debug Preview is now supported! All relevant values can be observed and/or edited in the Debug Preview pane. The world step time is displayed as "physics simulation" in the "Profile" tab.

    Edit - now v1.18 - There was a type-o in the edittime.js that I just couldn't ignore...!

    - amazing capx! It took 2 min 30 secs for the c2 editor to open it and then, once it was running (with 1.67 Gb of memory used..!) it was totally unusable - sluggish or broken dialogues (not responding) etc.

    Just out of interest I dragged the capx into c3 - it took about 1 min to digest it. All appeared ok (190 Mb memory used) and at least the layout editor showed me the sprites that were not displayed on c2. However it crashed when I clicked to view an event sheet... Stuck on Loading....

    Mmmm.

    i5-3320M 2.60GHz, 1g Gb RAM, SSD drives.

  • Box2D+ — No longer for sale in the Scirra Store!

    New Buyers - get it at itch.io

    Introduction

    This plugin offers nearly full access to the r2.3.0 Emscripten JavaScript port of Box2D and also contains many functions to make the game creation process easier (for example, you can get a collision shape from image alpha). Take a look at the feature list below - if you want even more detail then try out the demos and have a read through the instructions.</p><h3>Feature List</h3><div class="deshr"></div>

    • Create collision polygon from image alpha.
    • Circle, polygon and box shapes.
    • Speed clamp / rotational speed clamp.
    • Get exact collision point.
    • Dynamic, Static and Kinematic bodies.
    • Collision filtering (category bits & mask bits, also collision group index and collision-disable from Pre-Solve condition).
    • Individual object gravity scale.
    • Set world x and y gravity.
    • Load the collision hull from a c2 json array. Change the collision shape in-game by loading an array.AsJSON of x and y vertices into the object.
    • Export collision hull shape as a c2 json array.
    • Raycast world queries. Get raycast object list with collision point, normal and object UID.
    • Set object properties 'globally' by using object UID. For example, find an object using Raycast and change its properties without having to pick it as you would normally using events.
    • All joints are demo'd here:

      box2dplusdemo2.bitballoon.com/[/li][li]Assimilate Joint - demo: box2dassimilatedemo01.bitballoon.com . A totally stable alternative to a weld joint. Join together dozens of objects with no joint fighting!

    AABB world queries (quickly find objects within an area)Gravity attractor.Compatible with Google closure compiler (Construct 2 Minify export).Demo: box2dplusdemo1.bitballoon.com/[/li][/ul]%3Ch3%3ENote:%3C/h3%3E%3Cdiv class="deshr"></div>
      This behavior is not compatible with the standard Physics plugin.Box2D+ will create a box shape if the created collision shape results in very short vertices. The minimum supported vertex length is 2.5 pixels.

      Use this topic to leave comments, ask questions and talk about Box2D+

    • I've updated the demo to include an optional wall-climb using events - I think that anything more than a basic wall-climb (or wall-hang) isn't necessary because the event system is powerful enough for you to make it behave exactly as you wish. For example, do you want to wall hang and nothing else (the plugin default), do you want to climb using up/down when holding left or right so you can also jump up the wall using ctrl-up alone (as in my demo), or do you want to be able to climb using up/down and only be able to fall off the wall by using left or right (no jumps unless air jump enabled)? I don't think I could realistically and slickly satisfy all options.

      As long as the mechanic you want is easily achievable using events then it doesn't need to be in the plugin, I think. I'll include the event-wall-climb demo with the plugin.

    • Thanks newt! What else would you like to see to expand the wall-climb? I'll see what I can do...

    • Ok, I think I'm finished! Unless I can find a bug or some important feature to add, this should be ready in the next day or so.

      Added to the demo: option to use WASD keys to control the standard Platform object and an option to toggle the next-to-edge behavior.

      More functions added to the plugins:

      Solid2:

        Condition: Platform2 object overlap Condition: Platform2 object with UID overlap

      Platform2:

        Condition: is moving Condition: compare speed Actions: you can set all parameters via events Expressions: all parameters are available

      Both plugins:

        Support for JSON save and load Work with minify / Google Closure export