sensors.DistanceSensor
- class sensors.DistanceSensor(port: Optional[int] = None)
Sensor for measuring linear distances.
- distance() float
Distance in meters to whatever is in front of the sensor. A slight smoothing filter is applied to this value. For an unfiltered version condsider
stream()
.The following example assumes that a distance sensor is assigned to port 0 and a
TextScreen
is assigned to port 1.from sensors import DistanceSensor from controllables import TextScreen sensor = DistanceSensor(0) screen = TextScreen(1) while True: screen.text = f"Distance: {sensor.distance(): 4.1f}"
- stream() Stream[float]
Creates an stream of distance values in meters.
The following example assumes that a distance sensor is assigned to port 0.
from sensors import DistanceSensor from time import sleep sensor = DistanceSensor(0) stream = sensor.stream() sensor.visible_laser = False while True: for distance in stream: if distance < 1: sensor.visible_laser = True if sensor.visible_laser: sleep(.1) sensor.visible_laser = False
- property visible_laser: bool
The visible laser property of the distance sensor avaliable in the properties tab.
from sensors import DistanceSensor sensor = DistanceSensor(0) while True: # turn the laser on if something is within 5 meters sensor.visible_laser = sensor.distance() < 5
- name() str
Returns the user editable name of the controllable as found in the properties tab of the game.
The following example assumes that any controllable or sensor is assigned to port
0
and prints out its name.from ports import PortReference print(PortReference(0).name())