Posted By
|
Message
|
Søren Jensen
Registered 10/11/2010
Points 20
|
30th November, 2010 at 20:11:43 -
Ok so i need to create a hidden collision object on every enemy when they are created.
So on ####
{{Create Enemy at 0,0
{{Create Collision at 0,0
{{Set Enemey val(a) = Spread 999999
{{Set Collision val(a) = Enemy val(a)
{{Position Enemy at gamex,gamey
always
If Collision val(a) = Enemey val(a)
{{position collision at enemy 0,0
{{Set visibility of Collision to Invissible
However at some reason all the collisions still ends up on 1 enemy.
What am i doing wrong?
Edited by Søren Jensen
n/a
|
GamesterXIII
Registered 04/12/2008
Points 1110
|
30th November, 2010 at 20:40:16 -
Try this.
# of Object "Collision" < # of Object "Enemy"
- Create Object Collision at -50,-50
Always
- Spread 1 into Value A Of "Enemy"
- Spread 1 into Value A Of "Collision"
Compare Two General Values - Value A of "Collision" = Value A of "Enemy"
Set X of "Collision" to X of "Enemy"
Set Y of "Collision" to Y of "Enemy"
Edited by GamesterXIII
n/a
|
Don Luciano Heavy combat pancake
Registered 25/10/2006
Points 380
|
30th November, 2010 at 21:07:43 -
You need loops for that.
Create enemies
1.
enemy spread value 0 in A :this spreads value starting from 0, do not place in the same event that starts the loop
2.
start loop "awesome" count number of enemies times
3.
on loop "awesome"
enemy alt A = loopindex("awesome")
-
create collision
set collision alt A to fixed of enemy
Now the positioning part. you can also use sticky object extension instead of this.
4.
always
start loop "stickem" number of enemies
5.
on loop "stickem"
enemy alt A = loopindex("stickem")
collision alt A = fixed of enemy
-
collision set position to enemy
Edited by Don Luciano
Code me a sausage!
|
Søren Jensen
Registered 10/11/2010
Points 20
|
30th November, 2010 at 23:34:45 -
Yay! thanx a bunch.. works smooth
I used ur method Gamester since thats the most understandable.. i hate loops
So to continue on. So what if the Enemy is destroyed and the collision bob also needs to be destroyed?
Edited by Søren Jensen
n/a
|
Don Luciano Heavy combat pancake
Registered 25/10/2006
Points 380
|
1st December, 2010 at 00:24:00 -
what gamester wrote:
Compare Two General Values - Value A of "Collision" = Value A of "Enemy"
-
destroy enemy
destroy collision
But unless you have a way of selecting enemies, i would suggest using a loop. Don't be a loop hater, loops are great
Code me a sausage!
|
Søren Jensen
Registered 10/11/2010
Points 20
|
1st December, 2010 at 19:02:11 -
yeah works with 1 attachment but not 2. Tobad u cant compare 3 values in 1 command!
n/a
|
GamesterXIII
Registered 04/12/2008
Points 1110
|
1st December, 2010 at 19:55:49 -
Originally Posted by Søren Jensen yeah works with 1 attachment but not 2. Tobad u cant compare 3 values in 1 command!
Can you post a MFA?
I know you can do this pretty easily. You could try linking the objects by multiple values:
Example:
Always
-Spread 1 into Value A of "Player"
-Spread 1 into Value B of "Player"
Compare Two General Vales - Value A of "Collision" = Value A of "Player"
-Set X of "Collision" to X of "Player"
-Set Y of "Collision" to Y of "Player"
-Set Value B of "Collision" to Value B of "Player"
Player HP = 0
-Set Value B of "Player" to 1
Value B of Player = 1
-Destroy
Value B of "Collision" = 1
-Destroy
Edited by GamesterXIII
n/a
|
UrbanMonk BRING BACK MITCH
Registered 07/07/2008
Points 49667
|
1st December, 2010 at 20:27:11 -
If you must use a separate object for collision detection then may I recommend using only one, and just change it's position in a loop and check for collisions there?
Way less memory usage, and a lot faster.
Although if it were me I'd drop loops altogether and make a separate frame for each enemy as the "collision mask" frame, then switch to that frame, check for collision, and switch back. If you switch back to the enemies frame before the end of the main event loop the collision mask frame will never be seen.
Just some ideas for you. This is especially useful for flash games where loops can kill the frame rate.
n/a
|
Don Luciano Heavy combat pancake
Registered 25/10/2006
Points 380
|
1st December, 2010 at 20:29:49 -
Thats actually a very good idea.
Code me a sausage!
|
GamesterXIII
Registered 04/12/2008
Points 1110
|
1st December, 2010 at 20:32:57 -
Originally Posted by urbanmonk
Just some ideas for you. This is especially useful for flash games where loops can kill the frame rate.
Loops can easily kill the framerate outside of flash too.
I try to avoid loops wherever possible as a personal preference, and because of this very reason.
n/a
|
|
|