Eine der interessanten Möglichkeiten des iPhone ist dessen innovative Bedienung, z.B durch Bewegung. Möchte man beispielsweise durch Schütteln des iPhone eine bestimmte Aktion ausführen, so hilft einem untenstehender Code. Viel Spass beim selber experimitieren!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | - (void) accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration { UIAccelerationValue length; UIAccelerationValue x, y, z; // Use a basic high-pass filter to remove the influence of the gravity _accelerometer[0] = acceleration.x * kFilteringFactor + _accelerometer[0] * (1.0 - kFilteringFactor); _accelerometer[1] = acceleration.y * kFilteringFactor + _accelerometer[1] * (1.0 - kFilteringFactor); _accelerometer[2] = acceleration.z * kFilteringFactor + _accelerometer[2] * (1.0 - kFilteringFactor); // Compute values for the three axes of the acceleromater x = acceleration.x - _accelerometer[0]; y = acceleration.y - _accelerometer[0]; z = acceleration.z - _accelerometer[0]; // Compute the intensity of the current acceleration length = sqrt(x * x + y * y + z * z); // If above a given threshold, it is a shake if ((length >= kEraseAccelerationThreshold) && (CFAbsoluteTimeGetCurrent() > _lastTime + kMinEraseInterval)) { [self changeImage]; _lastTime = CFAbsoluteTimeGetCurrent(); } } |
