Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009     Tworzenie graficznego in...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Plan prezentacji  1   Podsta...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Plan prezentacji  1   Podsta...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Displayable  Display.setCurr...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Canvas  Canvas  Klasa bazowa...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Canvas - możliwości  Metody:...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Graphics  Graphics  Klasa sł...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Graphics  Malowanie tekstu: ...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Graphics - anchor  Wyrównani...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Image  Metody:        static...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Szkielet aplikacji cz. 1 I  ...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Szkielet aplikacji cz. 2 I  ...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Szkielet aplikacji cz. 3 I  ...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Podstawy rysowania - demo   ...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Plan prezentacji  1   Podsta...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Obsługa klawiszy  Metody:   ...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Obsługa klawiszy - przykład ...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Obsługa ekranu dotykowego  M...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Plan prezentacji  1   Podsta...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009GameCanvas  GameCanvas  Rozs...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009GameCanvas - Szkielet aplika...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009GameCanvas - Szkielet aplika...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009GameCanvas - demo     LowLev...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Plan prezentacji  1   Podsta...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                           5 listopad 2009Sprite  http://java.su...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Sprite - podstawowe właściwo...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Sprite - możliwość animacji ...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                           5 listopad 2009Sprite - możliwość tra...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Sprite - demo     LowLevel06...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Sprite - wykrywanie kolizji ...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Sprite - wykrywanie kolizji ...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Plan prezentacji  1   Podsta...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                          5 listopad 2009TiledLayer  http://java...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                          5 listopad 2009TiledLayer  http://java...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009TiledLayer  Konstruktor:    ...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009TiledLayer - demo     LowLev...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Jak to wszystko wykorzystać?...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Sprite i TiledLayer - demo  ...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009GameBuilder  Marcin Stachniu...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Plan prezentacji  1   Podsta...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Czego się dzisiaj nauczyliśm...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Pytania                     ...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                     5 listopad 2009Kolejne spotkanie  Temat: Tw...
Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME                           5 listopad 2009Więcej informacji     ...
Upcoming SlideShare
Loading in …5
×

02 Tworzenie graficznego inferface’u użytkownika niskiego poziomu w j2me

633 views

Published on

Prezentacja wprowadzająca do programowania niskopoziomowego w j2me. Przygotowana i wygłoszona przez Marcina Stachniuka 05.11.2009.

Prezentacja wygłoszona w ramach Warsztatów programowania telefonów komórkowych w j2me przy Studenckim Kole Naukowym Informatyki Systemów Autonomicznych i Adaptacyjnych ISA^2.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
633
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

02 Tworzenie graficznego inferface’u użytkownika niskiego poziomu w j2me

  1. 1. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009 Tworzenie graficznego inferface’u użytkownika niskiego poziomu Marcin Stachniuk mstachniuk@gmail.com Politechnika Wrocławska Wydział Elektroniki Studenckie Koło Naukowe Informatyki Systemów Autonomicznych i Adaptacyjnych ISA2 5 listopad 2009Marcin Stachniuk Tworzenie GUI niskiego poziomu 1/44
  2. 2. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Plan prezentacji 1 Podstawy rysowania 2 Obsługa klawiszy i ekranu dotykowego 3 Ulepszony Canvas 4 Sprite 5 TiledLayer 6 Podsumowanie Marcin Stachniuk Tworzenie GUI niskiego poziomu 2/44
  3. 3. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Plan prezentacji 1 Podstawy rysowania 2 Obsługa klawiszy i ekranu dotykowego 3 Ulepszony Canvas 4 Sprite 5 TiledLayer 6 Podsumowanie Marcin Stachniuk Tworzenie GUI niskiego poziomu 3/44
  4. 4. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Displayable Display.setCurrent(Displayable nextDisplayable) - ustawienie co ma być wyswietlane na ekranie Marcin Stachniuk Tworzenie GUI niskiego poziomu 4/44
  5. 5. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Canvas Canvas Klasa bazowa do pisania aplikacji wykorzystujących GUI niskopoziomowe (low-level). O Canvas’ie należy myśleć jak o przestrzeni po której możemy malować. Marcin Stachniuk Tworzenie GUI niskiego poziomu 5/44
  6. 6. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Canvas - możliwości Metody: boolean isDoubleBuffered() - test czy Canvas jest podwójnie buforowany repaint() - zgłoszenie konieczności odmalowania ekranu serviceRepaints() - wymuszenie odmalowania setFullScreenMode(boolean mode) - ustawienie pełnego ekranu (od MIDP 2.0) protected abstract void paint(Graphics g) - abstrakcyjna metoda, w której odbywa się rysowanie Marcin Stachniuk Tworzenie GUI niskiego poziomu 6/44
  7. 7. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Graphics Graphics Klasa służąca do rysowania prymitywów, obrazków i tekstów. Metody: setColor(int RGB) / setColor(int red, int green, int blue) - ustawienie aktualnego koloru drawLine(int x1, int y1, int x2, int y2) - malowanie linii drawRect(int x, int y, int width, int height) - malowanie prostokąta fillRect(int x, int y, int width, int height) - malowanie wypełnionego prostokąta Marcin Stachniuk Tworzenie GUI niskiego poziomu 7/44
  8. 8. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Graphics Malowanie tekstu: setFont(Font font) - ustawienie czcionki drawString(String str, int x, int y, int anchor) - wydrukowanie napisu drawChar(char character, int x, int y, int anchor) - wydrukowanie znaku Marcin Stachniuk Tworzenie GUI niskiego poziomu 8/44
  9. 9. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Graphics - anchor Wyrównanie textu w poziomie: LEFT - do lewej HCENTER - wyśrodkowane RIGHT - do prawej Wyrównanie textu w pionie: TOP - do góry BASELINE - wyśrodkowanie do lini bazowej BOTTOM - do dołu Marcin Stachniuk Tworzenie GUI niskiego poziomu 9/44
  10. 10. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Image Metody: static Image createImage(String name) - wczytywanie orazka z pliku int getHeight() - pobranie wysokości obrazka int getWidth() - pobranie szerokości obrazka Wyświetlanie za pomocą klasy Graphics: drawImage(Image img, int x, int y, int anchor) - malowanie obrazka Marcin Stachniuk Tworzenie GUI niskiego poziomu 10/44
  11. 11. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Szkielet aplikacji cz. 1 I LowLevel01.java 1 public class LowLevel01 extends MIDlet implements Runnable { 2 3 private LowLevelCanvas canvas; 4 5 public void startApp() { 6 canvas = new LowLevelCanvas(); 7 Display display = Display.getDisplay(this); 8 display.setCurrent(canvas); 9 Thread thread = new Thread(this);10 thread.start();11 } Marcin Stachniuk Tworzenie GUI niskiego poziomu 11/44
  12. 12. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Szkielet aplikacji cz. 2 I LowLevel01.java 1 public void run() { 2 while(!canvas.isEndGame()) { 3 try { 4 canvas.think(); 5 canvas.repaint(); 6 canvas.serviceRepaints(); 7 Thread.sleep(100); 8 } catch (InterruptedException ex) { 9 ex.printStackTrace();10 }11 }12 destroyApp(false);13 notifyDestroyed();14 } Marcin Stachniuk Tworzenie GUI niskiego poziomu 12/44
  13. 13. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Szkielet aplikacji cz. 3 I LowLevelCanvas.java 1 public class LowLevelCanvas extends Canvas { 2 private boolean endGame = false; 3 4 public LowLevelCanvas() { 5 init(); 6 } 7 8 private void init() { 9 }1011 public void think() {12 }1314 public void paint(Graphics g) {15 }16 public boolean isEndGame() {17 return endGame;18 }19 } Marcin Stachniuk Tworzenie GUI niskiego poziomu 13/44
  14. 14. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Podstawy rysowania - demo LowLevel01.zip LowLevel02.zip Marcin Stachniuk Tworzenie GUI niskiego poziomu 14/44
  15. 15. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Plan prezentacji 1 Podstawy rysowania 2 Obsługa klawiszy i ekranu dotykowego 3 Ulepszony Canvas 4 Sprite 5 TiledLayer 6 Podsumowanie Marcin Stachniuk Tworzenie GUI niskiego poziomu 15/44
  16. 16. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Obsługa klawiszy Metody: keyPressed(int keyCode) - naciśnięto klawisz keyReleased(int keyCode) - puszczono klawisz keyRepeated(int keyCode) - powtórzono klawisz Kody klawiszy KEY NUM0, KEY NUM1, KEY NUM2, KEY NUM3, KEY NUM4, KEY NUM5, KEY NUM6, KEY NUM7, KEY NUM8, KEY NUM9, KEY STAR, KEY POUND Akcje gry UP, DOWN, LEFT, RIGHT, FIRE, GAME A, GAME B, GAME C, GAME D Marcin Stachniuk Tworzenie GUI niskiego poziomu 16/44
  17. 17. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Obsługa klawiszy - przykład I 1 protected void keyPressed(int keyCode) { 2 switch (getGameAction(keyCode)) { 3 case Canvas.LEFT: 4 // naciśnięto w lewo 5 break; 6 7 case Canvas.RIGHT: 8 // naciśnięto w prawo 9 break;10 }11 } LowLevel03.zip Marcin Stachniuk Tworzenie GUI niskiego poziomu 17/44
  18. 18. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Obsługa ekranu dotykowego Metody: boolean hasPointerEvents() - test czy telefon obsługuje ekran dotykowy boolean hasPointerMotionEvents() - test czy telefon wspiera przesuwanie po ekranie dotykowym pointerPressed(int x, int y) - obsługa ”wciśnięcia” ekranu pointerReleased(int x, int y) - obsługa ”puszczenia” ekranu pointerDragged(int x, int y) - obsługa ”przesuwania” wskaźnikiem po ekranie Marcin Stachniuk Tworzenie GUI niskiego poziomu 18/44
  19. 19. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Plan prezentacji 1 Podstawy rysowania 2 Obsługa klawiszy i ekranu dotykowego 3 Ulepszony Canvas 4 Sprite 5 TiledLayer 6 Podsumowanie Marcin Stachniuk Tworzenie GUI niskiego poziomu 19/44
  20. 20. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009GameCanvas GameCanvas Rozszerzenie klasy Canvas, wpomagajace pisanie gier. Umożliwia zastosowanie podwójnego buffora przy malowaniu i statusu wciśniętych klawiszy. Metody: Graphics getGraphics() - uzyskanie dostępu do buffora ekranowego flushGraphics() - podmiana wyświetlanego buffora, odświeżenie ekranu int getKeyStates() - pobranie statusu klawiatury Marcin Stachniuk Tworzenie GUI niskiego poziomu 20/44
  21. 21. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009GameCanvas - Szkielet aplikacji cz. 1 I LowLevel04.java 1 public void run() { 2 while(!canvas.isEndGame()) { 3 canvas.inputKeys(); 4 canvas.think(); 5 canvas.paint(); 6 } 7 destroyApp(false); 8 notifyDestroyed(); 9 } Marcin Stachniuk Tworzenie GUI niskiego poziomu 21/44
  22. 22. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009GameCanvas - Szkielet aplikacji cz. 2 I LowLevelGameCanvas.java 1 public LowLevelGameCanvas() { 2 super(true); 3 init(); 4 } 5 6 void paint() { 7 Graphics g = getGraphics(); 8 9 flushGraphics();10 }1112 void inputKeys() {13 }1415 void think() {16 } LowLevel04.zip Marcin Stachniuk Tworzenie GUI niskiego poziomu 22/44
  23. 23. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009GameCanvas - demo LowLevel05.zip Marcin Stachniuk Tworzenie GUI niskiego poziomu 23/44
  24. 24. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Plan prezentacji 1 Podstawy rysowania 2 Obsługa klawiszy i ekranu dotykowego 3 Ulepszony Canvas 4 Sprite 5 TiledLayer 6 Podsumowanie Marcin Stachniuk Tworzenie GUI niskiego poziomu 24/44
  25. 25. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Sprite http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/lcdui/game/Sprite.html Marcin Stachniuk Tworzenie GUI niskiego poziomu 25/44
  26. 26. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Sprite - podstawowe właściwości Metody: int getHeight() - pobranie wysokości int getWidth() - pobranie szerokości int getX() - pobranie współrzędnej X int getY() - pobranie współrzędnej Y setPosition(int x, int y) - ustawienie pozycji move(int dx, int dy) - przesuniecie o dany wektor paint(Graphics g) - namalowanie Sprite’a setVisible(boolean visible) - ustawienie widoczności boolean isVisible() - sprawdzenie widoczności Marcin Stachniuk Tworzenie GUI niskiego poziomu 26/44
  27. 27. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Sprite - możliwość animacji Konstruktor: Sprite(Image image, int frameWidth, int frameHeight) Metody: setFrameSequence(int[] sequence) - ustawienie sekwencji kolejnych klatek animacji nextFrame() - następna klatka prevFrame() - poprzednia klatka int getFrame() - pobranie numeru aktualnej klatki setFrame(int sequenceIndex) - ustawienie aktualnej klatki animacji Marcin Stachniuk Tworzenie GUI niskiego poziomu 27/44
  28. 28. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Sprite - możliwość transformacji Transformacje: TRANS MIRROR, TRANS MIRROR ROT180, TRANS MIRROR ROT270, TRANS MIRROR ROT90, TRANS NONE, TRANS ROT180, TRANS ROT270, TRANS ROT90 http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/lcdui/game/Sprite.html Marcin Stachniuk Tworzenie GUI niskiego poziomu 28/44
  29. 29. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Sprite - demo LowLevel06.zip Marcin Stachniuk Tworzenie GUI niskiego poziomu 29/44
  30. 30. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Sprite - wykrywanie kolizji Metody: boolean collidesWith(Image image, int x, int y, boolean pixelLevel) - test kolizji z obrazkiem boolean collidesWith(Sprite s, boolean pixelLevel) - test kolizji z innym Sprite’m defineCollisionRectangle(int x, int y, int width, int height) - definicja obszaru kolizyjnego Marcin Stachniuk Tworzenie GUI niskiego poziomu 30/44
  31. 31. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Sprite - wykrywanie kolizji - demo LowLevel07.zip Marcin Stachniuk Tworzenie GUI niskiego poziomu 31/44
  32. 32. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Plan prezentacji 1 Podstawy rysowania 2 Obsługa klawiszy i ekranu dotykowego 3 Ulepszony Canvas 4 Sprite 5 TiledLayer 6 Podsumowanie Marcin Stachniuk Tworzenie GUI niskiego poziomu 32/44
  33. 33. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009TiledLayer http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/lcdui/game/TiledLayer.html Marcin Stachniuk Tworzenie GUI niskiego poziomu 33/44
  34. 34. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009TiledLayer http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/lcdui/game/TiledLayer.html Marcin Stachniuk Tworzenie GUI niskiego poziomu 34/44
  35. 35. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009TiledLayer Konstruktor: TiledLayer(int columns, int rows, Image image, int tileWidth, int tileHeight) - tworzenie nowego TiledLayer’a Metody: fillCells(int col, int row, int numCols, int numRows, int tileIndex) - częściowe wypełnianie wartościami setCell(int col, int row, int tileIndex) - ustawienie wartości danej komórki getAnimatedTile(int animatedTileIndex) - utworzenie animawonego kafelka setAnimatedTile(int animatedTileIndex, int staticTileIndex) - ustawienie numeru kafelka, który będzie teraz aktualny Marcin Stachniuk Tworzenie GUI niskiego poziomu 35/44
  36. 36. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009TiledLayer - demo LowLevel08.zip Marcin Stachniuk Tworzenie GUI niskiego poziomu 36/44
  37. 37. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Jak to wszystko wykorzystać? Sprite: boolean collidesWith(TiledLayer t, boolean pixelLevel) - sprawdzanie kolizji Sprite’a z TiledLayer’em Marcin Stachniuk Tworzenie GUI niskiego poziomu 37/44
  38. 38. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Sprite i TiledLayer - demo LowLevel09.zip Marcin Stachniuk Tworzenie GUI niskiego poziomu 38/44
  39. 39. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009GameBuilder Marcin Stachniuk Tworzenie GUI niskiego poziomu 39/44
  40. 40. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Plan prezentacji 1 Podstawy rysowania 2 Obsługa klawiszy i ekranu dotykowego 3 Ulepszony Canvas 4 Sprite 5 TiledLayer 6 Podsumowanie Marcin Stachniuk Tworzenie GUI niskiego poziomu 40/44
  41. 41. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Czego się dzisiaj nauczyliśmy? Działanie Canvas’u i GameCanvas’u Malowanie po ekranie za pomocą Graphics Obsługa klawiszy Działanie klas Sprite i TiledLayer Jak można pisać pierwsze gry Marcin Stachniuk Tworzenie GUI niskiego poziomu 41/44
  42. 42. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Pytania ? Marcin Stachniuk Tworzenie GUI niskiego poziomu 42/44
  43. 43. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Kolejne spotkanie Temat: Tworzenie GUI wysokiego poziomu Prowadzenie: Marcin Majak Data: 12.11.2009, godzina: 17.00 Gdzie: sala 23 C-3 Marcin Stachniuk Tworzenie GUI niskiego poziomu 43/44
  44. 44. Studenkie Koło Naukowe ISA2 Warsztaty programistyczne J2ME 5 listopad 2009Więcej informacji Kontakt z autorem: mstachniuk@gmail.com Strona koła naukowego ISA2 http://autonom.ict.pwr.wroc.pl/ Strona warsztatów: http://autonom.ict.pwr.wroc.pl/∼mstachniuk Adres tego dokumentu: http://autonom.ict.pwr.wroc.pl/∼mstachniuk/files/warsztaty2009/03-lowlevel-2009.11.05.pdf Pliki z kodami źródłowymi wykorzystywanymi w prezentacji: http://autonom.ict.pwr.wroc.pl/∼mstachniuk/files/warsztaty2009/LowLevelAll.zip Tworzenie GUI niskiego poziomu http://midlety.net/site/praktyka/LowLevelGUI.html MID Profile - dokumentacja Javadoc http://java.sun.com/javame/reference/apis/jsr118/ Creating 2D Action Games with the Game API http://developers.sun.com/mobility/midp/articles/game/ Working with the TiledLayer Class http://www.dbarnes.com/midlet/tiledlayer/ Getting Started With the MIDP 2.0 Game API http://developers.sun.com/mobility/midp/articles/gameapi/ GameCanvas - czyli dalej rysujemy po ekranie http://4programmers.net/Java/J2ME/GameCanvas - czyli dalej rysujemy po ekranie NetBeans http://www.netbeans.org/ Marcin Stachniuk Tworzenie GUI niskiego poziomu 44/44

×