Collision between two identical objects?

Get help using Construct 2

Post » Mon May 13, 2013 10:33 pm

Ok, I found a (not so) quick and dirty event based solution but i'm not sure it's the best one. Anyway - it works!

I have my blue square objects which I named "R". I also made a controller object named "C", which is placed off screen. C have two instance variables named "first" and "second".

* R - on collision with R
*     System - Pick R instance 1 (make a sub-event, system and "pick nth instance"
The action part of the sub-event is "C" set "first" to R.height (height of R gets stored in the "first" variable of "C")
* Make another sub-event to the first collision event but this time pick instance "1" and store the height in the variable named "second".
* Create yet another sub-event (from the collision event), choose "C" compare instance variables and check if "first" and "second" are equal.
* Create two new sub-event from the comparison sub-event (so that it's a sub-sub-event when viewed from the initial event); choose "System" and pick nth instance again (first instance "0" and then instance "1"). Adjust their sizes accordingly (or whatever you want to do).

It sure gets more complex to explain then it looks on the screen.

You basically have the first collision event to catch the actual collision event. Underneath this one you use "pick nth" to store the height (or something else) in a controller object, for the two objects involved (0 and 1 for pick nth).
Last you compare these figures, but put this comparison-event under the initial even to avoid it getting checked outside actual collisions.

So it works. it's just a bit clumsy.
B
4
Posts: 7
Reputation: 389

Post » Mon May 13, 2013 10:38 pm

Heres a pic that might explain it better. Now I just wait for a nicer solution. :)



I should mention that I initially thought I would have the need for the IID's, which is why I made some space for them in the controller object. Looks like I didnt need them, so you can ignore those lines.crawly2013-05-13 22:49:24
B
4
Posts: 7
Reputation: 389

Post » Mon May 13, 2013 11:02 pm

I would approach it like this:

Family Trick Demo 02

Also depending on how your objects are setup it's better to compare the heights using a defined threshold, since sometimes they can be slightly different due to rounding errors.
Scirra Employee
B
129
S
45
G
15
Posts: 705
Reputation: 15,413

Post » Fri May 24, 2013 11:08 am

[QUOTE=Animmaniac] I would approach it like this:

https://dl.dropboxusercontent.com/u/7871870/construct/family-trick-demo-02.capx

Also depending on how your objects are setup it's better to compare the heights using a defined threshold, since sometimes they can be slightly different due to rounding errors.[/QUOTE]

Sorry for late response. Had the wrong version installed, so I couldnt check out your solution.
Anyways now I did, and it looks neat and fairly simple. Can't say I fully grasp it since I have yet to work with families, but as soon as I understand it i'll try to use your solution instead.
B
4
Posts: 7
Reputation: 389

Post » Sat May 25, 2013 8:17 pm

Typecasting would be nice though, as in "Block.Self" and "Block.Other" to apply actions specifically and without having to get too work around it.
Image
B
27
S
9
G
5
Posts: 487
Reputation: 11,939

Previous

Return to How do I....?

Who is online

Users browsing this forum: BACLog and 21 guests