SlideServe
Menu
Préférences
© SlideServe · v2026

Sprite

abedi avatar
14 diapositives · 562 Views · Sep 02, 2014

Setiap objek dalam game yang memiliki gambar dan karakteristik. Anda dapat membayangkan sprite sebagai suatu gambar yang terletak di suatu tempat di layar, yang mana gambar tersebut dapat bergerak, beranimasi, dan memiliki karakteristiknya masing-masing. Sprite. Sprite

Sprite - slide 1
01 / 14Sprite
1 / 17

Télécharger la présentation

Sprite
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Setiap objek dalam game yang memiliki gambar dan karakteristik. Anda dapat membayangkan sprite sebagai suatu gambar yang terletak di suatu tempat di layar, yang mana gambar tersebut dapat bergerak, beranimasi, dan memiliki karakteristiknya masing-masing. Sprite

  2. Sprite Kelas ini adalah dasar dari semua sprite Animated Sprite Digunakan untuk animasi Advanced Sprite Sprite ini memiliki animasi, status dan arah Volatile Sprite Sprite yang beranimasi, kemudian ketika animasi sudah selesai maka akan menghilang Jenis Sprite

  3. Adalah objek dalam game yang tampak secara grafik dan memiliki perilaku. Setiap sprite terletak pada suatu lokasi di background, Set Lokasi : setLocation(double, double). Menggerakkan : move(double,double). Kecepatan : setSpeed(double,double) Sprite

  4. Adalah sebuah sprite yang menggunakan banyak gambar untuk membuat tampilan animasi. Animated Sprite digunakan untuk membuat animasi sederhana, tidak ada pengendalian terhadap arah dan perilaku. Contoh : AnimatedSprite sprite; // animasi dari gambar 1 ke gambar 3 sprite.setAnimationFrame(0, 2); sprite.setAnimate(true); Note: Jika start frame dan finish frame sama, maka tidak ada animasi yang terjadi Animated Sprite

  5. Adalah sprite untuk menciptakan animasi yang didalamnya juga terdapat informasi mengenai arah/direction dan behaviour/tingkah/status laku. Ex set status : public static final int WALKING=1 advancedSprite.setStatus(WALKING); Ex set direction : public static final int NORTH=1 advancedSprite.setDirection(NORTH); Advanced Sprite

  6. Sebuah kelas untuk membuat background seperti ketika kita menyusun lantai Ex : Anda memiliki gambar ukuran 64x64, dengan kelas ini anda dapat mengisi area seluas 1024x768 atau sesuai selera anda. Game Background

  7. public GameBackground() { //inisialisasi background, terdiri dari //20 petak horisontal, 20 petak vertikal //setiap petak ukurannya 64x64 Super(20, 20, 64, 64); //load image gambar rumput image = ImageUtil.getImage(getClass().getResource("/teknogame2/image/big grasstile64.png")); } GameBackground.java

  8. @Override public void renderTile(Graphics2D g, int tileX, int tileY, int x, int y) { // lakukan proses penggambaran image pada x dan y g.drawImage(image, x, y, null); } Override Method RenderTile

  9. //sprite yang punya arah dan status private AdvanceSprite advanceSprite; //array gambar orang jalan private BufferedImage[] walkingImages; //array gambar orang menyerang private BufferedImage[] attackImages; //Konstanta aksi private final int WALKING = 0; private final int ATTACK = 1; //konstanta arah HORISONTAL dan VERTIKAL private final int EAST = 0; private final int WEST = 1; private final int SOUTH = 2; private final int NORTH = 3; //konstanta arah diagonal private final int SOUTH_EAST = 4; //Objek untuk membuat background private GameBackground background; FirstGame.java

  10. public void initResources() { background=new GameBackground(); walkingImages = bsLoader.getImages("teknogame2/image/walking8x8.png", 8, 8, true); attackImages = bsLoader.getImages("teknogame2/image/attack13x8.png", 13, 8, true); advanceSprite = new AdvanceSprite(walkingImages, 10, 10); advanceSprite.getAnimationTimer().setDelay(75); } Method Init Resources

  11. //Keluar game apabila tombol ESC ditekan if (keyDown(KeyEvent.VK_ESCAPE)) { System.exit(0); } //cek, apakah ada tombol yang ditekan atau tidak //bila tidak hentikan animasi if (bsInput.getKeyPressed() == bsInput.NO_KEY) { if (advanceSprite.isAnimate()) { advanceSprite.setAnimate(false); } } //menentukan apakah jalan atau menyerang if (keyDown(KeyEvent.VK_RIGHT) || keyDown(KeyEvent.VK_LEFT) || keyDown(KeyEvent.VK_DOWN) || keyDown(KeyEvent.VK_UP)) { if (advanceSprite.getStatus() == ATTACK) { advanceSprite.setImages(walkingImages); } advanceSprite.setStatus(WALKING); } else if (keyDown(KeyEvent.VK_SPACE)) { if (advanceSprite.getStatus() == WALKING) { advanceSprite.setImages(attackImages); } advanceSprite.setStatus(ATTACK); } Method Update I

  12. if (advanceSprite.getStatus() == WALKING) { //membuat animasi arah diagonal if (keyDown(KeyEvent.VK_RIGHT) && keyDown(KeyEvent.VK_DOWN)) { if (!advanceSprite.isLoopAnim()) { advanceSprite.setAnimationFrame(40, 47); advanceSprite.setAnimate(true); } advanceSprite.setDirection(SOUTH_EAST); advanceSprite.moveTo(elapsedTime, advanceSprite.getX() + 1, advanceSprite.getY() + 1, 0.1); } //membuat animasi arah horisontal atau vertikal else if (keyDown(KeyEvent.VK_RIGHT)) { if (!advanceSprite.isLoopAnim()) { advanceSprite.setAnimationFrame(0, 7); advanceSprite.setAnimate(true); } advanceSprite.setDirection(EAST); advanceSprite.moveTo(elapsedTime, advanceSprite.getX() + 1, advanceSprite.getY(), 0.1); } Method Update II

  13. } else if (advanceSprite.getStatus() == ATTACK) { if (keyDown(KeyEvent.VK_SPACE)) { if (advanceSprite.getDirection() == EAST) { advanceSprite.setAnimationFrame(0, 12); advanceSprite.setAnimate(true); } else if (advanceSprite.getDirection() == WEST) { advanceSprite.setAnimationFrame(91, 103); advanceSprite.setAnimate(true); } else if (advanceSprite.getDirection() == NORTH) { advanceSprite.setAnimationFrame(13, 25); advanceSprite.setAnimate(true); } else if (advanceSprite.getDirection() == SOUTH) { advanceSprite.setAnimationFrame(52, 64); advanceSprite.setAnimate(true); } } } advanceSprite.update(elapsedTime); } Method update III

  14. public void render(Graphics2D g) { g.setColor(Color.GREEN); g.fillRect(0, 0, getWidth(), getHeight()); background.render(g); advanceSprite.render(g); } Method Render