亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? launch_missiles.java

?? Java 多媒體技術(附源碼) Java 3D API JavaSound API 各種格式的多媒體數據文件 JBuilder開發環境
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
      default :        say_pos_x = say_margin ;        break ;    }    Graphics bg = buffer.getGraphics() ;    bg.setFont(say_font) ;    if (say_style == SHADOW) {      bg.setColor(new Color(150,150,150)) ;      bg.drawString(s, say_pos_x+2,say_pos_y+1) ;    }    bg.setColor(Color.white) ;            // 在緩沖區內寫字符串    bg.drawString(s, say_pos_x,say_pos_y) ;    say_pos_y += (int) (1.2 * fm.getHeight()) ;         // 提升相應的 y坐標值    bg.dispose() ;                              // 釋放資源  }  public void set_say_mode(int m) {       // 設置顯示模式    say_mode = m ;  }  public void set_say_style(int s) {        // 設置顯示類型    say_style = s ;  }  public void set_say_font(Font f) {        // 設置顯示所用的字體    say_font = f ;  }  public void set_say_margin(int margin) {        // 設置顯示的空白邊緣    say_margin = margin ;  }  public void set_say_pos(int x, int y) {     // 設置顯示位置的坐標    say_pos_x = x ;    say_pos_y = y ;  }}/* --------------------  定義Piece基類 -------------------------- */class Piece {  Launch_Missiles a ;  int px,py ; // 定義新位置的x、y坐標  int opx,opy ; // 定義舊位置的x、y坐標  int w,h ; // 定義寬度,高度  int vx,vy ; // 定義x和y方向的速度  Color c ; // 定義顏色  boolean active = false ;  Image img = null ;  public void set_pos(int x, int y) {    // 設定位置    px = opx = x ;    py = opy = y ;  }  public void set_vel(int x,int y) {  // 設置速度    vx = x ;    vy = y ;  }  public void set_size(int x,int y) {    // 設置高度和寬度    w = x ;    h = y ;  }  public void set_color(Color c) {    // 設置顏色    this.c = c ;  }  public void set_draw_rectangles(Rectangle o, Rectangle n) {    // 設置繪制區域    int sh = a.window_size.height ;    int x  = px - w/2 ;    int y  = (sh - py) - h/2 ;    int ox = opx - w/2 ;    int oy = (sh - opy) - h/2 ;    o.setBounds(ox,oy,w,h);    n.setBounds(x,y,w,h) ;  }  public boolean active() {    // 獲取active屬性值    return active ;  }  public void active(boolean s) {    // 設置active屬性值    active = s ;  }  public boolean collision(Piece p) {    // 物體間的碰撞的監測    int dpx = Math.abs(px - p.px) ;    int dpy = Math.abs(py - p.py) ;    if ((dpx < (Math.max(w/2,p.w/2))+1) && (dpy < (Math.max(h/2,p.h/2)+1)))      return true ;    return false ;  }  public void draw() {    // 繪制對象    set_draw_rectangles(a.paint_area, a.new_area) ;      // 設置繪制的區域    Graphics bg = a.buffer.getGraphics() ;      // 繪制緩沖區    bg.clipRect(a.paint_area.x, a.paint_area.y, w, h);    bg.drawImage(a.backdrop,0,0,a) ;    bg.dispose() ;    a.buf_g.setColor(c);      // 填充緩沖區    a.buf_g.fillRect(a.new_area.x, a.new_area.y, w, h);    a.paint_area.add(a.new_area) ;      // 使用新的區域    Graphics g = a.getGraphics() ;      // 將緩沖繪制到屏幕上    g.clipRect(a.paint_area.x ,a.paint_area.y, a.paint_area.width, a.paint_area.height);    g.drawImage(a.buffer, 0, 0, a);    g.dispose() ;  }  public void erase() {    // 清除    set_draw_rectangles(a.paint_area, a.new_area) ;      // 設置繪制的區域    a.paint_area.add(a.new_area) ;      // 使用新的區域    Graphics bg = a.buffer.getGraphics() ;      // 將背景幕拷到緩沖中    bg.clipRect(a.paint_area.x, a.paint_area.y, a.paint_area.width, a.paint_area.height);    bg.drawImage(a.backdrop,0,0,a) ;    bg.dispose() ;    Graphics g = a.getGraphics() ;      // 將緩沖繪制到屏幕上    g.clipRect(a.paint_area.x,a.paint_area.y,a.paint_area.width,a.paint_area.height);    g.drawImage(a.buffer,0,0, a);    g.dispose() ;  }}/* --------------------  定義導彈發射架類 -------------------------- */class Launcher extends Piece {  public Launcher (Launch_Missiles a) {    this.a = a ;      // 初始化導彈發射架屬性值    w  = 12 ;    h  = 22 ;    px = opx = a.window_size.width/2 ;    py = opy = w/2+1 ;    active = true ;    img = a.missile ;  }  public void move() {    // 移動導彈發射架    opx = px ;    opy = py ;    int dx  = a.mouse_x - px ;    int abs_dx = Math.abs(dx) ;    int step = 1 ;    if (abs_dx > 10)      step = 5 ;    else if (abs_dx > 1)      step = abs_dx/2 ;    if (dx != 0) {      px += step*(dx/abs_dx) ;      if (px < w/2)        px = w/2 ;    else if (px > (a.window_size.width - w/2))      px = a.window_size.width - w/2 ;    }  }  public boolean has_moved() {    // 判斷導彈發射架是否移動    if ((px - opx) != 0)      return true ;    return false ;  }  public void draw() {    // 繪制導彈發射架    set_draw_rectangles(a.paint_area, a.new_area) ;    Graphics bg = a.buffer.getGraphics() ;    bg.clipRect(a.paint_area.x, a.paint_area.y, w, h);    bg.drawImage(a.backdrop,0,0,a) ;    bg.dispose() ;    if (a.M.active()) {      // 根據導彈的active屬性值進行相應的繪制      a.buf_g.setColor(c);        // 導彈飛行時,發射架外觀為一實心矩形      a.buf_g.fillRect(a.new_area.x, a.new_area.y, w, h);    }    else {        // 否則,發射架外觀為一豎立的導彈      bg = a.buffer.getGraphics() ;      bg.clipRect(a.new_area.x, a.new_area.y, w, h);      bg.drawImage(img,a.new_area.x,a.new_area.y,a) ;      bg.dispose() ;    }    a.paint_area.add(a.new_area) ;      // 使用新的區域    Graphics g = a.getGraphics() ;      // 將緩沖繪制到屏幕上    g.clipRect(a.paint_area.x ,a.paint_area.y, a.paint_area.width, a.paint_area.height);    g.drawImage(a.buffer, 0, 0, a);    g.dispose() ;  }}/* --------------------  定義導彈Missile類 -------------------------- */class Missile extends Piece {  public Missile (Launch_Missiles a) {    this.a = a ;      // 初始化導彈屬性值    px = opx = 0 ;    py = opy = 0 ;    vx = 0 ;    vy = 7 ;    w  = 12 ;    h  = 22 ;    active = false ;    img = a.missile ;  }  public void move() {    // 移動對象    opx = px ;    opy = py ;    px = a.L.px ;    int dx = px - opx ;    int nvy = vy*vy - dx*dx ;    if (nvy > 0) nvy = (int) Math.sqrt(nvy) ;    if (nvy < 1) nvy = 1 ;    py += nvy ;    if (py > a.window_size.height + 2*h) active = false ;  }  int seq  = 0 ;  public void draw() {    // 繪制導彈    set_draw_rectangles(a.paint_area, a.new_area) ;      // 設置繪制區域    Graphics bg = a.buffer.getGraphics() ;    bg.clipRect(a.paint_area.x, a.paint_area.y, w, h);    bg.drawImage(a.backdrop,0,0,a) ;    bg.dispose() ;    seq = ++seq % 1 ;    int dx = px - opx ;    seq = 0 ;    if (dx > 0)      seq = 1 ;    else if (dx < 0)      seq = 2 ;    bg = a.buffer.getGraphics() ;    bg.clipRect(a.new_area.x, a.new_area.y, w, h);    bg.drawImage(img,a.new_area.x-w*seq,a.new_area.y,a) ;    bg.dispose() ;    a.paint_area.add(a.new_area) ;    Graphics g = a.getGraphics() ;    g.clipRect(a.paint_area.x ,a.paint_area.y, a.paint_area.width, a.paint_area.height);    g.drawImage(a.buffer, 0, 0, a);    g.dispose() ;  }}/* --------------------  定義飛行物Flyer類 -------------------------- */class Flyer extends Piece {  public Flyer (Launch_Missiles a) {    this.a = a ;      // 初始化飛行物屬性值    vx = (Math.random() > 0.5 ? 1 : -1) ;    vy = -2 ;    w  = 20 ;    h  = 8 ;    int aw = a.window_size.width ;    px = opx =  (int) (w/2+1 + (aw-w-2)* Math.random()) ;    py = opy = a.window_size.height + h/2 + 1  ;    active = true ;    img = a.ufostrip ;  }  public void move() {    // 移動飛行物    opx = px ;    opy = py ;    px += vx ;    py += vy ;    if (py < -h/2) active = false ;    if ((px <= w/2) || (px >= (a.window_size.width - w/2)) ||        (Math.random() > 0.96)) {      vx = -vx ;    }  }  int seq  = 0 ;  int seq2 = 0 ;  public void draw() {    // 繪制飛行物    set_draw_rectangles(a.paint_area, a.new_area) ;    Graphics bg = a.buffer.getGraphics() ;    bg.clipRect(a.paint_area.x, a.paint_area.y, w, h);    bg.drawImage(a.backdrop,0,0,a) ;    bg.dispose() ;    if ((++seq2 % 4) == 0) seq = ++seq % 4 ;    bg = a.buffer.getGraphics() ;    bg.clipRect(a.new_area.x, a.new_area.y, w, h);    bg.drawImage(img,a.new_area.x-w*seq,a.new_area.y,a) ;    bg.dispose() ;    a.paint_area.add(a.new_area) ;    Graphics g = a.getGraphics() ;    g.clipRect(a.paint_area.x ,a.paint_area.y, a.paint_area.width, a.paint_area.height);    g.drawImage(a.buffer, 0, 0, a);    g.dispose() ;  }}/* --------------------  定義爆炸Explosion類 -------------------------- */class Explosion extends Piece {  public Explosion (Launch_Missiles a, int x, int y) {    this.a = a ;      // 初始化爆炸對象屬性值    w  = 30 ;    h  = 30 ;    px = opx = x ;    py = opy = y ;    active = true ;    img = a.missile_explosion ;  }  int seq  = 0 ;  int seq2 = 0 ;  public void draw() {    set_draw_rectangles(a.paint_area, a.new_area) ;    Graphics bkd_g = a.backdrop.getGraphics();    bkd_g.clipRect(a.paint_area.x, a.paint_area.y, w, h);    bkd_g.drawImage(a.bgimg,0,0,a.window_size.width,a.window_size.height,a) ;    if ((++seq2 % 4) == 0) seq = ++seq % 5 ;    if (seq == 4) active = false ;    bkd_g.clipRect(a.new_area.x, a.new_area.y, w, h);    bkd_g.drawImage(img,a.new_area.x-w*seq,a.new_area.y,a) ;    bkd_g.dispose() ;    Graphics bg = a.buffer.getGraphics() ;    bg.clipRect(a.new_area.x,a.new_area.y,w,h);    bg.drawImage(a.backdrop,0,0,a) ;    bg.dispose() ;    Graphics g = a.getGraphics() ;    g.clipRect(a.paint_area.x ,a.paint_area.y, a.paint_area.width, a.paint_area.height);    g.drawImage(a.buffer, 0, 0, a);    g.dispose() ;  }  public void erase() {    // 清除爆炸    set_draw_rectangles(a.paint_area, a.new_area) ;    Graphics bkd_g = a.backdrop.getGraphics();    bkd_g.clipRect(a.paint_area.x, a.paint_area.y, w, h);    bkd_g.drawImage(a.bgimg,0,0,a.window_size.width,a.window_size.height,a) ;    bkd_g.dispose() ;    super.erase() ;  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成都精品91一区二区三| 日本欧美韩国一区三区| 2020国产精品自拍| 欧美电影在线免费观看| 欧美影视一区在线| 欧美日韩高清一区二区| 欧美三级电影精品| 91精品久久久久久久久99蜜臂| 欧美日韩一区二区三区在线看| 欧美日韩激情一区二区三区| 欧美日韩国产影片| 日韩一级视频免费观看在线| 精品国产sm最大网站免费看| 久久先锋影音av| 国产日韩av一区| 亚洲视频中文字幕| 午夜伦欧美伦电影理论片| 免费日韩伦理电影| 国产福利一区二区三区视频| 成人h动漫精品一区二| 欧美在线小视频| 欧美电视剧免费观看| 中文一区一区三区高中清不卡| 亚洲欧美国产毛片在线| 日本不卡1234视频| 大胆欧美人体老妇| 欧美日韩久久一区二区| 久久久精品黄色| 一区二区欧美在线观看| 精品一区二区免费视频| eeuss影院一区二区三区| 欧美日韩一区二区在线观看| 久久久噜噜噜久久中文字幕色伊伊 | 久久伊人中文字幕| 中文字幕一区二区三区四区| 亚洲国产视频在线| 成人性色生活片免费看爆迷你毛片| 99精品欧美一区二区三区小说 | 日韩精品一卡二卡三卡四卡无卡| 国产一区二区视频在线| 91国产精品成人| 久久伊99综合婷婷久久伊| 一区二区三区四区蜜桃| 国产成人亚洲综合a∨婷婷图片| 在线观看国产日韩| 欧美国产97人人爽人人喊| 男女性色大片免费观看一区二区| 成人精品小蝌蚪| 亚洲精品一区二区三区影院 | 日韩一级完整毛片| 亚洲自拍偷拍九九九| 高清在线成人网| 日韩三级视频在线观看| 一区二区视频在线| 成人激情图片网| 欧美精品一区二区三| 日韩在线观看一区二区| 色噜噜久久综合| 亚洲欧洲精品一区二区三区| 国产成人免费视频网站| 精品剧情在线观看| 麻豆91在线看| 免费人成黄页网站在线一区二区| 美女mm1313爽爽久久久蜜臀| 欧美日韩在线直播| 洋洋成人永久网站入口| youjizz国产精品| 国产欧美精品在线观看| 国内成人免费视频| 精品国产91九色蝌蚪| 免费人成精品欧美精品| 日韩欧美国产成人一区二区| 蜜桃视频第一区免费观看| 日韩一级大片在线观看| 男人的j进女人的j一区| 日韩丝袜情趣美女图片| 久久er99精品| 国产欧美综合色| 成人高清视频在线| 国产精品久久久久影院老司| 99re这里只有精品首页| 亚洲精品免费电影| 欧美在线free| 肉色丝袜一区二区| 日韩欧美国产高清| 亚洲精品国产高清久久伦理二区| 99久久精品免费看国产| 亚洲欧美日本在线| 欧美日韩久久不卡| 久久不见久久见免费视频7| 久久久久久久久久久久久夜| 国产.欧美.日韩| 一区二区三区成人在线视频| 欧美日韩亚洲综合一区| 精品综合免费视频观看| 国产日韩欧美电影| 色先锋资源久久综合| 午夜精品一区二区三区电影天堂 | 国产凹凸在线观看一区二区| 中文字幕一区av| 在线91免费看| 国产精品一区二区三区乱码| 亚洲三级电影网站| 911国产精品| 成人av网站免费| 日韩av在线发布| 国产精品美女一区二区| 欧美猛男男办公室激情| 懂色av一区二区三区免费看| 亚洲韩国一区二区三区| 久久久综合九色合综国产精品| 91麻豆国产香蕉久久精品| 免费高清成人在线| 亚洲色图.com| 久久久久久久综合色一本| 欧美日韩一级二级| 不卡的av网站| 麻豆精品新av中文字幕| 亚洲一区影音先锋| 国产精品天干天干在线综合| 91精品国产一区二区三区香蕉| 成人av网站免费| 国产一区在线观看麻豆| 午夜久久久影院| 亚洲美腿欧美偷拍| 国产精品日韩成人| 精品成人a区在线观看| 欧美电影一区二区三区| 色婷婷综合激情| 99视频有精品| 成人午夜激情片| 国产乱子伦视频一区二区三区| 日韩精品福利网| 一区二区成人在线| 亚洲女子a中天字幕| 国产精品美女一区二区| 国产亚洲精品久| 国产亚洲午夜高清国产拍精品| 欧美一区二区三区视频在线观看 | www久久精品| 欧美一区二区成人6969| 欧美日韩一区二区三区不卡| 91一区二区三区在线播放| 成人精品免费看| 国产成人h网站| 国产一区 二区 三区一级| 久久精品国产在热久久| 蜜臀久久99精品久久久画质超高清| 亚洲一区视频在线| 图片区小说区区亚洲影院| 一区二区三区国产精华| 亚洲综合无码一区二区| 夜夜嗨av一区二区三区网页| 一级中文字幕一区二区| 亚洲国产美国国产综合一区二区| 亚洲国产一二三| 日日夜夜免费精品| 麻豆极品一区二区三区| 激情六月婷婷久久| 国产成人av资源| 99久久伊人精品| 色呦呦国产精品| 欧美电影一区二区三区| 亚洲人成人一区二区在线观看| 欧美亚洲一区三区| 中文字幕av资源一区| 国产精品三级视频| 亚洲欧美激情插| 久久精品国产色蜜蜜麻豆| 亚洲国产精品欧美一二99| 91精品久久久久久久91蜜桃| 久久夜色精品国产噜噜av| 亚洲午夜羞羞片| 99re这里只有精品6| 久久精品欧美日韩| 久久激情五月婷婷| 3d成人动漫网站| 一个色在线综合| 色综合天天视频在线观看| 国产亚洲欧洲997久久综合 | 中文子幕无线码一区tr| 麻豆精品一二三| 7799精品视频| 偷窥国产亚洲免费视频| 欧美色图免费看| 亚洲精品国产一区二区三区四区在线 | 一本一道久久a久久精品 | 91精品国产综合久久久蜜臀粉嫩| 欧美激情资源网| 国产精品综合一区二区| 欧美变态口味重另类| 另类小说欧美激情| 日韩一级完整毛片| 久久丁香综合五月国产三级网站| 777午夜精品视频在线播放| 日韩精品电影在线观看| 4438亚洲最大| 精品一区二区三区免费视频| 日韩你懂的电影在线观看| 久久精品国产精品亚洲红杏|