iPhone akcelerometr mění senstivity

hlasů
0

Snažím se používat akcelerometr přesunout UIImage. I funguje dobře, ale můj problém je, že s mým kódem

self.character.center = CGPointMake(160+acceleration.x*175, 230-acceleration.y*175);

můj obrázek se pohybuje i na stabilní povrch kvůli přesnosti hodnoty acceleration.x. Tak jsem se rozhodl použít řešení vynásobením s hodnotou, že obsadí to do INT a potom dělením a hodil ji na plováku (tedy i jen odstranit některá čísla po kóma)

self.character.center = CGPointMake(160+(float)((int)((acceleration.x*100000))/100000)*175, 230-(float)((int)((acceleration.y*100000))/100000)*175);

Ale poté, co jsem použít tento kód, můj malý obraz se nepohybuje ještě.

Takže moje otázka zní: víte, proč to nefunguje už? Existuje správný způsob, jak odstranit čísla po kómatu v plováku?

Díky moc Fred.

Položena 26/05/2010 v 10:12
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
2

Místo toho se snaží odstranit desetinná čísla za čárkou, měli byste raději používat low-pass filtr. Lowpass filtr bude jen nechat projít změny v akceleraci, které se dějí pod určitou mezní frekvencí. Proto bude udržovat stabilní změny v akceleraci, ale odstranit fluctations a chvění při velmi vysokých frekvencích.

Wikipedia má dobré vysvětlení , jak jednoduchá RC Dolní propust funguje a ukazuje možnou realizaci. Apple ukazuje podobný implementaci v AccelerometerGraph ukázkový kód.

Odpovězeno 26/05/2010 v 10:26
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more