Naar content
Trending apps
  • Google Duo: videogesprekken van hoge kwaliteit

  • Gmail

  • Maps: Navigatie en OV

  • WhatsApp Messenger

  • Messenger: gratis sms'en en videobellen

Trending games
  • Fortnite

  • Minecraft Earth

  • Dr. Mario World

  • Harry Potter: Wizards Unite

  • Breaking Bad: Criminal Elements

Trending smartphones
  • POCO X3

  • Samsung Galaxy Note 20 Ultra

  • Google Pixel 4a

  • OnePlus Nord

  • Samsung Galaxy A51

Nieuwste tablets
  • Samsung Galaxy Tab S6

  • Samsung Galaxy Tab A 10.5

  • Samsung Galaxy Tab S4

  • Samsung Galaxy Tab S3 9.7

  • Asus Zenpad 3S 10

Ikkerens

Ikkerens

  • Lid sinds 12 april 2011
  • Berichten 2
  • Reputatie 0
  • #1
  • 12 april 2011
  • 17:35

Hallo allemaal,

Ik ben dus de laatste tijd bezig met mijn puzzelspel voor android.
Ik heb dit spel al eerder gelanceerd, en ik heb al verscheiden eigen pogingen gedaan om een goede tilemapper te schrijven.

Poging 1:
Canvas waar ik bitmaps in teken, die omzet naar een bitmap, en als achtergrond instel van een layout. (Omslachtig, ik weet het)

Poging 2:
Binnen de layout 96 verschillende ImageViews maken, en deze allemaal dynamisch veranderen. (Zorgt voor memory leaks blijksbaar)

Ik moet dus eigenlijk een tilemapper hebben voor de grootte 12x8, en waarin de plaatjes worden ge-“scaled” naar een vaste grootte die wordt bepaald op basis van de schermgrootte.

Is er iemand die mij hier op weg kan helpen?

Alvast bedankt,

M.v.g.
Rens Rikkerink

Bewerkt (12 april 2011 17:35)
fifarunnerr

fifarunnerr

  • Lid sinds 13 juli 2010
  • Berichten 1846
  • Reputatie 10
  • #2
  • 12 april 2011
  • 19:10

Scalen gaat het beste(lees: Hoor je in android te doen) door geen pixels te pakken maar DIP. Dan maakt de uiteindelijke resolutie niets uit, omdat hij mooi meeschaalt. Dus als je een standaard ImageView maakt die je vervolgens 96 keer inflate(met LayoutInflater), dan zijn ze alle 96 even groot.
Of dat qua memory leaks de beste optie is weet ik niet

Bewerkt (12 april 2011 19:10)
Ikkerens

Ikkerens

  • Lid sinds 12 april 2011
  • Berichten 2
  • Reputatie 0
  • #3
  • 12 april 2011
  • 19:14

Op zich is dat wat ik ook deed, alleen gebruikte ik dan de volgende formule om de grootte te bepalen, en die vervolgens toe te passen:

int TileWidth = Math.round(ScreenWidth / 12); //Uit mijn hoofd, maar je weet wat ik bedoel ;)

En dan LayoutInflater waar jij het over hebt klinkt heel interessant, ik zal er eens naar kijken.

Bewerkt (12 april 2011 19:14)

Reageer

Om te reageren, dien je te zijn ingelogd. Druk op de onderstaande knop om in te loggen of maak een nieuwe account aan.

Inloggen Registreren