# Construct 2 Sprite Shape Comparison?

Get help using Construct 2

### » Sun Jun 08, 2014 1:43 am

So I've been messing around with construct all day trying to get an idea I have to be functional.. but so far I'm failing horribly. What I'm trying is to have sprite shape comparison.. something that is reminiscent of those shape cubes young kids have.

Example: There is a 50x50 cube sprite. If the player puts another cube down in its location that is also 50x50 ... it changes a variable to be true. But I also want the user to be able to use 2 triangle sprites that also add to a 50x50 cube. So far I can only get it to work for static patterns (I.E. they have to use the 2 triangles.. or the 1 cube.. not either). .. I'm also trying to figure out how to make it return a false value if the shape is wrong or too big. (I.E. 2 triangles that are too big for the bounding box)

If anyone can help me with this I'd be so happy. Anyway.. thanks in advance!
B
4
Posts: 3
Reputation: 206

### » Sun Jun 08, 2014 4:44 am

You have noway to know what sprite's shape,suggest you can save sprite's shape at object's var by yourself
Last...about size,just Comparison two sprite size
B
17
S
7
Posts: 360
Reputation: 2,202

### » Sun Jun 08, 2014 10:41 am

I think, if you use arrays, and objects made up of tilemaps, you can achieve this.

I can't tell how to code it but the idea I have in mind is... Lets make it by your example. You will make shapes by using tilemap objects, and you will represent your "hole" with an array. Imagine below

Array:

1 1 1 1 1 1 1 1 1 1
1 1 0 0 0 0 0 0 1 1
1 1 0 0 0 0 0 0 1 1
1 1 0 0 0 0 0 0 1 1
1 1 0 0 0 0 0 0 1 1
1 1 0 0 0 0 0 0 1 1
1 1 1 1 1 1 1 1 1 1

then you have shapes made up of tilemaps, and also represented by arrays as well. Imagine a triangle shape which is represented by:

1 1 1 1 1 1
1 1 1 1 1 0
1 1 1 1 0 0
1 1 1 0 0 0
1 1 0 0 0 0
1 0 0 0 0 0

When you place it, you get the coordinates, translate them into array adresses, and add each adress over the first one. If anywhere it becomes a 2, it means the shape is not passing through the hole.
If not, object is placed. Then you place the second object which is also triangle, but you can rotate it. You will have to go into matrix coding or sth like that to rotate the arrays, probably by writing functions to do so. Same applies for the second object, place it, adress it on the array, chech for 2's. If not, second shape also fits. After all shapes placed, check for any remaining 0's inthe main array to see if the hole was closed completely.

I don't know if I could describe it, but it just what came on top of my head.
Hope it helps.
B
18
S
4
G
1
Posts: 332
Reputation: 3,149

### » Sun Jun 08, 2014 12:29 pm

Hey, thanks for the idea windwalker. It seems a bit difficult to implement but I'm gonna try and figure it out over the next couple of days. If it works out.. I'll definitely let you know and toss you the code as well. If ya want it that is lol
B
4
Posts: 3
Reputation: 206