This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:orx:reference:object:snippets [2013/05/15 07:19 (13 years ago)] – [orxObject_SetRotation] sergeig | en:orx:reference:object:snippets [2018/01/21 10:53 (8 years ago)] (current) – Content moved. Deleted. sausage | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Object: Code Snippets ====== | ||
| - | |||
| - | |||
| - | ===== OrxFrame ===== | ||
| - | |||
| - | |||
| - | ===== OrxFX ===== | ||
| - | |||
| - | |||
| - | ===== OrxFXPointer ===== | ||
| - | |||
| - | |||
| - | ===== OrxObject ===== | ||
| - | |||
| - | ==== OrxObject_SetPosition ==== | ||
| - | |||
| - | orxVECTOR tilePos; | ||
| - | orxVector_Set(& | ||
| - | orxObject_SetPosition(tile, | ||
| - | |||
| - | orxVECTOR pos; | ||
| - | orxObject_GetPosition(player, | ||
| - | pos.fX = -pos.fX; | ||
| - | orxObject_SetPosition(player, | ||
| - | |||
| - | ==== orxObject_SetRotation ==== | ||
| - | |||
| - | Rotation is set in radians. Zero rad vector is equivalent to (1, 0) vector in screen coordinates. In other words it is a horizontal line pointing from left to right. | ||
| - | |||
| - | Positive rotation is set in clockwise direction. If vector origin was in the center of the screen, then 1 rad would point to the bottom right corner of the screen. | ||
| - | ==== orxObject_SetAngularVelocity ==== | ||
| - | |||
| - | Set angular velocity changes object rotation value over time. Setting positive value make object rotate clockwise. Negative value sets counterclockwise direction. | ||
| - | |||
| - | TBD: What's the unit of measure? | ||
| - | |||
| - | By default object starts with zero rotation angle, which points horizontally from left to right. As object rotates a full circle its rotation angle value will not reset to zero. Instead it will continue to grow in positive or negative direction according to angular velocity value. | ||
| - | |||
| - | Thus after 1 full circle the object rotation value will satisfy the condition: | ||
| - | < | ||
| - | orxMath_Abs(orxObject_GetRotation(obj)) >= orxMATH_KF_2_PI | ||
| - | </ | ||
| - | ==== orxObject_GetWorldRotation and orxObject_GetRotation ==== | ||
| - | |||
| - | Returns current object rotation value in rad. The value returned can be any floating value. | ||
| - | |||
| - | See orxObject_SetRotation for coordinate system reference. | ||
| - | See orxObject_SetAngularVelocity for discussion of continuous rotation. | ||
| - | ==== orxObject_CreateNeighborList and orxObject_DeleteNeighborList ==== | ||
| - | |||
| - | Use it to obtain objects within the specified bounding box. | ||
| - | |||
| - | <code c> | ||
| - | orxOBJECt *obj; // comes from mouse click event or in some other way | ||
| - | orxVECTOR pos, size; | ||
| - | orxFLOAT range = 250.; | ||
| - | orxOBOX box; | ||
| - | | ||
| - | orxObject_GetWorldPosition(obj, | ||
| - | orxVector_Set(& | ||
| - | orxOBox_2DSet(& | ||
| - | |||
| - | orxBANK *neighbors = orxObject_CreateNeighborList(box); | ||
| - | void* cell = orxNULL; | ||
| - | while ((cell = orxBank_GetNext(neighbors, | ||
| - | orxOBJECT **n = cell; | ||
| - | orxLOG(" | ||
| - | } | ||
| - | orxObject_DeleteNeighborList(neighbors); | ||
| - | </ | ||
| - | |||
| - | ==== object traversing ==== | ||
| - | |||
| - | [[en: | ||
| - | |||
| - | ===== OrxSpawner ===== | ||
| - | |||
| - | |||
| - | ===== OrxStructure ===== | ||
| - | |||
| - | |||
| - | ===== OrxTimeLine ===== | ||
| - | |||