DJGL-スクロール

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

DJGL 画面のスクロール


以下にDJGLの更新したScrollを使い入力された十字キーに従って画面をスクロールするデモを示す.

  1. import java.awt.Color;
  2. import java.awt.Font;
  3. import java.awt.event.KeyEvent;
  4.  
  5. import densan.s.game.Scroll.Scroll;
  6. import densan.s.game.drawing.Drawer;
  7. import densan.s.game.input.KeyInput;
  8. import densan.s.game.manager.GameManager;
  9. import densan.s.game.manager.Updatable;
  10.  
  11. public class DemoScroll {
  12.  
  13. public static void main(String args[]){
  14. GameManager.getInstance().createFrame(640, 480);
  15. GameManager.getInstance().setUpdatable(new TestScene());
  16. }
  17.  
  18.  
  19.  
  20.  
  21. public static class TestScene implements Updatable{
  22.  
  23. Scroll sc = Scroll.getInstance();
  24.  
  25. public TestScene(){
  26.            //スクロール範囲指定 複数の範囲指定可
  27. //isWithInTheScope(x,y)メソッドでその座標が範囲内に入ってるか判定できる。
  28. sc.rengeSpesification(-100, -100, 100, 100);
  29. }
  30.  
  31. @Override
  32. public void update() {
  33. // TODO 自動生成されたメソッド・スタブ
  34. if(KeyInput.isPressing(KeyEvent.VK_UP)){
  35. sc.addOffset(0, -2);
  36. }if(KeyInput.isPressing(KeyEvent.VK_DOWN)){
  37. sc.addOffset(0, 2);
  38. }if(KeyInput.isPressing(KeyEvent.VK_RIGHT)){
  39. sc.addOffset(2, 0);
  40. }if(KeyInput.isPressing(KeyEvent.VK_LEFT)){
  41. sc.addOffset(-2, 0);
  42. }
  43.  
  44. }
  45.  
  46. @Override
  47. public void draw(Drawer d) {
  48. // TODO 自動生成されたメソッド・スタブ
  49. d.setColor(Color.red);
  50.  
  51. d.drawCircle(240-sc.getOffsetX(), 240-sc.getOffsetY(), 20);
  52.  
  53. //見やすいように水平線を描画
  54. d.setColor(Color.BLACK);
  55. d.drawLine(240-sc.getOffsetX(), 580-sc.getOffsetY(), 240-sc.getOffsetX(), -100-sc.getOffsetY(), 3);
  56. d.drawLine(740-sc.getOffsetX(),240-sc.getOffsetY(),-100-sc.getOffsetX(),240-sc.getOffsetY(),3);
  57.  
  58. d.setFontSize(20);
  59. //黒
  60. d.setColor(Color.BLACK);
  61. d.drawString("offsetX:"+sc.getOffsetX(), 10, 20);
  62. d.drawString("offsetY:"+sc.getOffsetY(), 10, 40);
  63. }
  64. }
  65. }
  66.