Returns entity X position (world space, 0.0 if invalid).
Takes entity (entity handle).
Returns X coordinate as Double (entity.position.x, 0.0 if entity doesn't exist).
3D Graphics
Parameters & Returns
Parameters
entityInt
Returns
Double
Quick Summary
Returns entity X position (world space, 0.0 if invalid).
Takes entity (entity handle).
Returns X coordinate as Double (entity.position.x, 0.0 if entity doesn't exist).
Technical Exegesis...
Returns entity X position (world space, 0.0 if invalid). Takes entity (entity handle). Returns X coordinate as Double (entity.position.x, 0.0 if entity doesn't exist). Validates entity exists, returns position.x directly (no Y-axis negation for X coordinate), returns 0.0 if invalid handle. Query function for entity position.
This function retrieves entity X coordinate. Return value: returns entity.position.
Returns entity X position (world space, 0.0 if invalid). Takes entity (entity handle). Returns X coordinate as Double (entity.position.x, 0.0 if entity doesn't exist). Validates entity exists, returns position.x directly (no Y-axis negation for X coordinate), returns 0.0 if invalid handle. Query function for entity position.
This function retrieves entity X coordinate. Return value: returns entity.position.x (internal coordinate, same as user coordinate for X-axis), float converted to double (BambooBasic uses double for numeric values), 0.0 if entity handle invalid. Coordinate system: X-axis is right/left (positive=right, negative=left), returned value is world-space position (if entity parented, position is local to parent, but stored value returned as-is). Use cases: (1) Position queries (get current location for distance calculations, boundary checks), (2) Collision detection (check entity position against other positions), (3) Logic (trigger events based on position), (4) Debugging (log entity coordinates), (5) AI/pathfinding (query target positions). Common pattern: x = b3dEntityX(entity), y = b3dEntityY(entity), z = b3dEntityZ(entity), distance = sqrt((x-targetX)^2 + (y-targetY)^2 + (z-targetZ)^2). Typical usage: query position every frame for movement logic, or query once for distance checks, combine with Y/Z getters for full position. Position synchronization: if entity has physics body (physicsBodyHandle!=0), position synced from physics system (entity.position updated from physics body each frame), returned value reflects physics-driven position. Parent relationships: if entity parented, position is local coordinates (relative to parent), returned value is local X (not world X, to get world X requires multiplying by parent's world matrix). Invalid handle: returns 0.0 for non-existent entities (no error message, silent fail), check entity validity separately if 0.0 might be valid position. Performance: O(1) lookup (hash map find, field access, very fast). Related: b3dEntityY returns Y position (with Y-axis negation), b3dEntityZ returns Z position, b3dPositionEntity sets position, b3dMoveEntity moves entity.