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

Project1

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

[胡扯] 【伪·紫菜单】因为写得太挫所以发水区

[复制链接]

Lv1.梦旅人

梦石
0
星屑
76
在线时间
1379 小时
注册时间
2012-7-5
帖子
1698

开拓者

跳转到指定楼层
1
发表于 2014-7-20 08:46:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x

RUBY 代码复制
  1. #encoding:utf-8
  2. # 一个子窗口
  3. #  其实功能好扩展我会乱说?
  4. class Sub_Window < Window_Base
  5.   #--------------------------------------------------------------------------
  6.   # ● 初始化对象
  7.   #--------------------------------------------------------------------------
  8.   def initialize(x, y)
  9.     super(x, y, window_width, fitting_height(visible_line_number))
  10.     self.openness = 0
  11.     activate
  12.   end
  13.   #--------------------------------------------------------------------------
  14.   # ● 获取窗口的宽度
  15.   #--------------------------------------------------------------------------
  16.   def window_width
  17.     return 128
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 获取显示行数
  21.   #--------------------------------------------------------------------------
  22.   def visible_line_number
  23.     return 1
  24.   end
  25.   #--------------------------------------------------------------------------
  26.   # ● 设置
  27.   #--------------------------------------------------------------------------
  28.   def setup(text, *mode)
  29.     create_contents
  30.     self.contents.draw_text(self.contents.rect, text)
  31.     case mode
  32.     when [:bar]
  33.       @var = 0
  34.       @vartemp = @var
  35.       @bar = Sprite.new
  36.       @bar.x,@bar.y,@bar.z,@bar.opacity = self.x+14,self.y+14,100,205
  37.       @bar.bitmap = Bitmap.new(74, 20)
  38.       @bar.bitmap.fill_rect(@bar.bitmap.rect, Color.new(255,255,255))
  39.       self.contents.draw_text(self.contents.rect, @var, 2)
  40.     end
  41.     open
  42.   end
  43.   #--------------------------------------------------------------------------
  44.   # ● 刷新
  45.   #--------------------------------------------------------------------------
  46.   def update
  47.     super
  48.     if @bar
  49.       @var += 1 if Input.press?(:UP) && @var != 100
  50.       @var -= 1 if Input.press?(:DOWN) && @var != 0
  51.       if @var != @vartemp
  52.         @vartemp = @var
  53.         update_bar
  54.       end
  55.     end
  56.   end
  57.   def dispose
  58.     (@bar.bitmap.dispose;@bar.dispose) if @bar
  59.     super
  60.   end
  61.   def update_bar
  62.     self.contents.clear
  63.     self.contents.draw_text(self.contents.rect, @var, 2)
  64.     @bar.bitmap.clear
  65.     @bar.bitmap.fill_rect(@bar.bitmap.rect, Color.new(255,255,255))
  66.     @bar.bitmap.fill_rect(0, 0, @bar.bitmap.width*@var/100, 20, Color.new(102,204,255))
  67.   end
  68. end
  69.  
  70. # 子菜单管理器
  71. #  其实是场景我会瞎说?
  72. class Window_WithSub
  73.   attr_reader :x,:y       # 坐标
  74.   attr_reader :index      # 当前光标位置
  75.   attr_reader :windows    # 窗口数组
  76.   attr_reader :value      # 传参借位
  77.   attr_reader :methd      # 方法数组
  78.   # hash 格式:
  79.   #{ :command1 => method(:symbol1),
  80.   #  :command2 => { :command21 => method(:symbol2) } }
  81.   def initialize(x, y, hash, &block)
  82.     @x,@y,@index = x,y,0
  83.     @last = @index
  84.     instance_eval(&block) if block_given?
  85.     @windows,@methd = [],[]
  86.     create_windows(hash)
  87.     main
  88.   end
  89.   def main
  90.     loop do
  91.       Graphics.update
  92.       Input.update
  93.       break dispose if Input.trigger?(:LEFT)
  94.       update
  95.     end
  96.   end
  97.   def create_windows(hash)
  98.     hash.each do |key, value|
  99.       if (value.is_a? Method)||(value.is_a? Symbol)
  100.         @windows.push(new_window(key, value))
  101.       elsif value.is_a? Hash
  102.         @value = value
  103.         @windows.push(new_window(key, method(:new_sub)))
  104.       end
  105.     end
  106.   end
  107.   def new_sub
  108.     Window_WithSub.new(self.x+60, self.y+40, @value)
  109.   end
  110.   def new_window(sym, obj)
  111.     w = Sub_Window.new(self.x, self.y + 48 * @windows.size)
  112.     if obj.is_a? Method
  113.       w.setup(sym.to_s)
  114.       @methd[@windows.size] = obj
  115.     elsif obj.is_a? Symbol
  116.       w.setup("" , obj)
  117.       @methd[@windows.size] = ->{}
  118.     end
  119.     return w
  120.   end
  121.   def update
  122.     if Input.trigger?(:UP)
  123.       Sound.play_cursor
  124.       @index == 0 ? @index = @windows.size-1 : @index -= 1
  125.     elsif Input.trigger?(:DOWN)
  126.       Sound.play_cursor
  127.       @index == @windows.size-1 ? @index = 0 : @index += 1
  128.     elsif Input.trigger?(:RIGHT)
  129.       if @methd[@index].inspect == "#<Method: Game_Interpreter#m1>"
  130.         Sound.play_buzzer
  131.       else
  132.         Sound.play_ok
  133.         @methd[@index].call
  134.       end
  135.     elsif Input.trigger?(:LEFT)
  136.       Sound.play_cancel
  137.     end
  138.     @windows.each { |w| w.update }
  139.     activate(@windows[@index])
  140.     if @last != @index
  141.       @last = @index
  142.     end
  143.   end
  144.   def dispose
  145.     @windows.each { |w| w.dispose }
  146.   end
  147.   def activate(window)
  148.     @windows.each_with_index do |w,i|
  149.       w.cursor_rect.empty
  150.       w.cursor_rect.set(Rect.new(0, 0, 104, 24)) if w == window
  151.     end
  152.   end
  153. end
  154.  
  155. class Game_Interpreter
  156.   def m1;end
  157.   def callsubw
  158.     subw = Window_WithSub.new(60, 60, {
  159.       :物品 => method(:m1),
  160.       :装备 => method(:m1),
  161.       :技能 => method(:m1),
  162.       :状态 => method(:m1),
  163.       :笔记 => method(:m1),
  164.       :系统 => {
  165.         :音乐 => { :var => :bar },
  166.         :音效 => method(:m1),
  167.         :读档 => method(:m1),
  168.         :标题 => method(:m1)},
  169.       :读档 => method(:m1),
  170. })
  171.   end
  172. end


我还是太年轻了
以及颜文字功能好像有bug的说搞基编辑模式下按颜文字会清空已编辑的内容

点评

在水区发布,就是想触人,以及回收膝盖~~~  发表于 2014-7-20 09:51

评分

参与人数 2星屑 +60 收起 理由
vince3725 + 30 精品文章
VIPArcher + 30 这是今天的30新鲜膝盖,还请收好.

查看全部评分


  -fk: -azogi:

Lv3.寻梦者 (版主)

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

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

开拓者贵宾

2
发表于 2014-7-20 08:48:07 | 只看该作者
大触收下我的膝盖
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
68
在线时间
585 小时
注册时间
2013-5-25
帖子
1524
3
发表于 2014-7-20 08:52:52 | 只看该作者
大触收下我的膝盖

来水区都是大触
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
69
在线时间
171 小时
注册时间
2014-7-13
帖子
1567
4
发表于 2014-7-20 08:56:00 | 只看该作者
大触收下我的膝盖
Demon系列

在我面前颤抖吧,凡人
我走过我们人生的一半旅程,却又步入一片幽暗的森林,这是因为我迷失了正确的路径。啊!这森林是多么荒野,多么险恶,多么举步维艰!道出这景象又是多么困难!现在想起也仍会毛骨悚然。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
191 小时
注册时间
2011-7-16
帖子
1102
5
发表于 2014-7-20 09:03:51 | 只看该作者
嘛……我连看都看不懂脚本内容啦~大大请不要妄自菲薄哦
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
263
在线时间
1575 小时
注册时间
2010-6-17
帖子
2892

开拓者贵宾

6
发表于 2014-7-20 09:10:46 | 只看该作者
大触请收下我的膝盖
快来点我一下,你会豁然开朗的
喵Kano特制
←开发中……

←暂时弃坑 电脑上资源全没
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
1
星屑
6636
在线时间
2650 小时
注册时间
2013-8-23
帖子
2315

开拓者

7
发表于 2014-7-20 09:32:15 | 只看该作者

大触收下我的膝盖
回复 支持 反对

使用道具 举报

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
8
发表于 2014-7-20 10:22:14 | 只看该作者
用图片做底效果不差
这么快都有人收藏了!!!我的帖子就没见有人收藏过( ̄︿ ̄)

点评

咦居然有人收藏  发表于 2014-7-20 10:29
你可以自己收藏……  发表于 2014-7-20 10:24
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
560
在线时间
1286 小时
注册时间
2011-6-14
帖子
4086
9
发表于 2014-7-20 10:36:51 | 只看该作者
难道这个帖子就是你写的(?

点评

上面的脚本拉到最后一行看看  发表于 2014-7-20 10:44
窝这是看到这个菜单然后写粗来....  发表于 2014-7-20 10:43
回复 支持 反对

使用道具 举报

Lv2.观梦者

故九江太守

梦石
0
星屑
612
在线时间
2167 小时
注册时间
2012-12-5
帖子
4464
10
发表于 2014-7-20 11:05:17 | 只看该作者
这就是昨晚触手们研究的结果吗

点评

这只是在下研究的= =  发表于 2014-7-20 12:10
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-20 07:21

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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