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

Project1

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

[已经解决] 如何在主選單背景中,做出可以旋轉的齒輪? (自備素材)

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2638
在线时间
365 小时
注册时间
2015-12-8
帖子
104
跳转到指定楼层
1
发表于 2018-11-13 17:36:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
50星屑
本帖最后由 冰冷水藍 于 2018-11-13 17:37 编辑

目前做了個齒輪的去背圖片
希望能放在主選單背景 (遊戲中叫出的選單畫面),並且能有旋轉的效果
某些商業遊戲能做出這樣的效果
希望能有解決方法,謝謝!!






最佳答案

查看完整内容

雖然具體出錯的原因沒找到, 不過應該是"alias"引起的 稍作修改 齒輪改為四個

Lv4.逐梦者

梦石
0
星屑
7290
在线时间
1690 小时
注册时间
2017-4-28
帖子
85

开拓者

2
发表于 2018-11-13 17:36:27 | 只看该作者
初步可行,但遊戲只要經過F12重啟過後,再打開主選單就報錯

雖然具體出錯的原因沒找到, 不過應該是"alias"引起的
稍作修改
齒輪改為四個

  1. class Scene_Menu < Scene_Base #主選單
  2.    
  3.   def create_menu_background
  4.     @gear_sprite = Sprite.new
  5.     @gear_sprite.bitmap = Bitmap.new("Graphics/Pictures/0000.png")#圖片存取位置
  6.     @gear_sprite.ox = @gear_sprite.width/2  #圖片中心坐標
  7.     @gear_sprite.oy = @gear_sprite.height/2 #圖片中心坐標
  8.     @gear_sprite.z += 1 #圖片優先度
  9.     @gear_sprite.x = 544/2 #圖片位置x
  10.     @gear_sprite.y = 416/2 #圖片位置y
  11.     @gear_sprite.zoom_x = 0.5 #圖片縮放
  12.     @gear_sprite.zoom_y = 0.5 #圖片縮放
  13.    
  14.     @gear_sprite2 = Sprite.new
  15.     @gear_sprite2.bitmap = Bitmap.new("Graphics/Pictures/0000.png")#圖片存取位置
  16.     @gear_sprite2.ox = @gear_sprite.width/2  #圖片中心坐標
  17.     @gear_sprite2.oy = @gear_sprite.height/2 #圖片中心坐標
  18.     @gear_sprite2.z += 2 #圖片優先度
  19.     @gear_sprite2.x = 200#圖片位置x
  20.     @gear_sprite2.y = 200#圖片位置y
  21.     @gear_sprite2.zoom_x = 0.25 #圖片縮放
  22.     @gear_sprite2.zoom_y = 0.25 #圖片縮放
  23.    
  24.     @gear_sprite3 = Sprite.new
  25.     @gear_sprite3.bitmap = Bitmap.new("Graphics/Pictures/0000.png")#圖片存取位置
  26.     @gear_sprite3.ox = @gear_sprite.width/2  #圖片中心坐標
  27.     @gear_sprite3.oy = @gear_sprite.height/2 #圖片中心坐標
  28.     @gear_sprite3.z += 3 #圖片優先度
  29.     @gear_sprite3.x = 300#圖片位置x
  30.     @gear_sprite3.y = 300#圖片位置y
  31.     @gear_sprite3.zoom_x = 0.25 #圖片縮放
  32.     @gear_sprite3.zoom_y = 0.25 #圖片縮放
  33.    
  34.     @gear_sprite4 = Sprite.new
  35.     @gear_sprite4.bitmap = Bitmap.new("Graphics/Pictures/0000.png")#圖片存取位置
  36.     @gear_sprite4.ox = @gear_sprite.width/2  #圖片中心坐標
  37.     @gear_sprite4.oy = @gear_sprite.height/2 #圖片中心坐標
  38.     @gear_sprite4.z += 4 #圖片優先度
  39.     @gear_sprite4.x = 400#圖片位置x
  40.     @gear_sprite4.y = 150#圖片位置y
  41.     @gear_sprite4.zoom_x = 0.25 #圖片縮放
  42.     @gear_sprite4.zoom_y = 0.25 #圖片縮放
  43.    
  44.    
  45.     @menuback_sprite = Sprite.new
  46.     @menuback_sprite.bitmap = $game_temp.background_bitmap
  47.     @menuback_sprite.color.set(16, 16, 16, 128)
  48.     update_menu_background
  49.   end
  50.   #--------------------------------------------------------------------------
  51.   # * 清除圖片
  52.   #--------------------------------------------------------------------------
  53.   def dispose_menu_background
  54.     @gear_sprite.dispose
  55.     @gear_sprite2.dispose
  56.     @gear_sprite3.dispose
  57.     @gear_sprite4.dispose
  58.    
  59.     @menuback_sprite.dispose
  60.   end
  61.   #--------------------------------------------------------------------------
  62.   # * 圖片更新,旋轉
  63.   #--------------------------------------------------------------------------
  64.   def update_menu_background
  65.     @gear_sprite.angle += 1 #圖片旋轉速度
  66.     @gear_sprite2.angle -= 1
  67.     @gear_sprite3.angle += 2
  68.     @gear_sprite4.angle += 0.5
  69.   end
  70.   
  71. end
复制代码

点评

期待你的製成品!  发表于 2018-11-14 21:18
花了一個下午的時間調整,大致沒問題了,賞金奉上!! 並且會在遊戲中備註您的名字,以表示感謝^^!!  发表于 2018-11-14 17:25
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7290
在线时间
1690 小时
注册时间
2017-4-28
帖子
85

开拓者

3
发表于 2018-11-13 21:35:17 | 只看该作者
試試這個
  1. class Scene_Menu < Scene_Base #主選單
  2.    
  3.   alias gear_create_menu_background create_menu_background  
  4.   def create_menu_background
  5.     @gear_sprite = Sprite.new
  6.     @gear_sprite.bitmap = Bitmap.new("Graphics/Pictures/0000.png")#圖片存取位置
  7.     @gear_sprite.ox = @gear_sprite.width/2  #圖片中心坐標
  8.     @gear_sprite.oy = @gear_sprite.height/2 #圖片中心坐標
  9.     @gear_sprite.z += 1 #圖片優先度
  10.     @gear_sprite.x = 544/2 #圖片位置x
  11.     @gear_sprite.y = 416/2 #圖片位置y
  12.     gear_create_menu_background
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # * 清除圖片
  16.   #--------------------------------------------------------------------------
  17.   alias gear_dispose_menu_background dispose_menu_background
  18.   def dispose_menu_background
  19.     @gear_sprite.dispose if @gear_sprite
  20.     gear_dispose_menu_background
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # * 圖片更新,旋轉
  24.   #--------------------------------------------------------------------------
  25.   def update_menu_background
  26.     @gear_sprite.angle += 1 #圖片旋轉速度
  27.   end
  28.   
  29. end
复制代码
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2638
在线时间
365 小时
注册时间
2015-12-8
帖子
104
4
 楼主| 发表于 2018-11-13 23:15:19 | 只看该作者
本帖最后由 冰冷水藍 于 2018-11-13 23:21 编辑


初步可行,但遊戲只要經過F12重啟過後,再打開主選單就報錯

腳本行數6至11行隨機出現
--------------------------------------------------------------------------------
SystemStackError occurred.
stack level too deep
--------------------------------------------------------------------------------

目標是同步顯示四個齒輪,獨立旋轉這樣


回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2638
在线时间
365 小时
注册时间
2015-12-8
帖子
104
5
 楼主| 发表于 2018-11-18 01:37:20 | 只看该作者
gforce 发表于 2018-11-13 17:36
雖然具體出錯的原因沒找到, 不過應該是"alias"引起的
稍作修改
齒輪改為四個

不好意思,再請教您一下
目前腳本完美運行,但發現會讓我原有的這個滑動效果腳本失效
似乎是兩者都調用menu_background所致
有方法兼容嗎? 謝謝

  1. #==============================================================================
  2. # ** Menu Background 選單背景滑動
  3. #------------------------------------------------------------------------------
  4. #  This section changes the background for all menus.
  5. # V2 Fixed the battle problem. Also includes scrolling option.
  6. #==============================================================================
  7. module MENUBG
  8.   #If this is set to "false", the initial background will be used.
  9.   MENU_BG_ON = true
  10.   
  11. #~   MENU_BG = "MENUBG"  
  12.   MENU_BG = "P滑動背景"#"Graphics\Pictures"

  13.   #Changes the Transparency of the background. Set to 255 for full opacity.
  14.   MENU_BG_OPACITY = 255 #滑動背景的透明度
  15.   #This decides whether or not BG scrolling is active
  16.   MENU_BG_SCROLL = true #是否滾動

  17.   MENU_X = -2#滑動背景的滑動速度
  18.   MENU_Y = 0#垂直移動速度
  19. #~   MENU_Z = -5000
  20. end

  21. class Scene_Base
  22. include MENUBG
  23.   #--------------------------------------------------------------------------
  24.   # * Create Background for Menu Screen
  25.   #--------------------------------------------------------------------------
  26.   def create_menu_background
  27.     @menuback_sprite = Sprite.new
  28.     @menuback_sprite.bitmap = $game_temp.background_bitmap

  29.     @menuback_sprite.color.set(0, 0, 0, 0) #(16, 16, 16, 128)
  30.     if MENU_BG_ON
  31.     @menuback2 = Plane.new
  32.     @menuback2.bitmap = Cache.picture(MENU_BG)

  33.     @menuback2.color.set(0, 0, 0, 0) #(64, 64, 64, 0)
  34.     @menuback2.opacity = MENU_BG_OPACITY
  35.     end
  36.   end
  37.   def dispose_menu_background
  38.     if MENU_BG_ON
  39.       @menuback2.dispose
  40.     end
  41.     @menuback_sprite.dispose
  42.   end
  43.   
  44.   #--------------------------------------------------------------------------
  45.   # * Update Background for Menu Screen
  46.   #--------------------------------------------------------------------------
  47.   def update_menu_background
  48.     if MENU_BG_ON
  49.       if MENU_BG_SCROLL
  50.     @menuback2.ox -= MENU_X
  51.     @menuback2.oy -= MENU_Y
  52.         @menuback2.z = 0 #101
  53.       end
  54.     end
  55.   end
  56. end
复制代码

点评

不太明白,3樓的是一開始F12會報錯的腳本不是嗎@@?  发表于 2018-11-18 10:08
使用3楼的脚本在两处alias行末尾加上 unless $@  发表于 2018-11-18 08:07
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7290
在线时间
1690 小时
注册时间
2017-4-28
帖子
85

开拓者

6
发表于 2018-11-18 10:39:32 | 只看该作者
本帖最后由 gforce 于 2018-11-18 12:52 编辑
使用3楼的脚本在两处alias行末尾加上 unless $@

親測這方法有效
所以報錯是因為"alias"在每次F12後都會再運行


  1. class Scene_Menu < Scene_Base #主選單
  2.   
  3.   alias gear_create_menu_background create_menu_background unless $@
  4.   def create_menu_background
  5.     @gear_sprite = Sprite.new
  6.     @gear_sprite.bitmap = Bitmap.new("Graphics/Pictures/0000.png")#圖片存取位置
  7.     @gear_sprite.ox = @gear_sprite.width/2  #圖片中心坐標
  8.     @gear_sprite.oy = @gear_sprite.height/2 #圖片中心坐標
  9.     @gear_sprite.z += 1 #圖片優先度
  10.     @gear_sprite.x = 544/2 #圖片位置x
  11.     @gear_sprite.y = 416/2 #圖片位置y
  12.     @gear_sprite.zoom_x = 0.5 #圖片縮放
  13.     @gear_sprite.zoom_y = 0.5 #圖片縮放
  14.    
  15.     @gear_sprite2 = Sprite.new
  16.     @gear_sprite2.bitmap = Bitmap.new("Graphics/Pictures/0000.png")#圖片存取位置
  17.     @gear_sprite2.ox = @gear_sprite.width/2  #圖片中心坐標
  18.     @gear_sprite2.oy = @gear_sprite.height/2 #圖片中心坐標
  19.     @gear_sprite2.z += 2 #圖片優先度
  20.     @gear_sprite2.x = 200#圖片位置x
  21.     @gear_sprite2.y = 200#圖片位置y
  22.     @gear_sprite2.zoom_x = 0.25 #圖片縮放
  23.     @gear_sprite2.zoom_y = 0.25 #圖片縮放
  24.    
  25.     @gear_sprite3 = Sprite.new
  26.     @gear_sprite3.bitmap = Bitmap.new("Graphics/Pictures/0000.png")#圖片存取位置
  27.     @gear_sprite3.ox = @gear_sprite.width/2  #圖片中心坐標
  28.     @gear_sprite3.oy = @gear_sprite.height/2 #圖片中心坐標
  29.     @gear_sprite3.z += 3 #圖片優先度
  30.     @gear_sprite3.x = 300#圖片位置x
  31.     @gear_sprite3.y = 300#圖片位置y
  32.     @gear_sprite3.zoom_x = 0.25 #圖片縮放
  33.     @gear_sprite3.zoom_y = 0.25 #圖片縮放
  34.    
  35.     @gear_sprite4 = Sprite.new
  36.     @gear_sprite4.bitmap = Bitmap.new("Graphics/Pictures/0000.png")#圖片存取位置
  37.     @gear_sprite4.ox = @gear_sprite.width/2  #圖片中心坐標
  38.     @gear_sprite4.oy = @gear_sprite.height/2 #圖片中心坐標
  39.     @gear_sprite4.z += 4 #圖片優先度
  40.     @gear_sprite4.x = 400#圖片位置x
  41.     @gear_sprite4.y = 150#圖片位置y
  42.     @gear_sprite4.zoom_x = 0.25 #圖片縮放
  43.     @gear_sprite4.zoom_y = 0.25 #圖片縮放
  44.    
  45.     gear_create_menu_background
  46.   end
  47.   #--------------------------------------------------------------------------
  48.   # * 清除圖片
  49.   #--------------------------------------------------------------------------
  50.   alias gear_dispose_menu_background dispose_menu_background unless $@
  51.   def dispose_menu_background
  52.     @gear_sprite.dispose
  53.     @gear_sprite2.dispose
  54.     @gear_sprite3.dispose
  55.     @gear_sprite4.dispose
  56.    
  57.     gear_dispose_menu_background
  58.   end
  59.   #--------------------------------------------------------------------------
  60.   # * 圖片更新,旋轉
  61.   #--------------------------------------------------------------------------
  62.   alias gear_update_menu_background update_menu_background unless $@
  63.   def update_menu_background
  64.     @gear_sprite.angle += 1 #圖片旋轉速度
  65.     @gear_sprite2.angle -= 1
  66.     @gear_sprite3.angle += 2
  67.     @gear_sprite4.angle += 0.5
  68.     gear_update_menu_background
  69.   end
  70.   
  71. end
复制代码

這個放在滑動效果腳本以下

点评

重新修改了,現在可以完美共存了,十分開心^^  发表于 2018-11-18 12:04

评分

参与人数 2星屑 +120 +1 收起 理由
怪蜀黍 + 120 耐心解答追问+认可答案
冰冷水藍 + 1 认可答案

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-28 23:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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