The Daily Click ::. Forums ::. Klik Coding Help ::. Ai question/how to asign every required object an unique ID.
 

Post Reply  Post Oekaki 
 

Posted By Message

Benjamin



Registered
  29/05/2005
Points
  110
3rd June, 2005 at 11:42:34 -

Hi
I'm currently doing a Vertical Shoot em up, and have a sub-boss that's moving left and right, according to the
players movement. So if the player's X value is Lower than X value of Boss -> Set X position of Boss to Pos of Boss - 1 and the equivalent counterpart for the opposit direction. Now, My problem is, that I would like to have 2 of them, Sometimes it seems to work when 2 are on screen, but eventualy 1 (the one that spawned 2.) will drift into no where ( preferable to the right). Now I guess something could be done by giving both of the Objects an unique ID via an Variable , But how would I do that, and how can I use it for this specific situation?...

And another question... Huw can I get objects to move in Sin/cos - curves?

thanks in advance

 
n/a

Cazra

Crazy?

Registered
  24/07/2002
Points
  4472

Game of the Week WinnerVIP Member
3rd June, 2005 at 11:52:34 -

For the bosses and giving them a unique ID, spread value 0 in one of their alterable values. The first boss objects alt value will equal 0 and the other will equal 1. Even with these values assigned though, MMF/TGF will still be weird about it. Here's how I would make something like this work right:

>always
-spread value 0 in alt. value of boss

>if value of boss=0
-set value A of boss companion(separate object that can't be seen. Used for storing boss data) to X("boss")

>if value of boss=0
+>if value A of boss companion < X("player")
-set boss X to X("boss")+1

>if value of boss=0
+>if value A of boss companion > X("player")
-set boss X to X("boss")-1

>if value of boss=1
-set value A of boss companion(separate object that can't be seen. Used for storing boss data) to X("boss")

>if value of boss=1
+>if value A of boss companion < X("player")
-set boss X to X("boss")+1

>if value of boss=1
+>if value A of boss companion > X("player")
-set boss X to X("boss")-1



As for sin/cos curves, do you mean in circular movements?


 
n/a

Knudde (Shab)

Administrator
Crazy?

Registered
  31/01/2003
Points
  5125

Has Donated, Thank You!Clickzine StaffKlikCast StarVIP MemberGhostbuster!Dos Rules!I donated an open source project
3rd June, 2005 at 13:43:51 -

Snerlin's way works, cause he's programming for every instance of the boss. You could do the same in less code using fastloops as well. You can find a variety of articles on it if you use the "search DC" link that's in your user panel

 
Craps, I'm an old man!

AndyUK

Mascot Maniac

Registered
  01/08/2002
Points
  14586

Game of the Week WinnerSecond GOTW AwardHas Donated, Thank You!VIP Member
3rd June, 2005 at 17:48:04 -

sin and cos curves?, that would be the advanced maths object for The games factory, Mmf has all that extra mathematical stuff built in.

 
.

Benjamin



Registered
  29/05/2005
Points
  110
4th June, 2005 at 12:21:50 -

I fixed the boss movement, did it with a completely different methode though. I used an active object that's always relative to the players X cordinate, and used ball movement on the bosses and the direction calculator to rotate them to that helper object. Works pretty well, also works without any problems with 3+ enemies.

about the sin cos movement, I mean in a wavy motion, not circling around another object. Pretty much all classic Shmups I know had some enemies that had a sin cos curve movement. I know that It can be done, my only problem is, that I'm not good with math, so a little help would realy be apreciated.

 
n/a

Cazra

Crazy?

Registered
  24/07/2002
Points
  4472

Game of the Week WinnerVIP Member
4th June, 2005 at 12:36:29 -

if you're just making their movement wavy going left and right, you can do the following:

// make the enemy move left and right using a flag

>If flag of boss is off
-set X("boss") to X("boss")+1
>If flag of boss is on
-set X("boss") to X("boss")-1

>If X("boss")< (whatever is the furthest left you want the boss to go)
-set flag of boss to off
>If X("boss")> (whatever is the furthest right you want the boss to go)
-set flag of boss to on

//wavy motion( up and down )

>always set Y("boss") to ( whatever the normal Y coordinate of the boss is )+((amplitude of wave movement)* sin( altvalue2("boss")))
-add X to altvalue2 of boss

For certain parts, you can replace the text with whatever value you want.

 
n/a
   

Post Reply



 



Advertisement

Worth A Click