设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: hitlerson
打印 上一主题 下一主题

鼠标系统beta1#减肥更新版# by H

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
41 小时
注册时间
2008-3-5
帖子
2072
11
 楼主| 发表于 2008-5-28 05:08:18 | 只看该作者
便乘  :   你的牌给对方怪物攻击打死的情况下,可以发动,找对方的任意怪兽破坏
你它囧一字母君谁记得……
当时那把剑离我的喉咙只有0.01工分。可是一柱香之后,这个女主人会深深的爱上我,虽然本人平生说了无数的谎话,可是这句最有效:“你应该这么做,我也应该死。
曾经有一取ID的机会放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。你的剑在我的咽喉上割下去吧!不用再犹豫了!如果上天能够给我一个再来一次的机会,我绝对会取个汉字君。如果非要给这ID加点修饰的话,我希望是……红色加粗……

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
2 小时
注册时间
2008-5-9
帖子
123
12
发表于 2008-5-28 05:12:54 | 只看该作者
没传上来!可惜啊~~~~
我也很喜欢这东西,希望你快点完善了发上来,很期待啊 !
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
41 小时
注册时间
2008-3-5
帖子
2072
13
 楼主| 发表于 2008-5-28 05:14:13 | 只看该作者
昏。。。。下载的连接没了。。。。

决定不再修改此贴了。。。。
你它囧一字母君谁记得……
当时那把剑离我的喉咙只有0.01工分。可是一柱香之后,这个女主人会深深的爱上我,虽然本人平生说了无数的谎话,可是这句最有效:“你应该这么做,我也应该死。
曾经有一取ID的机会放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。你的剑在我的咽喉上割下去吧!不用再犹豫了!如果上天能够给我一个再来一次的机会,我绝对会取个汉字君。如果非要给这ID加点修饰的话,我希望是……红色加粗……

回复 支持 反对

使用道具 举报

Lv3.寻梦者

酱油的

梦石
0
星屑
1020
在线时间
2161 小时
注册时间
2007-12-22
帖子
3271

贵宾

14
发表于 2008-5-28 21:12:39 | 只看该作者
偷偷地提供一個站外上傳地址:
http://www.megaupload.com/cn/

爲甚麼不修改呢?鼠標系統的複雜程度很大的,多一個人的思路就多一份力量。用兩個月時間可以寫出一個初具規模的鼠標系統眞的不簡單耶!禾西手上的工程寫了一個月才差不多完成(本來已經完成得差不多,誰知道睡了一覺又有新的想法。所有Scene重新寫過 Orz)

不知道這個工程裏面實現了用鼠標控制說明沒有?禾西寫了一個判斷用的方法,可以老是覺得很繁複 |||
鼠標與鍵盤的糅合也還沒有很好地實現。不知道從這裏能不能找到啓發
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
41 小时
注册时间
2008-3-5
帖子
2072
15
 楼主| 发表于 2008-5-28 21:33:25 | 只看该作者
我也觉得我写的很复杂,尤其是窗口的判断,窗口深度的控制.
还是拜求高人给出更好的算法~~
你它囧一字母君谁记得……
当时那把剑离我的喉咙只有0.01工分。可是一柱香之后,这个女主人会深深的爱上我,虽然本人平生说了无数的谎话,可是这句最有效:“你应该这么做,我也应该死。
曾经有一取ID的机会放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。你的剑在我的咽喉上割下去吧!不用再犹豫了!如果上天能够给我一个再来一次的机会,我绝对会取个汉字君。如果非要给这ID加点修饰的话,我希望是……红色加粗……

回复 支持 反对

使用道具 举报

Lv3.寻梦者

酱油的

梦石
0
星屑
1020
在线时间
2161 小时
注册时间
2007-12-22
帖子
3271

贵宾

16
发表于 2008-5-28 21:46:35 | 只看该作者
這個是禾西的算法,不知道有沒有跟你的有多大差異==a
以分類物品界面爲例:


  1. #------------------------------------------------------------------------------
  2. # 確認鼠標是否在點擊範圍之內
  3. #------------------------------------------------------------------------------
  4. def compare(pos, area)
  5.   area.size.times do |i|
  6.     ox = area[i][0]
  7.     oy = area[i][1]
  8.     lx = ox + area[i][2]
  9.     ly = oy + area[i][3]
  10.     if (ox..lx) === pos[0] and (oy..ly) === pos[1]
  11.       index = i
  12.       return index
  13.     end
  14.   end
  15.   return false
  16. end
  17. #------------------------------------------------------------------------------
  18. # 取得當前點擊窗口範圍
  19. #------------------------------------------------------------------------------
  20. def get_warea(window)
  21.   x = window.x
  22.   y = window.y
  23.   w = window.width
  24.   h = window.height
  25.   return [x,y,w,h]
  26. end#==============================================================================
  27. # ■ Scene_Base
  28. #------------------------------------------------------------------------------
  29. #  模仿 VX 寫的游戲界面超級類
  30. #==============================================================================
  31. class Scene_Base
  32.   #--------------------------------------------------------------------------
  33.   # ● 主處理
  34.   #--------------------------------------------------------------------------
  35.   def main
  36.     Input.update        #刷新「輸入信息」
  37.     @wins = Hash.new    #生成窗口儲存
  38.     @active_window = nil#初始化窗口激活指令
  39.     start               #生成窗口
  40.     Graphics.transition #執行過渡
  41.     loop do
  42.       loop_do           #主循環
  43.       #如果切換畫面就中斷循環
  44.       break if $scene != self
  45.     end
  46.     Graphics.freeze     #準備過渡
  47.     # 釋放所有窗口
  48.     @wins.each_value{|i|i.dispose if i != nil}
  49.     terminate           #結束行爲
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # ● 主循環
  53.   #--------------------------------------------------------------------------
  54.   def loop_do
  55.     Input.update      #刷新「輸入信息」
  56.     Graphics.update   #刷新「游戏畫面」
  57.     mouse             #鼠標刷新
  58.     update            #刷新畫面
  59.   end
  60.   #--------------------------------------------------------------------------
  61.   # ● 鼠標刷新
  62.   #--------------------------------------------------------------------------
  63.   def mouse
  64. #==============================================================================
  65.     if @active_window != nil                            #截獲激活指令
  66.       @wins.each_value{|i|i.active = false if i.active} #凍結所有窗口
  67.       @wins[@active_window].active = true               #激活指定窗口
  68.       if defined? @wins[@active_window].mouse_area      #如果指定窗口存在鼠標感應範圍
  69.         @index_window = @wins[@active_window]           #監視鼠標活動
  70.       else                                              #否則
  71.         @index_window = nil                             #取消鼠標監視
  72.       end
  73.       @active_window = nil                              #銷毀激活指令
  74.     end
  75. #==============================================================================
  76.     @clicked     = false if @clicked                    #初始化鼠標點擊
  77.     if Input.click?(Input::Mouse_Left)                  #如果鼠標進行點擊行動
  78.       @clicked = true                                   #點擊爲眞
  79.       return if @index_window == nil                    #如果不存在感應範圍,結束
  80.       index = compare(Mouse.mouse_pos, @index_window.mouse_area) #確定鼠標是否在感應範圍
  81.       return if index == false                          #如果否,結束
  82.       @index_window.index = index                       #否則,修正index
  83.       Input.push(Input::C)                              #鼠標擊中爲眞
  84.       return                                            #過程結束
  85.     end
  86. #==============================================================================
  87.   end
  88.   #--------------------------------------------------------------------------
  89.   # ● 生成主要窗口
  90.   #--------------------------------------------------------------------------
  91.   def start
  92.   end
  93.   #--------------------------------------------------------------------------
  94.   # ● 刷新畫面
  95.   #--------------------------------------------------------------------------
  96.   def update
  97.   end
  98.   #--------------------------------------------------------------------------
  99.   # ● 釋放
  100.   #--------------------------------------------------------------------------
  101.   def terminate
  102.   end
  103. end
  104. #==============================================================================
  105. # ■ Window_Item
  106. #------------------------------------------------------------------------------
  107. #  顯示瀏覽物品的窗口(分類)
  108. #==============================================================================

  109. class Window_Item < Window_Selectable
  110.   #--------------------------------------------------------------------------
  111.   # ● 幫助文本
  112.   #--------------------------------------------------------------------------
  113.   def update_help
  114.     if defined? new_help
  115.       new_help
  116.     else
  117.       @help_window.set_text(self.item == nil ? "" : self.item.description)
  118.     end
  119.   end
  120.   attr_reader :data
  121.   attr_accessor :hindex
  122.   def new_help
  123.     if @hindex == nil
  124.       @help_window.set_text(nil)
  125.     else
  126.       @help_window.set_text(@data[@hindex])
  127.       #校正帮助窗口位置
  128.       @help_window.set_pos(self.x,self.y,self.width,self.oy,@hindex,@column_max)
  129.     end
  130.   end
  131. end
  132. #==============================================================================
  133. # ■ Scene_Item
  134. #------------------------------------------------------------------------------
  135. #  物品界面的类。
  136. #==============================================================================

  137. class Scene_Item < Scene_Base
  138.   #-----------------------
  139.   # 返回菜單的 index 位置:
  140.   #-----------------------
  141.   ReturnIndex = 1
  142.   #--------------------------------------------------------------------------
  143.   # ● 生成主要窗口
  144.   #--------------------------------------------------------------------------
  145.   def start
  146.     #----------------------------
  147.     # 背景圖(地圖畫面)
  148.     #----------------------------
  149.     @spriteset = Spriteset_Map.new
  150.     #----------------------------
  151.     # 生成指令窗口
  152.     #----------------------------
  153.     @wins[:command] = Window_Item_Commands.new
  154.     #----------------------------
  155.     # 生成幫助窗口
  156.     #----------------------------
  157.     @wins[:help] = Window_Help.new
  158.     @wins[:help].visible = false
  159.     #----------------------------
  160.     # 生成物品窗口
  161.     #----------------------------
  162.     @wins[:items] = Window_Item.new
  163.     @wins[:items].visible = false
  164.     @wins[:items].index = 0
  165.     @wins[:items].help_window = @wins[:help]
  166.     @help_area = []
  167.     @help_area << get_warea(@wins[:items])
  168.     #----------------------------
  169.     # 生成使用目標窗口 (设置为不可见・不活动)
  170.     #----------------------------
  171.     @wins[:target] = Window_Target.new
  172.     @wins[:target].visible = false
  173.     #----------------------------
  174.     # 激活指定窗口
  175.     #----------------------------
  176.     @active_window = :command
  177.     #----------------------------
  178.     # 鼠標停留計數
  179.     #----------------------------
  180.     @pos =[Mouse.mouse_pos,Mouse.mouse_pos,Mouse.mouse_pos,Mouse.mouse_pos]
  181.   end
  182.   #--------------------------------------------------------------------------
  183.   # ● 刷新画面
  184.   #--------------------------------------------------------------------------
  185.   def update
  186.     # 刷新窗口
  187.     @wins[:help].update
  188.     mouse_help
  189.     if @wins[:command].active
  190.       @wins[:command].update
  191.       (command_Input(:C);return) if Input.trigger?(Input::C)
  192.       (command_Input(:B);return) if Input.trigger?(Input::B)
  193.       return
  194.     end
  195.     if @wins[:items].active
  196.       @wins[:items].update
  197.       (items_Input(:C);return) if Input.trigger?(Input::C)
  198.       (items_Input(:B);return) if Input.trigger?(Input::B)
  199.       return
  200.     end
  201.     if @wins[:target].active
  202.       @wins[:target].update
  203.       (target_Input(:C);return) if Input.trigger?(Input::C)
  204.       (target_Input(:B);return) if Input.trigger?(Input::B)
  205.       return
  206.     end
  207.   end
  208.   #--------------------------------------------------------------------------
  209.   # ● 隨著鼠標移動的幫助
  210.   #--------------------------------------------------------------------------
  211.   def mouse_help
  212.     if compare(Mouse.mouse_pos, @help_area)
  213.       index = compare(Mouse.mouse_pos, @wins[:items].mouse_area)
  214.       if index
  215.         if @pos[0] != Mouse.mouse_pos or
  216.            @pos[1] != Mouse.mouse_pos or
  217.            @pos[2] != Mouse.mouse_pos or
  218.            @pos[3] != Mouse.mouse_pos
  219.            @pos.shift
  220.            @pos << Mouse.mouse_pos
  221.         elsif @wins[:items].hindex != index
  222.           @wins[:items].hindex = index
  223.         end
  224.       else
  225.         @wins[:items].hindex = nil if @wins[:items].hindex != nil
  226.       end
  227.     else
  228.       @wins[:items].hindex = nil if @wins[:items].hindex != nil
  229.     end
  230.   end
  231.   #--------------------------------------------------------------------------
  232.   # ● [指令窗口]下的輸入反應(鍵位)
  233.   #--------------------------------------------------------------------------
  234.   def command_Input(key)
  235.     case key
  236.     when :C
  237.       # 命令窗口光标位置分支
  238.       @wins[:items].refresh(@wins[:command].index) # 刷新物品窗口
  239.       @wins[:items].visible = true                 # 打開物品窗口
  240.       @wins[:items].index = 0                      # 初始化光標
  241.       @wins[:items].update                         # 更新物品窗口一次
  242.       @active_window = :items                      # 激活指定窗口
  243.     when :B
  244.       $game_system.se_play($data_system.cancel_se) # 演奏取消 SE
  245.       $scene = Scene_Menu.new(ReturnIndex)         # 切換到菜單畫面
  246.       return
  247.     end
  248.   end
  249.   #--------------------------------------------------------------------------
  250.   # ● [物品窗口]下的輸入反應(鍵位)
  251.   #--------------------------------------------------------------------------
  252.   def items_Input(key)
  253.     case key
  254.     when :C
  255.       #----------------------------
  256.       # 获取物品窗口当前选中的物品数据
  257.       #----------------------------
  258.       @item = @wins[:items].item
  259.       #----------------------------
  260.       # 不使用物品的情况下
  261.       #----------------------------
  262.       unless @item.is_a?(RPG::Item)
  263.         # 演奏冻结 SE
  264.         $game_system.se_play($data_system.buzzer_se)
  265.         return
  266.       end
  267.       #----------------------------
  268.       # 不能使用的情况下
  269.       #----------------------------
  270.       unless $game_party.item_can_use?(@item.id)
  271.         # 演奏冻结 SE
  272.         $game_system.se_play($data_system.buzzer_se)
  273.         return
  274.       end
  275.       # 演奏确定 SE
  276.       $game_system.se_play($data_system.decision_se)
  277.       #----------------------------
  278.       # 效果范围是我方的情况下
  279.       #----------------------------
  280.       if @item.scope >= 3
  281.         # 激活目標窗口
  282.         @wins[:target].x = 0#(@wins[:items].index + 1) * 304
  283.         @wins[:target].visible = true
  284.         @active_window = :target                    # 激活指定窗口
  285.         # 设置效果范围 (单体/全体) 的对应光标位置
  286.         if @item.scope == 4 || @item.scope == 6
  287.           @wins[:target].index = -1
  288.         else
  289.           @wins[:target].index = 0
  290.         end
  291.       #----------------------------
  292.       # 效果在我方以外的情况下
  293.       #----------------------------
  294.       else
  295.         # 公共事件 ID 有效的情况下
  296.         if @item.common_event_id > 0
  297.           # 预约调用公共事件
  298.           # 演奏物品使用时的 SE
  299.           $game_temp.common_event_id = @item.common_event_id
  300.           $game_system.se_play(@item.menu_se)
  301.           # 消耗品的情况下
  302.           if @item.consumable
  303.             # 使用的物品数减 1
  304.             # 再描绘物品窗口的项目
  305.             $game_party.lose_item(@item.id, 1)
  306.             @wins[:items].draw_item(@wins[:items].index)
  307.           end
  308.           $scene = Scene_Map.new
  309.           #--->切換回地圖畫面
  310.           return
  311.         end
  312.       end
  313.     when :B
  314.       $game_system.se_play($data_system.cancel_se) # 演奏取消 SE
  315.       @wins[:items].visible = false                # 關閉物品窗口
  316.       @wins[:items].refresh(6)                     # 重新刷新物品窗口
  317.       @wins[:items].index = 0                      # 初始化物品窗口的光標
  318.       @wins[:help].visible = false                 # 關閉幫助窗口
  319.       @active_window = :command                    # 激活指定窗口
  320.     end
  321.   end
  322.   #--------------------------------------------------------------------------
  323.   # ● [使用目標窗口]下的輸入反應(鍵位)
  324.   #--------------------------------------------------------------------------
  325.   def target_Input(key)
  326.     case key
  327.     when :C
  328.       #----------------------------
  329.       # 如果物品用完的情况下
  330.       #----------------------------
  331.       if $game_party.item_number(@item.id) == 0
  332.         # 演奏冻结 SE
  333.         $game_system.se_play($data_system.buzzer_se)
  334.         return
  335.       end
  336.       #----------------------------
  337.       # 目标是全体的情况下
  338.       #----------------------------
  339.       if @wins[:target].index == -1
  340.         # 对同伴全体应用物品使用效果
  341.         used = false
  342.         $game_party.actors.each do |i| used |= i.item_effect(@item) end
  343.       end
  344.       #----------------------------
  345.       # 目标是单体的情况下
  346.       #----------------------------
  347.       if @wins[:target].index >= 0
  348.         # 对目标角色应用物品的使用效果
  349.         target = $game_party.actors[@wins[:target].index]
  350.         used = target.item_effect(@item)
  351.       end
  352.       #----------------------------
  353.       # 使用物品的情况下
  354.       #----------------------------
  355.       if used
  356.       # 演奏物品使用时的 SE
  357.         $game_system.se_play(@item.menu_se)
  358.         # 消耗品的情况下
  359.         if @item.consumable
  360.           # 使用的物品数减 1
  361.           $game_party.lose_item(@item.id, 1)
  362.           # 再描绘物品窗口的项目
  363.           @wins[:items].draw_item(@wins[:items].index)
  364.         end
  365.         # 再生成目标窗口的内容
  366.         @wins[:target].refresh
  367.         # 全灭的情况下
  368.         if $game_party.all_dead?
  369.           $scene = Scene_Gameover.new
  370.           #--->切換回遊戲結束畫面
  371.           return
  372.         end
  373.         # 公共事件 ID 有效的情况下
  374.         if @item.common_event_id > 0
  375.           # 预约调用公共事件
  376.           $game_temp.common_event_id = @item.common_event_id
  377.           $scene = Scene_Map.new
  378.           #--->切換回地圖畫面
  379.           return
  380.         end
  381.         #----------------------------
  382.         # 重刷新物品欄
  383.         #----------------------------
  384.         @wins[:items].refresh(@wins[:command].index)
  385.       end
  386.       #----------------------------
  387.       # 无法使用物品的情况下
  388.       #----------------------------
  389.       unless used
  390.         # 演奏冻结 SE
  391.         $game_system.se_play($data_system.buzzer_se)
  392.       end
  393.     when :B
  394.       $game_system.se_play($data_system.cancel_se) # 演奏取消 SE
  395.       #----------------------------
  396.       # 由于物品用完而不能使用的场合
  397.       #----------------------------
  398.       unless $game_party.item_can_use?(@item.id)
  399.         # 再次生成物品窗口的内容
  400.         if Input.trigger?(Input::C)
  401.           @wins[:items].refresh(@wins[:command].index)
  402.         end
  403.       end
  404.       @wins[:target].visible = false               # 關閉目標窗口
  405.       @active_window = :items                      # 激活指定窗口
  406.     end
  407.   end
  408.   #--------------------------------------------------------------------------
  409.   # ● 釋放
  410.   #--------------------------------------------------------------------------
  411.   def terminate
  412.     @spriteset.dispose
  413.   end
  414. end
复制代码
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1624
在线时间
1609 小时
注册时间
2007-8-28
帖子
3253

第3届短篇游戏大赛主流游戏组冠军第1届Title华丽大赛新人奖

17
发表于 2008-5-28 22:35:04 | 只看该作者
以下引用hitlerson于2008-5-27 19:56:22的发言:


已知BUG  : 1  窗口拖拉到X、Y为负值时,可能引起窗口的不能控制
            2   Secen_map在菜单中操作的时候,人物还会在地图上走路

[本贴由作者于 2008-5-28 10:37:07 最后编辑]

bug 2原因找到,解决方案如下:
以状态栏为例子,当你点到状态的时候,应该跳转到新的场景sence—status,
然后在新的场景里面建立你的物品窗口,然后在写上@spriteset = Spriteset_Map.new,这样,map的背景就有了,人物也不会动了。
原来的人物移动是通过鼠标的xy来判断的,你的窗口也是,所以有的时候同时满足人物移动和你窗口选东西的条件,人物自然就会动了。其他同理。

bug1试了试,当上,左 ,右,出边界的时候好用。就是在下面的时候,会失控,尤其是鼠标的位置在右下角的那个物品状态栏的时候,100%失控。原因估计是你判断的时候,当鼠标在那个位置的时候刷新了物品栏装备栏,而没有让弹出来的窗口active。

由此可见,鼠标系统好像只是从鼠标的xy的区域判断的。而不是判断窗体的。不过前面的bug解决了的话,这个bug就不会出现了。本来想给你改来着,不过东西太多,主要不是按照我的思路,改起来反而可能有bug。还是自己改吧。
问题就是这样了。
“我推荐你一个游戏吧,avg的,剧情特感人”
“我擦,都是文字图片的游戏有啥好玩的,连个战斗都没有!”
“我推荐你一个游戏吧,rpg的,战斗也新颖”
“我擦,怎么米有作i弊器?“
”你不是喜欢战斗么?”
“不,我是剧情党!!”

继续阅读请点击
http://rpg.blue/blog-53316-10027.html
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
41 小时
注册时间
2008-3-5
帖子
2072
18
 楼主| 发表于 2008-5-29 02:46:11 | 只看该作者
谢谢楼上的回答!
不过我想提几个我的看法
BUG1: 右下的菜单窗口是在我的控制之内的,我说的是,当窗口拖到如下状态的时候

在重新点击窗口的下半部分进行拖动的时候,就会拖不动,只能拖窗口上半福分才能动

BUG2: 玩游戏的时候,总是想一边往目的地走,一边查看状态等属性,所以切换Secen就没有意思了,所以我没有用Secen。想在地图上实现鼠标在窗口中的时候,就不判断在地图上行走的点击!
你它囧一字母君谁记得……
当时那把剑离我的喉咙只有0.01工分。可是一柱香之后,这个女主人会深深的爱上我,虽然本人平生说了无数的谎话,可是这句最有效:“你应该这么做,我也应该死。
曾经有一取ID的机会放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。你的剑在我的咽喉上割下去吧!不用再犹豫了!如果上天能够给我一个再来一次的机会,我绝对会取个汉字君。如果非要给这ID加点修饰的话,我希望是……红色加粗……

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1624
在线时间
1609 小时
注册时间
2007-8-28
帖子
3253

第3届短篇游戏大赛主流游戏组冠军第1届Title华丽大赛新人奖

19
发表于 2008-5-29 03:28:48 | 只看该作者
以下引用hitlerson于2008-5-28 18:46:11的发言:

谢谢楼上的回答!
不过我想提几个我的看法
BUG1: 右下的菜单窗口是在我的控制之内的,我说的是,当窗口拖到如下状态的时候

在重新点击窗口的下半部分进行拖动的时候,就会拖不动,只能拖窗口上半福分才能动

BUG2: 玩游戏的时候,总是想一边往目的地走,一边查看状态等属性,所以切换Secen就没有意思了,所以我没有用Secen。想在地图上实现鼠标在窗口中的时候,就不判断在地图上行走的点击!


[本贴由作者于 2008-5-28 18:47:50 最后编辑]

那就加2个开关,当菜单打开的时候,鼠标寻路的为off。寻路的为on的时候,菜单为off.
bug1那个下面的确是拖不动,

说白了,这个bug的原因,就是鼠标脚本的缺点所导致的。只好全盘否定那个鼠标脚本,重新写个了。寻路的我这我有现成的,鼠标的就得重写了。而且每个场景都要重写一些东西。浩大的工程。由于我主要研究的arpg方向,对鼠标脚本不是很需要,没有动力重写啊……
“我推荐你一个游戏吧,avg的,剧情特感人”
“我擦,都是文字图片的游戏有啥好玩的,连个战斗都没有!”
“我推荐你一个游戏吧,rpg的,战斗也新颖”
“我擦,怎么米有作i弊器?“
”你不是喜欢战斗么?”
“不,我是剧情党!!”

继续阅读请点击
http://rpg.blue/blog-53316-10027.html
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
41 小时
注册时间
2008-3-5
帖子
2072
20
 楼主| 发表于 2008-5-29 03:36:46 | 只看该作者
禾西的脚本我看了,哈哈,谁叫是个才鸟嫩,看不明白
@wins.each_value{|i|i.dispose if i != nil}不理解
大致看了下,鼠标判断的思路应该差不多吧~都是捕捉窗口范围
这个脚本偶就回去研究下,不客气啦,呵呵!!!{/tp}
你它囧一字母君谁记得……
当时那把剑离我的喉咙只有0.01工分。可是一柱香之后,这个女主人会深深的爱上我,虽然本人平生说了无数的谎话,可是这句最有效:“你应该这么做,我也应该死。
曾经有一取ID的机会放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。你的剑在我的咽喉上割下去吧!不用再犹豫了!如果上天能够给我一个再来一次的机会,我绝对会取个汉字君。如果非要给这ID加点修饰的话,我希望是……红色加粗……

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 15:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表