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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? navigator.java

?? java2高級教程大學(xué)教程的配套光盤源碼
?? JAVA
字號:
// Class Navigator is a subclass of Behavior that implements a 
// keyboard translation navigator. Navigator responds to certain 
// key presses by translating an object in a 3D scene.
package com.deitel.advjhtp1.java3dgame;

// Core Java packages
import java.awt.*;
import java.awt.event.*;
import java.util.*;

// Java extension packages
import javax.media.j3d.*;
import javax.vecmath.*;

// Java 3D utility packages
import com.sun.j3d.utils.universe.*;

public class Navigator extends Behavior {

   // TransformGroup associated with object controlled 
   // by keyboard navigator
   private TransformGroup objectTransform; 
    
   // translation amounts  
   private static final float LEFT = -0.02f;
   private static final float RIGHT = 0.02f;
   private static final float UP = 0.02f;
   private static final float DOWN = -0.02f;
   private static final float FORWARD = 0.02f;
   private static final float BACKWARD = -0.02f;

   // waking conditions for Behavior
   private WakeupCondition wakeupCondition;

   // constructor method
   public Navigator( TransformGroup transform )
   { 
      objectTransform = transform;
      
      // initialize WakeupOnAWTEvent to repond to 
      // AWT KeyEvent.KEY_PRESSED events
      WakeupOnAWTEvent wakeupEvent = 
         new WakeupOnAWTEvent( KeyEvent.KEY_PRESSED );
   
      // set of WakeupEvents to which Behavior responds 
      WakeupCriterion[] wakeupCriteria = { wakeupEvent };
      
      // Behavior responds when WakeupEvent in the 
      // WakeupCriterion occurs
      wakeupCondition = new WakeupOr( wakeupCriteria );
   
   } // end constructor

   // initialize Behavior's wakeup conditions
   public void initialize()
   { 
      // register WakeupCriterion to generate WakeupEvents
      // when AWT events occur
      wakeupOn( wakeupCondition ); 
   }

   // handle WakeupEvents
   public void processStimulus( Enumeration detected )
   { 
      // loop to handle events
      while ( detected.hasMoreElements() ) { 
         
         // get next WakeupCriterion
         WakeupCriterion wakeupCriterion = 
            ( WakeupCriterion ) detected.nextElement();
         
         // handle WakeupCriterion if WakeupOnAWTEvent
         if ( wakeupCriterion instanceof WakeupOnAWTEvent ) { 
            WakeupOnAWTEvent awtEvent = 
               (WakeupOnAWTEvent) wakeupCriterion;
            AWTEvent[] events = awtEvent.getAWTEvent();
            
            // invoke method moveObject with AWTEvent
            moveShape( events ); 
         } 
      }
      
      // re-register wakeupCondition to respond to next key press
      wakeupOn( wakeupCondition ); 
   
   } // end method processStimulus
   
   // handle AWT KeyEvents by translating an object in 3D scene
   private void moveShape( AWTEvent[] awtEvents )
   { 
      // handle all events in AWTEvent array 
      for ( int x = 0; x < awtEvents.length; x++)
      { 
         // handle if AWTEvent is KeyEvent
         if ( awtEvents[ x ] instanceof KeyEvent ) {
            
            // get cooresponding KeyEvent
            KeyEvent keyEvent = ( KeyEvent ) awtEvents[ x ];
            
            // respond only if KeyEvent is of type KEY_PRESSED 
            if ( keyEvent.getID() == KeyEvent.KEY_PRESSED ) { 
               
               // get KeyCode associated with KeyEvent
               int keyCode = keyEvent.getKeyCode();
               
               Transform3D transform3D = new Transform3D();
               
               // get Transform3D from TransformGroup of 
               // navigable object
               objectTransform.getTransform( transform3D );
               
               Vector3f translateVector = new Vector3f();
               
               // retrieve translation vector associated with 
               // Transform3D
               transform3D.get( translateVector );
               
               // update x, y, or z component of translation 
               // vector based on keypress
               switch ( keyCode ) { 
                  
                  case KeyEvent.VK_A:  // move left 
                     translateVector.x += LEFT; 
                     break;

                  case KeyEvent.VK_D: // move right
                     translateVector.x += RIGHT; 
                     break; 

                  case KeyEvent.VK_W: // move up
                     translateVector.y += UP; 
                     break;

                  case KeyEvent.VK_S: // move down
                     translateVector.y += DOWN; 
                     break;

                  case KeyEvent.VK_UP: // move backwards
                     translateVector.z += BACKWARD; 
                     break;

                  case KeyEvent.VK_DOWN: // move forwards
                     translateVector.z += FORWARD; 
                     break;

               } // end switch
               
               // set translational component of Transform3D 
               // with updated translation Vector3f
               transform3D.setTranslation( translateVector );
               
               // set TransformGroup's Transform3D
               objectTransform.setTransform( transform3D ); 
            
            } // end if KeyEvent.KEY_PRESSED 
         } 

      } // end for loop that handles key presses
      
   } // end method moveShape
}

/***************************************************************
 * (C) Copyright 2002 by Deitel & Associates, Inc. and         *
 * Prentice Hall. All Rights Reserved.                         *
 *                                                             *
 * DISCLAIMER: The authors and publisher of this book have     *
 * used their best efforts in preparing the book. These        *
 * efforts include the development, research, and testing of   *
 * the theories and programs to determine their effectiveness. *
 * The authors and publisher make no warranty of any kind,     *
 * expressed or implied, with regard to these programs or to   *
 * the documentation contained in these books. The authors     *
 * and publisher shall not be liable in any event for          *
 * incidental or consequential damages in connection with, or  *
 * arising out of, the furnishing, performance, or use of      *
 * these programs.                                             *
 ***************************************************************/


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲婷婷在线视频| 成人动漫中文字幕| 欧美日韩国产一区二区三区地区| 国产精品美女久久久久av爽李琼 | 三级欧美韩日大片在线看| 亚洲精品国产视频| 精品一区二区三区在线观看国产| 91精品婷婷国产综合久久性色 | 青青草国产精品97视觉盛宴| 欧美日韩精品免费观看视频| 日韩二区在线观看| 日韩欧美亚洲国产精品字幕久久久 | 日一区二区三区| 91麻豆精品国产91久久久久 | 99久免费精品视频在线观看| 国产精品久久看| 色成人在线视频| 亚洲mv在线观看| 69堂精品视频| 精品一区二区三区蜜桃| 中文欧美字幕免费| 欧美偷拍一区二区| 美女视频黄免费的久久| 国产精品国产成人国产三级 | 国产成人精品免费看| 亚洲欧美一区二区三区极速播放| 欧美精三区欧美精三区| 国内精品免费**视频| 亚洲女子a中天字幕| 欧美日韩成人综合| 国产黄色91视频| 一区二区三区欧美| 久久综合九色综合欧美98| 不卡一区二区中文字幕| 五月婷婷综合在线| 欧美激情中文字幕一区二区| 欧日韩精品视频| 国产精品一级二级三级| 亚洲一区在线免费观看| 久久蜜桃av一区二区天堂| 欧美综合欧美视频| 国产精品系列在线观看| 午夜电影网亚洲视频| 中文字幕在线播放不卡一区| 欧美精品久久99久久在免费线| 国产精品夜夜爽| 全部av―极品视觉盛宴亚洲| 亚洲视频 欧洲视频| 久久综合狠狠综合| 欧美群妇大交群中文字幕| 99久久99久久免费精品蜜臀| 美女一区二区视频| 亚洲在线中文字幕| 欧美国产成人精品| 亚洲精品在线一区二区| 欧美日韩免费观看一区三区| 99久久99久久精品免费观看 | 91国偷自产一区二区使用方法| 国产视频一区二区三区在线观看| 亚洲精品一区二区三区香蕉| 欧美午夜精品理论片a级按摩| 国产成人日日夜夜| 精品一区二区影视| 首页综合国产亚洲丝袜| 亚洲美女视频一区| 国产精品久久毛片| 国产喂奶挤奶一区二区三区| 久久综合久久综合久久| 日韩欧美你懂的| 欧美视频中文字幕| 在线看日本不卡| 91色porny蝌蚪| 成人aaaa免费全部观看| 国产精品69久久久久水密桃| 裸体在线国模精品偷拍| 欧美aaa在线| 久久国内精品视频| 美女精品一区二区| 老司机免费视频一区二区三区| 午夜免费久久看| 亚洲高清不卡在线| 亚洲自拍都市欧美小说| 亚洲第一电影网| 亚洲成人免费av| 午夜国产精品影院在线观看| 日韩在线观看一区二区| 天堂久久久久va久久久久| 日韩精品一级中文字幕精品视频免费观看 | 久久av资源网| 国产在线视视频有精品| 国产高清精品网站| 成人伦理片在线| a在线欧美一区| 一本久久a久久精品亚洲| 成人午夜视频网站| 福利视频网站一区二区三区| 成人激情免费网站| 99精品视频在线观看| 在线观看免费视频综合| 欧美剧在线免费观看网站| 欧美电视剧免费全集观看| 日韩美女主播在线视频一区二区三区| 日韩一区二区电影| 久久精品男人天堂av| 成人免费小视频| 亚洲3atv精品一区二区三区| 美女免费视频一区| 白白色 亚洲乱淫| 欧美日韩午夜在线| 精品美女一区二区| 国产精品高潮呻吟| 一区二区国产盗摄色噜噜| 无吗不卡中文字幕| 国产高清不卡一区| 欧美日韩一区国产| 日韩精品一区二| 成人欧美一区二区三区在线播放| 婷婷中文字幕一区三区| 国产成人a级片| 欧美日韩日日夜夜| 欧美国产欧美亚州国产日韩mv天天看完整 | www国产精品av| 亚洲精品成人精品456| 日本亚洲视频在线| 成人激情电影免费在线观看| 欧美三级视频在线观看 | 久久精品免费在线观看| 亚洲国产中文字幕| 国产成人a级片| 91精品国产乱| 18欧美乱大交hd1984| 美脚の诱脚舐め脚责91 | 91伊人久久大香线蕉| 精品久久久久久亚洲综合网 | 91亚洲精品一区二区乱码| 日韩欧美一区二区在线视频| 国产精品第一页第二页第三页| 日本中文一区二区三区| 色综合天天性综合| 久久日韩粉嫩一区二区三区| 亚洲aaa精品| av电影一区二区| 26uuu国产日韩综合| 天堂va蜜桃一区二区三区| 91香蕉视频mp4| 久久久一区二区| 日本亚洲欧美天堂免费| 在线亚洲一区二区| 国产精品福利一区| 国产精品一区二区三区四区| 这里只有精品免费| 亚洲午夜三级在线| 色综合夜色一区| 亚洲欧美在线另类| 成人app软件下载大全免费| 久久一留热品黄| 欧美a级理论片| 欧美一区二区在线免费播放| 亚洲成人激情自拍| 欧美午夜电影一区| 亚洲黄色性网站| 色婷婷国产精品| 亚洲欧洲中文日韩久久av乱码| 成人激情综合网站| 国产精品伦一区二区三级视频| 国产麻豆精品视频| 国产人成一区二区三区影院| 国产一区在线观看麻豆| 久久久美女艺术照精彩视频福利播放| 美女诱惑一区二区| 精品成人一区二区三区四区| 捆绑变态av一区二区三区| 日韩一级免费一区| 久久99国产精品尤物| 欧美成人vps| 国产综合色产在线精品| 久久精品视频在线免费观看| 国产iv一区二区三区| 欧美激情综合五月色丁香小说| 成人免费毛片a| 国产精品三级久久久久三级| 99久久夜色精品国产网站| 亚洲美女偷拍久久| 91久久精品国产91性色tv| 亚洲午夜日本在线观看| 欧美日韩国产成人在线免费| 日韩中文字幕区一区有砖一区| 7777精品伊人久久久大香线蕉| 免费观看久久久4p| 久久久高清一区二区三区| 成人av片在线观看| 亚洲网友自拍偷拍| 欧美成人一区二区| 久久99国产乱子伦精品免费| 日本一区二区高清| 在线看一区二区| 精品一区二区三区在线播放视频| 在线免费观看日本欧美| 视频一区二区欧美| 久久久噜噜噜久久中文字幕色伊伊|