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

Project1

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

[已经过期] 求助 怎么制作旋转的物品菜单

[复制链接]

Lv1.梦旅人

梦石
0
星屑
75
在线时间
231 小时
注册时间
2014-10-5
帖子
296
跳转到指定楼层
1
发表于 2015-2-14 09:58:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
之前找到了一个旋转的菜单,效果很不错
正好可以用来制作恐怖解密游戏
可是我想让物品界面也是这样旋转出现的
我学习脚本时间不长,实在是做不出来
希望有大神可以帮帮我
因为是恐怖解密游戏,道具不会很多,十几个道具就是极限了
大致效果就是,进入菜单的时候,选项是旋转出现的,如果选择道具,菜单选项就旋转收回
然后在旋转展开道具
道具的说明在最下面去掉边框,名字在那中心
下面是脚本
RUBY 代码复制
  1. #==============================================================================
  2. # ** Ring Menu
  3. #------------------------------------------------------------------------------
  4. #  by Syvkal
  5. #  Version 1.2
  6. #  03-04-12
  7. #------------------------------------------------------------------------------
  8. # * Original available at:
  9. #  [url]www.rpgmakervxace.net[/url]  &  forums.rpgmakerweb.com
  10. #  Please do not redistribute this script
  11. #------------------------------------------------------------------------------
  12. # * Terms of Use
  13. #  Available for use in commercial games provided that I get a free copy :P
  14. #  Email me: [email][email protected][/email]
  15. #  Please do not redistribute this script
  16. #==============================================================================
  17. #
  18. #  - INTRODUCTION -
  19. #
  20. #  This system implements a Plug 'N' Play Ring Menu
  21. #  Movement based off XRXS, Dubealex & Hypershadow180's original XP Ring Menu,
  22. #  which was devised through some simple, but clever trigonometry
  23. #
  24. #------------------------------------------------------------------------------
  25. #
  26. #  - USAGE -
  27. #
  28. #  Any additional scenes that are added to the menu require an icon
  29. #  Place them in the pictures folder, they are advised to be 48x48 pixels
  30. #
  31. #  The name of the icons must be of the form:
  32. #    [Command Name] Icon
  33. #
  34. #  For example 'Items Icon.png' or 'Equipment Icon.png'
  35. #
  36. #  If you are unsure what it needs to be called, wait for the error message,
  37. #  then call it the name of the file it can not find
  38. #
  39. #------------------------------------------------------------------------------
  40. #
  41. #  - COMPATIBILITY -
  42. #
  43. #  Additional scenes should be automatically added assuming thier creators
  44. #  utilise the 'add_original_commands' feature in Window_MenuCommand
  45. #
  46. # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  47. #
  48. #  This script redefines the following methods:
  49. #  * create_status_window             (Scene_Menu)
  50. #  * on_formation_ok                  (Scene_Menu)
  51. #  * on_formation_cancel              (Scene_Menu)
  52. #  * draw_character                   (Window_Base)
  53. #
  54. # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  55. #
  56. #  This script Aliases the following methods:
  57. #  * add_save_command                 (Window_MenuCommand)
  58. #  * start                            (Scene_Menu)
  59. #  * create_command_window            (Scene_Menu)
  60. #  * command_personal                 (Scene_Menu)
  61. #  * command_formation                (Scene_Menu)
  62. #  * on_personal_cancel               (Scene_Menu)
  63. #
  64. #==============================================================================
  65.  
  66.             #===================================================#
  67.             #  **  C O N F I G U R A T I O N   S Y S T E M  **  #
  68.             #===================================================#
  69.  
  70.   #--------------------------------------------------------------------------
  71.   # * Startup Frames
  72.   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  73.   #  Amount of frames for the Startup Animation
  74.   #--------------------------------------------------------------------------
  75.     STARTUP_FRAMES = 20
  76.   #--------------------------------------------------------------------------
  77.   # * Movement Frames
  78.   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  79.   #  Amount of frames for Movement Animation
  80.   #--------------------------------------------------------------------------
  81.     MOVING_FRAMES = 15
  82.   #--------------------------------------------------------------------------
  83.   # * Menu Ring Radius
  84.   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  85.   #  Radius of the Menu Ring
  86.   #--------------------------------------------------------------------------
  87.     RING_R = 100
  88.  
  89.   #--------------------------------------------------------------------------
  90.   # * Show Disabled Options
  91.   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  92.   #  Set to false to exclude disabled options for the menu
  93.   #--------------------------------------------------------------------------
  94.     DISABLED_SHOW = false
  95.   #--------------------------------------------------------------------------
  96.   # * Disabled Icon
  97.   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  98.   #  The icon displayed over disabled options
  99.   #  (only used when DISABLED_SHOW =  true)
  100.   #--------------------------------------------------------------------------
  101.     ICON_DISABLE = Cache::picture('DisableIcon')
  102.   #--------------------------------------------------------------------------
  103.   # * Skip Single Actor Select
  104.   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  105.   #  Set to true to skip the actor selection if there's only one party member
  106.   #--------------------------------------------------------------------------
  107.     ACTOR_SKIP = true
  108.   #--------------------------------------------------------------------------
  109.   # * Load Command Vocab
  110.   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  111.   #  Text displayed for the loading option
  112.   #--------------------------------------------------------------------------
  113.     Vocab::Load = "日记"
  114.  
  115.             #===================================================#
  116.             #  **     E N D   C O N F I G U R A T I O N     **  #
  117.             #===================================================#
  118.  
  119. #==============================================================================
  120. # ** Ring_Menu Module
  121. #------------------------------------------------------------------------------
  122. #  Module designed to rewrite methods defined in the desired Superclass.
  123. #==============================================================================
  124.  
  125. module Ring_Menu
  126.   #--------------------------------------------------------------------------
  127.   # * Object Initialization
  128.   #--------------------------------------------------------------------------
  129.   def initialize(*args)
  130.     super(*args)
  131.     @cx = contents.width / 2; @cy = contents.height / 2
  132.     self.opacity = 0
  133.     @startup = STARTUP_FRAMES
  134.     @icons = []
  135.     @mode = :start
  136.     @steps = @startup
  137.   end
  138.   #--------------------------------------------------------------------------
  139.   # * Update Cursor
  140.   #--------------------------------------------------------------------------
  141.   def update_cursor
  142.   end
  143.   #--------------------------------------------------------------------------
  144.   # * Determines if is moving
  145.   #--------------------------------------------------------------------------
  146.   def animation?
  147.     return @mode != :wait
  148.   end
  149.   #--------------------------------------------------------------------------
  150.   # * Move Cursor Down
  151.   #--------------------------------------------------------------------------
  152.   def cursor_down(wrap)
  153.     cursor_right(wrap)
  154.   end
  155.   #--------------------------------------------------------------------------
  156.   # * Move Cursor Up
  157.   #--------------------------------------------------------------------------
  158.   def cursor_up(wrap)
  159.     cursor_left(wrap)
  160.   end
  161.   #--------------------------------------------------------------------------
  162.   # * Move Cursor Right
  163.   #--------------------------------------------------------------------------
  164.   def cursor_right(wrap)
  165.     unless animation?
  166.       select((index + 1) % item_max)
  167.       @mode = :mover
  168.       @steps = MOVING_FRAMES
  169.       Sound.play_cursor
  170.     end
  171.   end
  172.   #--------------------------------------------------------------------------
  173.   # * Move Cursor Left
  174.   #--------------------------------------------------------------------------
  175.   def cursor_left(wrap)
  176.     unless animation?
  177.       select((index - 1 + item_max) % item_max)
  178.       @mode = :movel
  179.       @steps = MOVING_FRAMES
  180.       Sound.play_cursor
  181.     end
  182.   end
  183.   #--------------------------------------------------------------------------
  184.   # * Frame Update
  185.   #--------------------------------------------------------------------------
  186.   def update
  187.     super
  188.     refresh if animation?
  189.   end
  190.   #--------------------------------------------------------------------------
  191.   # * Refresh
  192.   #--------------------------------------------------------------------------
  193.   def refresh   
  194.     self.contents.clear
  195.     case @mode
  196.     when :start
  197.       refresh_start
  198.     when :wait
  199.       refresh_wait
  200.     when :mover
  201.       refresh_move(1)
  202.     when :movel
  203.       refresh_move(0)
  204.     end
  205.   end
  206.   #--------------------------------------------------------------------------
  207.   # * Refresh Start Period
  208.   #--------------------------------------------------------------------------
  209.   def refresh_start
  210.     d1 = 2.0 * Math::PI / item_max
  211.     d2 = 1.0 * Math::PI / @startup
  212.     r = RING_R - 1.0 * RING_R * @steps / @startup
  213.     for i in 0...item_max
  214.       d = d1 * i + d2 * @steps
  215.       x = @cx + ( r * Math.sin( d ) ).to_i
  216.       y = @cy - ( r * Math.cos( d ) ).to_i
  217.       draw_item(x, y, i)
  218.     end
  219.     @steps -= 1
  220.     if @steps < 0
  221.       @mode = :wait
  222.     end
  223.   end
  224.   #--------------------------------------------------------------------------
  225.   # * Refresh Wait Period
  226.   #--------------------------------------------------------------------------
  227.   def refresh_wait
  228.     d = 2.0 * Math::PI / item_max
  229.     for i in 0...item_max
  230.       j = i - index
  231.       x = @cx + ( RING_R * Math.sin( d * j) ).to_i
  232.       y = @cy - ( RING_R * Math.cos( d * j) ).to_i
  233.       draw_item(x, y, i)
  234.     end
  235.   end
  236.   #--------------------------------------------------------------------------
  237.   # * Refresh Movement Period
  238.   #--------------------------------------------------------------------------
  239.   def refresh_move( mode )
  240.     d1 = 2.0 * Math::PI / item_max
  241.     d2 = d1 / MOVING_FRAMES
  242.     d2 *= -1 unless mode != 0
  243.     for i in 0...item_max
  244.       j = i - index
  245.       d = d1 * j + d2 * @steps
  246.       x = @cx + ( RING_R * Math.sin( d ) ).to_i
  247.       y = @cy - ( RING_R * Math.cos( d ) ).to_i
  248.       draw_item(x, y, i)
  249.     end
  250.     @steps -= 1
  251.     if @steps < 0
  252.       @mode = :wait
  253.     end
  254.   end
  255. end
  256.  
  257. #==============================================================================
  258. # ** Window_MenuCommand
  259. #------------------------------------------------------------------------------
  260. #  Converted into a Ring Menu.
  261. #==============================================================================
  262.  
  263. class Window_MenuCommand < Window_Command
  264.   #--------------------------------------------------------------------------
  265.   # * Includes The Ring_Menu Module
  266.   #--------------------------------------------------------------------------  
  267.   include Ring_Menu
  268.   #--------------------------------------------------------------------------
  269.   # * Alias Listings
  270.   #--------------------------------------------------------------------------  
  271.   alias add_save_command_ring_menu_original add_save_command
  272.   #--------------------------------------------------------------------------
  273.   # * Object Initialization
  274.   #--------------------------------------------------------------------------
  275.   def initialize
  276.     super(0, 0)
  277.     unless DISABLED_SHOW
  278.       @list.delete_if {|i| !i[:enabled]}
  279.     end
  280.     for i in 0...item_max
  281.       @icons.push(Cache::picture(command_name(i) + 'Icon'))
  282.     end
  283.     if @@last_command_symbol != nil
  284.       index = @list.index(@@last_command_symbol)
  285.       @mode = :wait
  286.     end
  287.     select_last
  288.     refresh
  289.   end
  290.   #--------------------------------------------------------------------------
  291.   # * Refresh
  292.   #--------------------------------------------------------------------------
  293.   def refresh
  294.     super
  295.     rect = Rect.new(0, 196, self.contents.width, line_height)
  296.     draw_text(rect, command_name(index), 1)
  297.   end
  298.   #--------------------------------------------------------------------------
  299.   # * Get Window Width
  300.   #--------------------------------------------------------------------------
  301.   def window_width
  302.     return 544
  303.   end
  304.   #--------------------------------------------------------------------------
  305.   # * Get Window Height
  306.   #--------------------------------------------------------------------------
  307.   def window_height
  308.     return 416
  309.   end  
  310.   #--------------------------------------------------------------------------
  311.   # * Add Load to Command List
  312.   #--------------------------------------------------------------------------
  313.   def add_save_command
  314.     add_save_command_ring_menu_original
  315.     add_command(Vocab::Load, :load)
  316.   end
  317.   #--------------------------------------------------------------------------
  318.   # * Draw Item
  319.   #     x     : draw spot x-coordinate
  320.   #     y     : draw spot y-coordinate
  321.   #     i     : item number
  322.   #--------------------------------------------------------------------------
  323.   def draw_item(x, y, i)
  324.     rect = Rect.new(0, 0, @icons[i].width, @icons[i].height)
  325.     if i == index
  326.       self.contents.blt(x - rect.width/2, y - rect.height/2, @icons[i], rect )
  327.       unless command_enabled?(index)
  328.         self.contents.blt(x - rect.width/2, y - rect.height/2, ICON_DISABLE, rect )
  329.       end
  330.     else
  331.       self.contents.blt(x - rect.width/2, y - rect.height/2, @icons[i], rect, 128 )
  332.     end
  333.   end
  334. end
  335.  
  336. #==============================================================================
  337. # ** Window_RingStatus
  338. #------------------------------------------------------------------------------
  339. #  Ring Menu for selection of Party Members
  340. #==============================================================================
  341.  
  342. class Window_RingStatus < Window_Selectable
  343.   #--------------------------------------------------------------------------
  344.   # * Includes The Ring_Menu Module
  345.   #--------------------------------------------------------------------------  
  346.   include Ring_Menu
  347.   #--------------------------------------------------------------------------
  348.   # * Public Instance Variables
  349.   #--------------------------------------------------------------------------
  350.   attr_accessor   :pending_index            # Pending position (for formation)
  351.   attr_accessor   :pending                  # Pending
  352.   #--------------------------------------------------------------------------
  353.   # * Object Initialization
  354.   #--------------------------------------------------------------------------
  355.   def initialize
  356.     super(0, 0, 544, 416)
  357.     self.hide
  358.     @mode = :wait
  359.     @pending_index = -1
  360.     @pending = false
  361.     refresh
  362.   end
  363.   #--------------------------------------------------------------------------
  364.   # * Refresh
  365.   #--------------------------------------------------------------------------
  366.   def refresh   
  367.     super
  368.     rect = Rect.new(0, 196, self.contents.width, line_height)
  369.     draw_text(rect, $game_party.members[index].name, 1)
  370.   end
  371.   #--------------------------------------------------------------------------
  372.   # * Get Number of Items
  373.   #--------------------------------------------------------------------------
  374.   def item_max
  375.     $game_party.members.size
  376.   end
  377.   #--------------------------------------------------------------------------
  378.   # * Refresh Movement Period
  379.   #--------------------------------------------------------------------------
  380.   def refresh_move( mode )
  381.     unless pending_index >= 0
  382.       super
  383.     else
  384.       d = 2.0 * Math::PI / item_max
  385.       for i in 0...item_max
  386.         j = i - pending_index
  387.         x = @cx + ( RING_R * Math.sin( d * j) ).to_i
  388.         y = @cy - ( RING_R * Math.cos( d * j) ).to_i
  389.         draw_item(x, y, i)
  390.       end
  391.       @mode = :wait
  392.     end
  393.   end
  394.   #--------------------------------------------------------------------------
  395.   # * Draw Item
  396.   #     x     : draw spot x-coordinate
  397.   #     y     : draw spot y-coordinate
  398.   #     index : item number
  399.   #--------------------------------------------------------------------------
  400.   def draw_item(x, y, i)
  401.     if i == index && !(@pending && @pending_index < 0)
  402.       draw_character($game_party.members[i].character_name,
  403.       $game_party.members[i].character_index , x, y, true, true)
  404.     else
  405.       draw_character($game_party.members[i].character_name,
  406.       $game_party.members[i].character_index , x, y, false, true)
  407.     end
  408.   end
  409.   #--------------------------------------------------------------------------
  410.   # * Processing When OK Button Is Pressed
  411.   #--------------------------------------------------------------------------
  412.   def process_ok
  413.     super
  414.     $game_party.menu_actor = $game_party.members[index] unless pending
  415.   end
  416.   #--------------------------------------------------------------------------
  417.   # * Restore Previous Selection Position
  418.   #--------------------------------------------------------------------------
  419.   def select_last
  420.     select($game_party.members.index($game_party.menu_actor) || 0)
  421.     refresh
  422.   end
  423. end
  424.  
  425. #==============================================================================
  426. # ** Scene_Menu
  427. #==============================================================================
  428.  
  429. class Scene_Menu < Scene_MenuBase
  430.   #--------------------------------------------------------------------------
  431.   # * Alias Listings
  432.   #--------------------------------------------------------------------------  
  433.   alias start_ring_original start
  434.   alias create_command_window_ring_menu_original create_command_window
  435.   alias command_personal_ring_original command_personal
  436.   alias command_formation_ring_original command_formation
  437.   alias on_personal_cancel_ring_original on_personal_cancel
  438.   #--------------------------------------------------------------------------
  439.   # * Start Processing
  440.   #--------------------------------------------------------------------------
  441.   def start
  442.     start_ring_original
  443.     create_location_window
  444.   end
  445.   #--------------------------------------------------------------------------
  446.   # * Create Location Window
  447.   #--------------------------------------------------------------------------
  448.   def create_location_window
  449.     @location_window = Window_location.new(0, 0)
  450.   end
  451.   #--------------------------------------------------------------------------
  452.   # * Create Command Window
  453.   #--------------------------------------------------------------------------
  454.   def create_command_window
  455.     create_command_window_ring_menu_original
  456.     @command_window.set_handler(:load,      method(:command_load))
  457.   end
  458.   #--------------------------------------------------------------------------
  459.   # * Create Status Window
  460.   #--------------------------------------------------------------------------
  461.   def create_status_window
  462.     @status_window = Window_RingStatus.new
  463.   end
  464.   #--------------------------------------------------------------------------
  465.   # * [Skill], [Equipment] and [Status] Commands
  466.   #--------------------------------------------------------------------------
  467.   def command_personal
  468.     if $game_party.members.size < 2 && ACTOR_SKIP
  469.       on_personal_ok
  470.     else
  471.       @command_window.hide
  472.       @status_window.show
  473.       command_personal_ring_original
  474.     end
  475.   end
  476.   #--------------------------------------------------------------------------
  477.   # * [Formation] Command
  478.   #--------------------------------------------------------------------------
  479.   def command_formation
  480.     @status_window.pending = true
  481.     @command_window.hide
  482.     command_formation_ring_original
  483.     @status_window.index = 0
  484.     @status_window.refresh
  485.     @status_window.show
  486.   end
  487.   #--------------------------------------------------------------------------
  488.   # * [Load] Command
  489.   #--------------------------------------------------------------------------
  490.   def command_load
  491.     SceneManager.call(Scene_Load)
  492.   end
  493.   #--------------------------------------------------------------------------
  494.   # * [Cancel] Personal Command
  495.   #--------------------------------------------------------------------------
  496.   def on_personal_cancel
  497.     @status_window.hide
  498.     on_personal_cancel_ring_original
  499.     @status_window.deactivate
  500.     @command_window.show
  501.   end
  502.   #--------------------------------------------------------------------------
  503.   # * Formation [OK]
  504.   #--------------------------------------------------------------------------
  505.   def on_formation_ok
  506.     if @status_window.pending_index >= 0
  507.       $game_party.swap_order(@status_window.index,
  508.                              @status_window.pending_index)
  509.       @status_window.index = @status_window.pending_index
  510.       @status_window.pending_index = -1
  511.     else
  512.       @status_window.pending_index = @status_window.index
  513.     end
  514.     @status_window.refresh
  515.     @status_window.activate
  516.   end
  517.   #--------------------------------------------------------------------------
  518.   # * Formation [Cancel]
  519.   #--------------------------------------------------------------------------
  520.   def on_formation_cancel
  521.     if @status_window.pending_index >= 0
  522.       @status_window.index = @status_window.pending_index
  523.       @status_window.pending_index = -1
  524.       @status_window.activate
  525.       @status_window.refresh
  526.     else
  527.       @status_window.pending = false
  528.       @status_window.hide
  529.       @status_window.select_last
  530.       @status_window.deactivate
  531.       @command_window.show
  532.       @command_window.activate
  533.     end
  534.   end
  535. end
  536.  
  537. #==============================================================================
  538. # ** Window_Base
  539. #------------------------------------------------------------------------------
  540. #  Edited to allow disabled character icons and y centring
  541. #==============================================================================
  542.  
  543. class Window_Base < Window
  544.   #--------------------------------------------------------------------------
  545.   # * Draw Character Graphic
  546.   #--------------------------------------------------------------------------
  547.   def draw_character(character_name, character_index, x, y, enabled = true, centred = false)
  548.     return if character_name == nil
  549.     bitmap = Cache.character(character_name)
  550.     sign = character_name[/^[\!\$]./]
  551.     if sign && sign.include?('$')
  552.       cw = bitmap.width / 3
  553.       ch = bitmap.height / 4
  554.     else
  555.       cw = bitmap.width / 12
  556.       ch = bitmap.height / 8
  557.     end
  558.     n = character_index
  559.     src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
  560.     self.contents.blt(x - cw / 2, centred ? y - ch/2 : y - ch, bitmap, src_rect,
  561.     enabled ? 255 : 128)
  562.   end
  563. end
  564.  
  565. #==============================================================================
  566. # ** Window_Location
  567. #------------------------------------------------------------------------------
  568. #  This class shows the current map name.
  569. #==============================================================================
  570.  
  571. class Window_location < Window_Base
  572.   #--------------------------------------------------------------------------
  573.   # * Object Initialization
  574.   #--------------------------------------------------------------------------
  575.   def initialize(x, y)
  576.     super(30, 350, 200, (line_height)+32)
  577.     self.opacity = 0
  578.     refresh
  579.   end
  580.   #--------------------------------------------------------------------------
  581.   # * Refresh
  582.   #--------------------------------------------------------------------------
  583.   def refresh
  584. #~     self.contents.font.color=Color.new(255,0,0)
  585.     contents.clear
  586.     @map = load_data(sprintf("Data/Map%03d.rvdata2", $game_map.map_id))
  587. #~     change_color(system_color)
  588. #~     draw_text(4, 0, 128, line_height, "当前所在位置:")
  589.     change_color(normal_color)
  590.     draw_text(0, 0, 128, line_height, @map.display_name, 1)
  591.   end
  592. end

点评

旋转的物品菜单?你是指环形菜单吗?  发表于 2015-2-14 17:53

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2015-2-14 10:24:02 | 只看该作者
就是用圆的参数方程调整窗口的x,y坐标啊= = 参考一下你这段脚本的第80行

菜单这种东西真的帮不上忙的,只有自己写才是最好的……

点评

上次写的那个传送脚本。。。。最后还是找了一个大神帮我改了一下才成功的。。。哎 我才学了5天哦  发表于 2015-2-14 10:31
满满学 Ruby 和 默认脚本的写法就会了  发表于 2015-2-14 10:29
可是我现在的知识,只能做个窗口,添加个脸图什么的,这里好多语句都看不懂  发表于 2015-2-14 10:26
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
75
在线时间
231 小时
注册时间
2014-10-5
帖子
296
3
 楼主| 发表于 2015-2-14 21:14:06 | 只看该作者
是的,就是环形的,要是道具是环形的,而且可以旋转
@chd114@chd114
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-5 02:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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