android: pohybující se tvar / snímek s hodnotami z akcelerometru

hlasů
0

ive podařilo se hodnoty měřiče zrychlení (x, y, z). Existuje jednoduchý způsob, jak kruh krok s těmito hodnotami? Také bych rád, aby to přestalo na okrajích obrazovky. Dík!

Položena 14/01/2011 v 11:44
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
0

Myslím, že můžete udělat něco takového ( poznámka: částečně pseudokódu):

public void onSensorChanged (int sensor, float[] values) {
    //adjust someNumber to desired speed
    //values[1] can be -180 to 180
    float xChange = someNumber * values[1];
    //values[2] can be -90 to 90
    float yChange = someNumber * 2 * values[2];

    //only move object if it will stay within the bounds
    if (object.xPos + xChange > 0 && object.xPos + xChange < xBorder) {
        object.xPos += xChange;
    }
    if (object.yPos + yChange > 0 && object.yPos + yChange < yBorder) {
        object.yPos += yChange;
    }
    //force a repaint of your surface here
}

Kde:

  • onSensorChangedje metoda, která se nazývá pokaždé, když zrychlení pohybu ... Nejsem si jistý, jestli používáte SensorManager , ale zdá se, vhodné pro váš scénář. Všimněte si, že je třeba zavést tuto metodu sami.
  • object je kruh, který chcete přesunout.
  • xBordera yBorderje maximální hranice pro pohyb objektu. Minimální hranice jsou považovány za být 0 a 0, ale můžete použít cokoliv chcete.
Odpovězeno 21/01/2011 v 05:33
zdroj uživatelem

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