Hallo Leute,
Ich habe schon mehrmals hier die Frage gestellt aber leider noch keine Antwort bekommen:
Ich habe ein Sasmsung S7 Edge und ich habe mehrere Apps installiert um zu schauen welche Sensoren sich in meinem handy befinden.
Unter diesen Sensoren befinden sich ein Motionsensor (Gyrometer3D) und ein Orientationsensor (Inclinometer3D).
Mein Ziel: Vom Inclinometer3D Werte bekommen die nicht 0 sind (denn ich bekomme bis jetzt nur 0-Werte zurück).
Wofür?: Ich mmöchte eine 3D Objekt mit den Sensoren drehen und dies ist mit einem Motionsensor nicht so bequem, wie mit einem Orientationsensor.
Das Gyrometer3D funktioniert sehr gut hier der Code:
Code:
var
Sensormanager: TSensorManager;
Sensors: TSensorArray;
Sensor: TCustomSensor;
begin
//Sphere1.MaterialSource:= Menu.TextureMaterialSource1;
Sensormanager := TSensormanager.Current;
Sensormanager.Activate;
Sensors:= Sensormanager.GetSensorsByCategory(TSensorCategory.Motion);
for Sensor in Sensors do
if TCustomMotionSensor(Sensor).SensorType = TMotionSensortype.Gyrometer3D then begin
FSensor:=TCustomMotionsensor(Sensor);
end;
FSensor.Start;
mit der globalen Variable: FSensor: TCustomMotionSensor;
Nun möchte ich das gleiche mit dem Inclinometer3D machen also hab ich den Code kurzer Hand umgeschrieben in:
Code:
var
Sensormanager: TSensorManager;
Sensors: TSensorArray;
Sensor: TCustomSensor;
begin
//Sphere1.MaterialSource:= Menu.TextureMaterialSource1;
Sensormanager := TSensormanager.Current;
Sensormanager.Activate;
Sensors:= Sensormanager.GetSensorsByCategory(TSensorCategory.Orientation);
for Sensor in Sensors do
if TCustomOrientationSensor(Sensor).SensorType = TOrientationSensortype.Inclinometer3D then begin
F2Sensor:=TCustomOrientationsensor(Sensor);
end;
F2Sensor.Start;
mit globaler Variable F2Sensor: TCustomOrientationSensor;
Leider gibt mir das Inclinometer3D bei der Abfrage
Label1.Text := FloatToStr(F2Sensor.TiltX);
nur 0 zurück, egal wie ich das handy hebe und neige.. aht jemand eine Idee :/?