Uppdatera metod kontinuerligt, hur?

Discussion in 'Frågor, support och diskussion' started by drewi, Nov 25, 2010.

  1. drewi

    drewi Teen Droid Medlem

    Joined:
    Feb 6, 2010
    Messages:
    305
    Likes Received:
    10
    Telefon:
    Pixel 2 XL

    MINA ENHETER

    Telefon:
    Pixel 2 XL
    Hej!

    Jag har mest pysslat med widgets tidigare och där använder jag mig av AlarmManager för att uppdatera widgeten, men nu tänkte jag göra ett lite mindre 2d-spel med hjälp av canvas.
    Det första problemet jag stöter på är att jag inte vet hur man drar igång ett uppdateringsintervall. Skulle väl kunna gå med AlarmManager kan ja tänka mig men känns inte så smidigt. Någon som har tips?
     
  2. mardox

    mardox Kid Droid Medlem

    Joined:
    Jan 31, 2010
    Messages:
    73
    Likes Received:
    6

    MINA ENHETER

    jag har inte jobbat något med canvas men det jag använder för uppdateringar är handler classen med postdelayed metoden :) och sedan i ens runnable metod avslutar man med ännu en postdelayed , detta skapar en loop som avslutas med metoden removecallback ifrån handler classen :) hoppas detta är till hjälp:)
     
  3. ViLANDER

    ViLANDER Senior Droid Medlem

    Joined:
    Dec 12, 2009
    Messages:
    1 594
    Likes Received:
    172

    MINA ENHETER

    Skapa en separat Thread-klass där du har din Canvas rit-funktion implementerad. Vid varje upprepning av tråden kallar du på rit-funktionen. Vid Thread-klassens konstruktor bör du även skicka med ditt SurfaceView-objekt för att senare kunna kalla på din SurfaceView:s ritmetod.
     
  4. softarn

    softarn Teen Droid Medlem

    Joined:
    Mar 4, 2010
    Messages:
    361
    Likes Received:
    9

    MINA ENHETER

  5. Zorgie

    Zorgie Kid Droid Medlem

    Joined:
    Feb 27, 2010
    Messages:
    49
    Likes Received:
    0

    MINA ENHETER

    En RefreshHandler är utmärkt för syftet:
    http://pastebin.com/H73ZD5Mj
    Sedan när din update-metod är klar anropar du bara:
    mUpdateHandler.sleep(20);
    (20 är millisekunder du vill vänta tills nästa update)

    Lycka till!
     
  6. drewi

    drewi Teen Droid Medlem

    Joined:
    Feb 6, 2010
    Messages:
    305
    Likes Received:
    10
    Telefon:
    Pixel 2 XL

    MINA ENHETER

    Telefon:
    Pixel 2 XL
    Har inte hunnit börja med spelet än men har testat RefreshHandler och fått det att funka :) Tack så mycket för svaren
     
  7. Elis

    Elis Kid Droid Medlem

    Joined:
    Apr 22, 2010
    Messages:
    53
    Likes Received:
    5

    MINA ENHETER

    Du bör använda dig av en tråd som någon ovan nämde.
    Bifogar två .java filer omdöpta till .txt(för att det ska gå att bifoga) som gör ungefär precis det du söker och lite till :)
     

    Attached Files:

  8. softarn

    softarn Teen Droid Medlem

    Joined:
    Mar 4, 2010
    Messages:
    361
    Likes Received:
    9

    MINA ENHETER

    Läste igenom inlägget igen och såg att jag hade missuppfattat lite, handler är inte skapad för detta syfte. Använd som andra har förslagit en egen tråd för detta. Men det vore nog bättre om du använde dig av en spelmotor. AndEngine t.ex., dock blir inte canvas utan opengl.
     
  9. drewi

    drewi Teen Droid Medlem

    Joined:
    Feb 6, 2010
    Messages:
    305
    Likes Received:
    10
    Telefon:
    Pixel 2 XL

    MINA ENHETER

    Telefon:
    Pixel 2 XL
    Är självlärd i java så har inte så stora kunskaper ännu, vet inte vad en tråd är :P Men jag ska ta en kik på filerna du bifogade så kanske det lossnar för mig