今回のソースコードでは、「integer held」部分が「integer level」となっている。これにより、キーが押されているか、押されていないかをチェックしている。押されている場合には、下図のように処理が実行される。
前進および後退の場合、「VEHICLE_LINEAR_MOTOR_DIRECTION」という直線速度が、前進は200の速度、後退は-10の速度で実行される。
ここで、このソースコードの最後の処理を見て欲しい。「angular_motor」は、「control ()」イベントが始まってすぐにベクター型データとして定義された変数だが、結局、この「llSetVehicleVectorParam()」内にある「VEHICLE_ANGULAR_MOTOR_DIRECTION」を実行する際のデータを示している。
ベクター型データ
ベクター型のデータとは
vector angular_motor = <100,10,0>
と定義した式は、実は次のようにも表すことができる。
vector angular_motor ;
angular_motor.x = 100
angular_motor.y = 10
angular_motor.z = 0
ここではこのベクターデータの式をこのようにX、Y、Z要素に分解している。少しとまどったかもしれないが、ベクターデータの特徴として覚えておこう。