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

Project1

 找回密码
 注册会员
搜索
查看: 7380|回复: 29
打印 上一主题 下一主题

重写RMXP的UI库如何?

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-10-5
帖子
75
跳转到指定楼层
1
发表于 2007-3-28 10:30:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
某轮乱用职权后的留言:
建议诸位看看第2页LZ的回帖,恩,思路比成品重要!

[LINE]1,#dddddd[/LINE]
前几天想做一个仿《大话西游IIoline》商店,区别于RM传统商店的是:呼出商店时不是场景切换,而是弹出一个对话框!

详细点击 大话商店
这一过程发现RMXP的UI库极不成熟,只能说还没成型,修改和扩展都十分麻烦,而且不通用!!
我在论坛上看到不少修改的例子,基本上很多是作者自己修改了大半个系统,这些脚本的复用很成问题。


这个商店我写了几个UI组件:窗口,按钮,标签
有一个比较简单的更新、描绘和事件处理机制,还不是很成熟
不知道有没有人对UI库感兴趣的,有人一起干的话,重写一个简单UI库也不会很长时间,1周左右应该拿得出最初版本了。
联系我:QQ 307358033 [email protected]

Benavii 叫我PM美兽殿{/gg}是谁?我才上6R没几天{/fd}{/bz}

懒得打字,随便帖一个脚本(这个脚本是不能单独运行的{/gg}还没整理好...就不放上来了)...


  1. #----------------------------------------------------------------------------
  2. # ■ 弹出式商店--PopupShop
  3. #    @author: kylixs
  4. #    @date  : 2007-3
  5. #    @e-mail: [email protected]
  6. #    @qq    : 307358033
  7. #    @website: [url]http://bbs.javarpg.cn[/url]
  8. #-----------------------------------------------------------------------------
  9. class PopupShop < AyinWindow
  10.   
  11.   def initialize(shop_goods)
  12.     super("购买",210,5)
  13.     add_ignore_rect(Rect.new(19,44,306,204))
  14.     # 购买按钮
  15.     @btn_buy=Button.new(["购买按钮1","购买按钮2","购买按钮3"])
  16.     @btn_buy.action = Proc.new{
  17.       buy_action()
  18.       # 关闭商店
  19.       # close()
  20.     }
  21.     add(@btn_buy,150,390)
  22.     # 单价
  23.     @lbl_price = Label.new("",140,16)
  24.     @lbl_price.font.bold = true
  25.     add(@lbl_price,142,271)
  26.     # 数量
  27.     @lbl_num = Label.new("",140,16)
  28.     @lbl_num.font.bold = true
  29.     add(@lbl_num,142,299)
  30.     # 总价
  31.     @lbl_cost = Label.new("",140,16)
  32.     @lbl_cost.font.bold = true
  33.     add(@lbl_cost,142,326)
  34.     # 现金
  35.     @lbl_cash = Label.new("",140,16)
  36.     @lbl_cash.font.bold = true
  37.     add(@lbl_cash,142,354)
  38.     # 实例变量
  39.     @shop_goods = shop_goods
  40.     # 物品提示窗口
  41.     @tooltip = Tooltip.new
  42.     @number = 0
  43.     @index = -1
  44.     @item = nil
  45.     @data = []
  46.     @cell_bg = $game_temp.cell_selected_background
  47.     $game_temp.message_window_showing = true
  48.     $game_system.map_interpreter.message_waiting = true
  49.    
  50.     init_shop
  51.     update
  52.   end

  53.   #--------------------------------------------------------------------------
  54.   # ● 释放
  55.   #--------------------------------------------------------------------------
  56.   def dispose
  57.     $game_temp.message_window_showing = false
  58.     $game_system.map_interpreter.message_waiting = false
  59.     @tooltip.dispose
  60.     super
  61.   end
  62.    
  63.   #--------------------------------------------------------------------------
  64.   # ● 更新画面/事件等
  65.   #--------------------------------------------------------------------------
  66.   def update
  67.     super
  68.     if self.closed?
  69.       return
  70.     end
  71.     @tooltip.update

  72.     #更新相关标签
  73.     update_labels()
  74.     # 选择商品
  75.     index = select_goods
  76.     item = nil
  77.     if index > -1
  78.       item = @data[index]
  79.     end
  80.    
  81.     x,y = Mouse.get_mouse_pos
  82.     @tooltip.set_item(item)
  83.     @tooltip.x = x  
  84.     @tooltip.y = y + 32
  85.    
  86.     if Mouse.trigger?(Mouse::LEFT)
  87.       if item != nil
  88.         # 选中一个项目
  89.         if(@item == item )
  90.           @number += 1
  91.         else
  92.           @number = 1
  93.           @index = index
  94.           @item = item
  95.         end
  96.       end
  97.       Mouse.update
  98.     elsif Mouse.trigger?(Mouse::RIGHT)
  99.       # 减少商品数量
  100.       if index == @index && @number > 0
  101.           @number -= 1
  102.       end
  103.       Mouse.update
  104.     elsif Input.trigger?(Input::C)
  105.       @btn_buy.click()
  106.       Input.update
  107.     end
  108.     return
  109.   end
  110.   #--------------------------------------------------------------------------
  111.   # ● 更新商店相关的数据
  112.   #--------------------------------------------------------------------------
  113.   def update_labels
  114.     if(@item != nil)
  115.       @lbl_price.set_text(@item.price.to_s)
  116.       @lbl_num.set_text(@number.to_s)
  117.       cost = @number * @item.price
  118.       @lbl_cost.font.color = (cost > $game_party.gold ? short_gold_color : normal_color)
  119.       @lbl_cost.set_text(cost.to_s)
  120.     else
  121.       @lbl_price.set_text("")
  122.       @lbl_num.set_text("")
  123.       @lbl_cost.set_text("")
  124.     end
  125.   end
  126.   
  127.   #--------------------------------------------------------------------------
  128.   # ● 选择商品
  129.   #--------------------------------------------------------------------------
  130.   def select_goods
  131.     x,y = get_mouse_pos
  132.     x -= 19 #top
  133.     y -= 44 #left
  134.     if( x < 0 || x > 306 || y < 0 || y > 204)
  135.       return -1
  136.     end
  137.     col = x/51
  138.     row = y/51
  139.     index = row * 6 + col
  140.     # 所在单元格是否有商品
  141.     if index >= @data.size
  142.       return -1
  143.     end
  144.     return index
  145.   end
  146.   #--------------------------------------------------------------------------
  147.   # ● 减少商品数量
  148.   #--------------------------------------------------------------------------
  149.   def reduce_num
  150.    
  151.   end
  152.   #--------------------------------------------------------------------------
  153.   # ● 购买处理
  154.   #--------------------------------------------------------------------------
  155.   def buy_action
  156.       #未选中物品或者数量为0
  157.       if @item == nil || @number == 0
  158.         # 演奏冻结 SE
  159.         $game_system.se_play($data_system.buzzer_se)
  160.         return
  161.       end
  162.       # 金钱不足时
  163.       cost = @number * @item.price
  164.       if( cost > $game_party.gold)
  165.         # 演奏冻结 SE
  166.         $game_system.se_play($data_system.buzzer_se)
  167.         return
  168.       end
  169.       $game_party.lose_gold(cost)
  170.       case @item
  171.       when RPG::Item
  172.         $game_party.gain_item(@item.id, @number)
  173.       when RPG::Weapon
  174.         $game_party.gain_weapon(@item.id, @number)
  175.       when RPG::Armor
  176.         $game_party.gain_armor(@item.id, @number)
  177.       end
  178.       # 刷新各窗口
  179.       init_shop
  180.   end
  181.   #--------------------------------------------------------------------------
  182.   # ● 初始化商店
  183.   #--------------------------------------------------------------------------
  184.   def init_shop
  185.     @data = []
  186.     for goods_item in @shop_goods
  187.       case goods_item[0]
  188.       when 0
  189.         item = $data_items[goods_item[1]]
  190.       when 1
  191.         item = $data_weapons[goods_item[1]]
  192.       when 2
  193.         item = $data_armors[goods_item[1]]
  194.       end
  195.       if item != nil
  196.         @data.push(item)
  197.       end
  198.     end
  199.     @lbl_cash.font.color = get_gold_color($game_party.gold)
  200.     @lbl_cash.set_text($game_party.gold.to_s)
  201.     @number = 0
  202.   end
  203.   #--------------------------------------------------------------------------
  204.   # ● 描绘商品
  205.   #--------------------------------------------------------------------------
  206.   def paint_goods      
  207.     # 如果项目数不是 0 就生成位图、描绘全部项目
  208.     @item_max = @data.size
  209.     if @item_max > 0
  210.       # 选中单元格背景
  211.       if( @index >=0 && @index <@item_max)
  212.         x,y = get_item_pos(@index)
  213.         self.contents.blt(x-1,y-1,@cell_bg,@cell_bg.rect)
  214.       end
  215.       for i in 0...@item_max
  216.         draw_item(i)
  217.       end
  218.     end
  219.   end
  220.   #--------------------------------------------------------------------------
  221.   # ● 描绘项目
  222.   #     index :项目编号
  223.   #--------------------------------------------------------------------------
  224.   def draw_item(index)
  225.     item = @data[index]
  226.     # 获取物品所持数
  227.     case item
  228.     when RPG::Item
  229.       number = $game_party.item_number(item.id)
  230.     when RPG::Weapon
  231.       number = $game_party.weapon_number(item.id)
  232.     when RPG::Armor
  233.       number = $game_party.armor_number(item.id)
  234.     end
  235.     # 价格在所持金以下、并且所持数不是 99 的情况下为普通文字颜色
  236.     # 除此之外的情况设置为无效文字色
  237.     if item.price <= $game_party.gold and number < 99
  238.       self.contents.font.color = normal_color
  239.      else
  240.       self.contents.font.color = disabled_color
  241.     end
  242.       
  243.     x,y = get_item_pos(index)
  244.     bitmap = RPG::Cache.icon(item.icon_name)
  245.     opacity = self.contents.font.color == normal_color ? 255 : 128
  246.     x += (50 - bitmap.width)/2
  247.     y += (50 - bitmap.height)/2
  248.     self.contents.blt(x, y , bitmap, bitmap.rect, opacity)
  249.   end
  250.   
  251.   def paint()
  252.     super
  253.     paint_goods
  254.   end
  255.   
  256.   def get_item_pos(index)
  257.     col = index % 6
  258.     row = index / 6
  259.     x = 19 + col * 51
  260.     y = 44 + row * 51
  261.     return x,y
  262.   end
  263. end
复制代码


PS: 第一次在6R发帖....
签名被屏蔽
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-10-5
帖子
75
2
 楼主| 发表于 2007-3-28 10:30:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
某轮乱用职权后的留言:
建议诸位看看第2页LZ的回帖,恩,思路比成品重要!

[LINE]1,#dddddd[/LINE]
前几天想做一个仿《大话西游IIoline》商店,区别于RM传统商店的是:呼出商店时不是场景切换,而是弹出一个对话框!

详细点击 大话商店
这一过程发现RMXP的UI库极不成熟,只能说还没成型,修改和扩展都十分麻烦,而且不通用!!
我在论坛上看到不少修改的例子,基本上很多是作者自己修改了大半个系统,这些脚本的复用很成问题。


这个商店我写了几个UI组件:窗口,按钮,标签
有一个比较简单的更新、描绘和事件处理机制,还不是很成熟
不知道有没有人对UI库感兴趣的,有人一起干的话,重写一个简单UI库也不会很长时间,1周左右应该拿得出最初版本了。
联系我:QQ 307358033 [email protected]

Benavii 叫我PM美兽殿{/gg}是谁?我才上6R没几天{/fd}{/bz}

懒得打字,随便帖一个脚本(这个脚本是不能单独运行的{/gg}还没整理好...就不放上来了)...


  1. #----------------------------------------------------------------------------
  2. # ■ 弹出式商店--PopupShop
  3. #    @author: kylixs
  4. #    @date  : 2007-3
  5. #    @e-mail: [email protected]
  6. #    @qq    : 307358033
  7. #    @website: [url]http://bbs.javarpg.cn[/url]
  8. #-----------------------------------------------------------------------------
  9. class PopupShop < AyinWindow
  10.   
  11.   def initialize(shop_goods)
  12.     super("购买",210,5)
  13.     add_ignore_rect(Rect.new(19,44,306,204))
  14.     # 购买按钮
  15.     @btn_buy=Button.new(["购买按钮1","购买按钮2","购买按钮3"])
  16.     @btn_buy.action = Proc.new{
  17.       buy_action()
  18.       # 关闭商店
  19.       # close()
  20.     }
  21.     add(@btn_buy,150,390)
  22.     # 单价
  23.     @lbl_price = Label.new("",140,16)
  24.     @lbl_price.font.bold = true
  25.     add(@lbl_price,142,271)
  26.     # 数量
  27.     @lbl_num = Label.new("",140,16)
  28.     @lbl_num.font.bold = true
  29.     add(@lbl_num,142,299)
  30.     # 总价
  31.     @lbl_cost = Label.new("",140,16)
  32.     @lbl_cost.font.bold = true
  33.     add(@lbl_cost,142,326)
  34.     # 现金
  35.     @lbl_cash = Label.new("",140,16)
  36.     @lbl_cash.font.bold = true
  37.     add(@lbl_cash,142,354)
  38.     # 实例变量
  39.     @shop_goods = shop_goods
  40.     # 物品提示窗口
  41.     @tooltip = Tooltip.new
  42.     @number = 0
  43.     @index = -1
  44.     @item = nil
  45.     @data = []
  46.     @cell_bg = $game_temp.cell_selected_background
  47.     $game_temp.message_window_showing = true
  48.     $game_system.map_interpreter.message_waiting = true
  49.    
  50.     init_shop
  51.     update
  52.   end

  53.   #--------------------------------------------------------------------------
  54.   # ● 释放
  55.   #--------------------------------------------------------------------------
  56.   def dispose
  57.     $game_temp.message_window_showing = false
  58.     $game_system.map_interpreter.message_waiting = false
  59.     @tooltip.dispose
  60.     super
  61.   end
  62.    
  63.   #--------------------------------------------------------------------------
  64.   # ● 更新画面/事件等
  65.   #--------------------------------------------------------------------------
  66.   def update
  67.     super
  68.     if self.closed?
  69.       return
  70.     end
  71.     @tooltip.update

  72.     #更新相关标签
  73.     update_labels()
  74.     # 选择商品
  75.     index = select_goods
  76.     item = nil
  77.     if index > -1
  78.       item = @data[index]
  79.     end
  80.    
  81.     x,y = Mouse.get_mouse_pos
  82.     @tooltip.set_item(item)
  83.     @tooltip.x = x  
  84.     @tooltip.y = y + 32
  85.    
  86.     if Mouse.trigger?(Mouse::LEFT)
  87.       if item != nil
  88.         # 选中一个项目
  89.         if(@item == item )
  90.           @number += 1
  91.         else
  92.           @number = 1
  93.           @index = index
  94.           @item = item
  95.         end
  96.       end
  97.       Mouse.update
  98.     elsif Mouse.trigger?(Mouse::RIGHT)
  99.       # 减少商品数量
  100.       if index == @index && @number > 0
  101.           @number -= 1
  102.       end
  103.       Mouse.update
  104.     elsif Input.trigger?(Input::C)
  105.       @btn_buy.click()
  106.       Input.update
  107.     end
  108.     return
  109.   end
  110.   #--------------------------------------------------------------------------
  111.   # ● 更新商店相关的数据
  112.   #--------------------------------------------------------------------------
  113.   def update_labels
  114.     if(@item != nil)
  115.       @lbl_price.set_text(@item.price.to_s)
  116.       @lbl_num.set_text(@number.to_s)
  117.       cost = @number * @item.price
  118.       @lbl_cost.font.color = (cost > $game_party.gold ? short_gold_color : normal_color)
  119.       @lbl_cost.set_text(cost.to_s)
  120.     else
  121.       @lbl_price.set_text("")
  122.       @lbl_num.set_text("")
  123.       @lbl_cost.set_text("")
  124.     end
  125.   end
  126.   
  127.   #--------------------------------------------------------------------------
  128.   # ● 选择商品
  129.   #--------------------------------------------------------------------------
  130.   def select_goods
  131.     x,y = get_mouse_pos
  132.     x -= 19 #top
  133.     y -= 44 #left
  134.     if( x < 0 || x > 306 || y < 0 || y > 204)
  135.       return -1
  136.     end
  137.     col = x/51
  138.     row = y/51
  139.     index = row * 6 + col
  140.     # 所在单元格是否有商品
  141.     if index >= @data.size
  142.       return -1
  143.     end
  144.     return index
  145.   end
  146.   #--------------------------------------------------------------------------
  147.   # ● 减少商品数量
  148.   #--------------------------------------------------------------------------
  149.   def reduce_num
  150.    
  151.   end
  152.   #--------------------------------------------------------------------------
  153.   # ● 购买处理
  154.   #--------------------------------------------------------------------------
  155.   def buy_action
  156.       #未选中物品或者数量为0
  157.       if @item == nil || @number == 0
  158.         # 演奏冻结 SE
  159.         $game_system.se_play($data_system.buzzer_se)
  160.         return
  161.       end
  162.       # 金钱不足时
  163.       cost = @number * @item.price
  164.       if( cost > $game_party.gold)
  165.         # 演奏冻结 SE
  166.         $game_system.se_play($data_system.buzzer_se)
  167.         return
  168.       end
  169.       $game_party.lose_gold(cost)
  170.       case @item
  171.       when RPG::Item
  172.         $game_party.gain_item(@item.id, @number)
  173.       when RPG::Weapon
  174.         $game_party.gain_weapon(@item.id, @number)
  175.       when RPG::Armor
  176.         $game_party.gain_armor(@item.id, @number)
  177.       end
  178.       # 刷新各窗口
  179.       init_shop
  180.   end
  181.   #--------------------------------------------------------------------------
  182.   # ● 初始化商店
  183.   #--------------------------------------------------------------------------
  184.   def init_shop
  185.     @data = []
  186.     for goods_item in @shop_goods
  187.       case goods_item[0]
  188.       when 0
  189.         item = $data_items[goods_item[1]]
  190.       when 1
  191.         item = $data_weapons[goods_item[1]]
  192.       when 2
  193.         item = $data_armors[goods_item[1]]
  194.       end
  195.       if item != nil
  196.         @data.push(item)
  197.       end
  198.     end
  199.     @lbl_cash.font.color = get_gold_color($game_party.gold)
  200.     @lbl_cash.set_text($game_party.gold.to_s)
  201.     @number = 0
  202.   end
  203.   #--------------------------------------------------------------------------
  204.   # ● 描绘商品
  205.   #--------------------------------------------------------------------------
  206.   def paint_goods      
  207.     # 如果项目数不是 0 就生成位图、描绘全部项目
  208.     @item_max = @data.size
  209.     if @item_max > 0
  210.       # 选中单元格背景
  211.       if( @index >=0 && @index <@item_max)
  212.         x,y = get_item_pos(@index)
  213.         self.contents.blt(x-1,y-1,@cell_bg,@cell_bg.rect)
  214.       end
  215.       for i in 0...@item_max
  216.         draw_item(i)
  217.       end
  218.     end
  219.   end
  220.   #--------------------------------------------------------------------------
  221.   # ● 描绘项目
  222.   #     index :项目编号
  223.   #--------------------------------------------------------------------------
  224.   def draw_item(index)
  225.     item = @data[index]
  226.     # 获取物品所持数
  227.     case item
  228.     when RPG::Item
  229.       number = $game_party.item_number(item.id)
  230.     when RPG::Weapon
  231.       number = $game_party.weapon_number(item.id)
  232.     when RPG::Armor
  233.       number = $game_party.armor_number(item.id)
  234.     end
  235.     # 价格在所持金以下、并且所持数不是 99 的情况下为普通文字颜色
  236.     # 除此之外的情况设置为无效文字色
  237.     if item.price <= $game_party.gold and number < 99
  238.       self.contents.font.color = normal_color
  239.      else
  240.       self.contents.font.color = disabled_color
  241.     end
  242.       
  243.     x,y = get_item_pos(index)
  244.     bitmap = RPG::Cache.icon(item.icon_name)
  245.     opacity = self.contents.font.color == normal_color ? 255 : 128
  246.     x += (50 - bitmap.width)/2
  247.     y += (50 - bitmap.height)/2
  248.     self.contents.blt(x, y , bitmap, bitmap.rect, opacity)
  249.   end
  250.   
  251.   def paint()
  252.     super
  253.     paint_goods
  254.   end
  255.   
  256.   def get_item_pos(index)
  257.     col = index % 6
  258.     row = index / 6
  259.     x = 19 + col * 51
  260.     y = 44 + row * 51
  261.     return x,y
  262.   end
  263. end
复制代码


PS: 第一次在6R发帖....
签名被屏蔽
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-10-5
帖子
75
3
 楼主| 发表于 2007-3-28 10:37:19 | 只看该作者

自己顶一下。。。

gpra8764:
以后不要这样……建议,建议……
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
400 小时
注册时间
2005-10-24
帖子
634
4
发表于 2007-3-28 12:41:30 | 只看该作者
这个实在是强{/se}
一直在找这样的东西
楼主加油{/qiang}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

邪恶小龙包

梦石
0
星屑
55
在线时间
17 小时
注册时间
2006-5-22
帖子
7006

第2届短篇游戏比赛冠军第3届短篇游戏大赛小游戏及其他组冠军RMVX自由创作大赛冠军

5
发表于 2007-3-28 12:48:53 | 只看该作者
强人啊,加油!!{/qiang}{/qiang}
虚无  堕落
回复 支持 反对

使用道具 举报

Lv1.梦旅人

天国守护

6
发表于 2007-3-28 14:45:44 | 只看该作者
点我和美兽聊天~
点我进入美兽BLOG
好了联系方式都给你了~~~~~{/hx}
很久很久没有来了  看一下注册时间 10年都过去了~  虽然66RPG不再是那个66RPG 但是毕竟这里给我留下了 很多的回忆  亲爱的朋友们 你们还好吗?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

大火烧了毛毛虫

梦石
0
星屑
205
在线时间
288 小时
注册时间
2006-3-18
帖子
2335
7
发表于 2007-3-28 14:58:09 | 只看该作者
以下引用叶子于2007-3-28 4:41:30的发言:

这个实在是强
一直在找这样的东西
楼主加油

这个和普通的窗口用什么区别吗?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
265
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

8
发表于 2007-3-28 15:36:53 | 只看该作者
这种模式感觉好生疏.......{/fd}

可能对于新接触脚本的朋友更方便编写........

我倒只能是按照默认的那个风格重新编写了.....
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

9
发表于 2007-3-28 15:43:26 | 只看该作者
是JAVA的风格,对于这种时间杀手式的工作,实在力有所不及。
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
400 小时
注册时间
2005-10-24
帖子
634
10
发表于 2007-3-28 16:59:15 | 只看该作者
以下引用颠倒的彩虹于2007-3-28 6:58:09的发言:


以下引用叶子于2007-3-28 4:41:30的发言:

这个实在是强
一直在找这样的东西
楼主加油


这个和普通的窗口用什么区别吗?

提供统一的接口..具体实现方法不太了解,不过如果你做一个鼠标控的窗口就会明白你需要这样的东西了{/fd}
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-4 09:13

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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