- #=begin 
- class InputtTest < Window 
-   def initialize 
-     super   
-     self.windowskin = Bitmap.new("Graphics/Windowskins/001-Blue01")   
-     self.width = 640 - 64   
-     self.height = 32 * 10   
-     self.x = 64 / 2 
-     self.y = (480 / 2) - ((32 * 10) / 2)   
-     self.z = 100     
-     self.back_opacity = 128 
-   
-     self.contents = Bitmap.new((640 - 32) - 32, (32 * 10) - 32) 
-     self.contents.font.name = "黑体" 
-     self.contents.font.color = Color.new(255, 255, 255, 200) 
-   
-     #先声明实例变量,因为要用到 += 
-     #为什么是实例变量?因为在update中依然是实例变量的作用域 
-     @s0 = 0.0 
-     @s1 = 0.0 
-     @s2 = 0.0 
-     @s3 = 0.0     
-     #声明空数组 
-     @input_type = [] 
-     @text_rect = [] 
-   
-     #初始化"判定生成Rect"的旗帜 
-     @text_rect_flag = false 
-   
-     #loop循环,此为操作阶段(Input.update为实现互动关键) 
-     loop do 
-       #前进一帧 
-       Graphics.update 
-       #捕捉/侦测/获取,并判断,按下的键及按下的类型,随即记录 
-       Input.update 
-       #调用自(重)定义update 方法 
-       update  
-     end 
-   end 
-   
-   #剥离loop循环,可精减loop循环的复杂度 
-   #方便管理/侦错(也可以塞回去,将update展开,只是loop do...end会变得很庞大) 
-   def update 
-   
-     #按下C键的trigger?判断(根据Input.update捕捉到的) 
-     if Input.trigger?(Input::C) 
-       @s0 += 1 
-     end 
-     #按下C键的press?判断(根据Input.update捕捉到的) 
-     if Input.press?(Input::C) 
-       @s1 += 1 
-     end 
-     #按下C键的repeat?判断(根据Input.update捕捉到的) 
-     if Input.repeat?(Input::C) 
-       @s2 += 1 
-     end 
-     #press除以repeat,观察两者差异 
-     @s3 = @s1 / @s2 
-   
-     # += 1 后更新/刷新/再赋值@input_type,获取最新数据,to_s要加 
-     @input_type = ["trigger\s:\s" + @s0.to_s, "press\s:\s" + @s1.to_s, \ 
-     "repeat\s:\s" + @s2.to_s, "press / repeat\s:\s" + @s3.to_s] 
-   
-     #刷新新数据前,先清空旧资料(contents),以免重叠 
-     self.contents.clear 
-     #for循环,执行4次,高效处理更新数据 
-     for i in [email]0...@input_type.size[/email] 
-       #判断@text_rect_flag是否为false 
-       if @text_rect_flag == false  #一开始没放东西,所以旗帜为false(初始值) 
-         #放入Rect,设定一行放一个,这样就不用再set了 
-         @text_rect[i] = Rect.new(0, 32 * i, (640 - 32) - 32, 32) 
-       end   
-       #if结束后输出文字 
-       self.contents.draw_text(@text_rect[i], @input_type[i])     
-     end 
-   
-     if @text_rect_flag == false 
-       #在@text_rect尾部/后面加进一个Rect,用来放dir4 
-       @text_rect.push(Rect.new(0, 32 * @input_type.size, \ 
-       (640 - 32) - 32, 32)) 
-       #在@text_rect尾部/后面加进一个Rect,用来放dir8 
-       @text_rect.push(Rect.new(0, 32 * (@input_type.size + 1), \ 
-       (640 - 32) - 32, 32)) 
-     end 
-   
-     #for、if结束后,在确信"放入Rect"后,改为true,之后if就不执行了 
-     @text_rect_flag = true   
-   
-     #先画上"dir4 : ",让他一直显示,因为定期clear,所以上下左右只闪一下 
-     self.contents.draw_text(@text_rect[@input_type.size], "dir4 : ")   
-     #若左下、右下、左上、右上时不执行 
-     unless Input.dir8 == 1 or Input.dir8 == 3 or Input.dir8 == 7 or \ 
-       Input.dir8 == 9  
-       case Input.dir4 
-       when 2 
-         self.contents.draw_text(@text_rect[@input_type.size], "       下")  
-       when 4 
-         self.contents.draw_text(@text_rect[@input_type.size], "       左")  
-       when 6 
-         self.contents.draw_text(@text_rect[@input_type.size], "       右")  
-       when 8 
-         self.contents.draw_text(@text_rect[@input_type.size], "       上")   
-       end 
-     end 
-   
-     self.contents.draw_text(@text_rect[@input_type.size + 1], "dir8 : ")     
-     case Input.dir8 
-     when 1 
-       self.contents.draw_text(@text_rect[@input_type.size + 1], "       左下") 
-     when 2 
-       self.contents.draw_text(@text_rect[@input_type.size + 1], "       下")  
-     when 3 
-       self.contents.draw_text(@text_rect[@input_type.size + 1], "       右下") 
-     when 4 
-       self.contents.draw_text(@text_rect[@input_type.size + 1], "       左") 
-     when 6 
-       self.contents.draw_text(@text_rect[@input_type.size + 1], "       右") 
-     when 7 
-       self.contents.draw_text(@text_rect[@input_type.size + 1], "       左上") 
-     when 8 
-       self.contents.draw_text(@text_rect[@input_type.size + 1], "       上") 
-     when 9 
-       self.contents.draw_text(@text_rect[@input_type.size + 1], "       右上") 
-     end 
-   end 
- end 
-   
- @title_moon = Sprite.new 
- @title_moon.bitmap = Bitmap.new("Graphics/Titles/001-Title01") 
- @input_test = InputtTest.new 
-   
- =begin 
- 以上探讨分析 
- 实例变量 
- Input 
- 旗帜 
- dir4、dir8 
- trigger? press? repeat? 之间的关系 
- =end 
-   
- exit