- This wiki is out of date, use the continuation of this wiki instead
Collision
From FenixWiki
(Difference between revisions)
Revision as of 14:10, 19 April 2007 (edit) Sandman (Talk | contribs) m ← Previous diff |
Revision as of 00:32, 2 May 2007 (edit) (undo) Sandman (Talk | contribs) Next diff → |
||
Line 3: | Line 3: | ||
==Definition== | ==Definition== | ||
- | '''INT''' Collision ( <'''INT''' processID| | + | '''INT''' Collision ( <'''INT''' processID|processTypeID> ) |
Checks if a [[process]] collided with the process calling Collision(). | Checks if a [[process]] collided with the process calling Collision(). | ||
+ | |||
+ | When a [[processTypeID]] is specified, there could be multiple fitting collisions. In this case, collision() returns a [[processID]] on each subsequent call, until it returns 0. This can be reset by use of the [[frame]]; statement, and in such case, frame(0); can be handy. | ||
== Parameters == | == Parameters == | ||
{| | {| | ||
- | | '''INT''' processID | + | | '''INT''' processID<nowiki>|</nowiki>processTypeID || - The [[ProcessID]] of the process or the [[ProcessTypeID]] of the type of processes to be checked. |
|} | |} | ||
Revision as of 00:32, 2 May 2007
Contents |
Definition
INT Collision ( <INT processID|processTypeID> )
Checks if a process collided with the process calling Collision().
When a processTypeID is specified, there could be multiple fitting collisions. In this case, collision() returns a processID on each subsequent call, until it returns 0. This can be reset by use of the frame; statement, and in such case, frame(0); can be handy.
Parameters
INT processID|processTypeID | - The ProcessID of the process or the ProcessTypeID of the type of processes to be checked. |
Returns
INT : The ID of the collided process.
0 | - No collision |
>0 | - The processID of the process colliding with the current process |
Example
Program example; Private int map; Begin // Create the graph for the ship map = new_map(20,20,8); map_clear(0,map,rgb(0,255,255)); // Create the graph for the Main process graph = new_map(50,50,8); map_clear(0,graph,rgb(255,255,0)); // Position the main process and create the ship x = y = z = 100; SpaceShip(0,map,100,100,0,20,5000); Loop frame; End End Process SpaceShip( int file , int graph , int x , int y , int angle , int maxspeed , int maxturnspeed ) Private int speed; int collisionID; string text; Begin write_string(0,0,0,0,&text); Loop // Handle movement speed+=key(_up)*(speed<maxspeed)-key(_down)*(speed>-maxspeed); angle+=(key(_left)-key(_right))*maxturnspeed; advance(speed); // Handle collision if( (collisionID = collision(type main))) text = "collision with: " + collisionID; else text = "no collision"; end frame; End End
Used in example: new_map(), map_clear(), write_string(), advance(), graph, type