查看: 3686|回复: 1

[RMXP发布] 新人的脚本

[复制链接]
梦石
0
星屑
47
在线时间
366 小时
注册时间
2012-10-6
回帖
188
发表于 2012-10-20 19:43:56 | 显示全部楼层 |阅读模式

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

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

×
以下是我写的脚本。 我是新手,希望各位大神提提意见 这个脚本只是是显示自定义皮肤的菜单。
#==============================================================================
# ■ My_Window
#------------------------------------------------------------------------------
# 自己定义的窗口类,用于显示窗口在画面上继承自Sprite类。
#==============================================================================
class My_Window
  @WindowSkin          #窗口皮肤
  
  @ButtionSkin         #按钮皮肤
  
  @ButtionActiveSkin   #按钮被选中状态下皮肤
  
  @StaticSkin          #静态文本的皮肤
  
  @ItemNumber          #窗口中按钮的个数
  
  @Index               #被选中按钮的编号,从零开始编号
  
  @ButtionArray
  def initialize(commands,item_number) #局部变量约定小写
    @WindowSkin=Sprite.new                     #窗口皮肤
    @WindowSkin.bitmap=Bitmap.new(commands[0])
    @WindowSkin.x=120                           #窗口位置
    @WindowSkin.y=120
    @ButtionSkin =Bitmap.new(commands[1])       #按钮皮肤
    @ButtionActiveSkin=Bitmap.new(commands[2])  #按钮被选中时的皮肤
    @ItemNumber=item_number                     #按钮的个数
    @Index=0                                    #被选中按钮的编号
    @ButtionArray=Array.new item_number,Sprite  #按钮的数组
    for i in 0... item_number
      @ButtionArray[i]=Sprite.new
      @ButtionArray[i].bitmap=@ButtionSkin
      @ButtionArray[i].x=@WindowSkin.x
      @ButtionArray[i].y=@WindowSkin.y+i*50-10  #按钮的位置根据需要自己调
    end
  end
  
  def update                                    #按钮添加响应
    if(Input.repeat?(Input::DOWN))              #按下向下的按钮
      @ButtionArray[@Index].bitmap=@ButtionSkin #把当前按钮的皮肤改为不被选中的状态
      if(@Index==@ItemNumber-1)                 #如果按钮到最后一个 则把编号赋值为第一个
        @Index=0                                #程序中编号一般从0开始
      else
        @Index=@Index+1
      end
    end
    if(Input.repeat?(Input::UP))
      @ButtionArray[@Index].bitmap=@ButtionSkin
      if(@Index==0)
        @Index=@ItemNumber-1
      else
        @Index=@Index-1
      end
   
    end
    @ButtionArray[@Index].bitmap=@ButtionActiveSkin #键盘响应结束
                                                    #按钮状态改为选中状态
  end
   
end

故九江太守

梦石
0
星屑
314
在线时间
2158 小时
注册时间
2012-12-5
回帖
4323
发表于 2013-3-8 13:28:58 | 显示全部楼层
用代码框弄起来吧!
  1. #==============================================================================
  2. # ■ My_Window
  3. #------------------------------------------------------------------------------
  4. # 自己定义的窗口类,用于显示窗口在画面上继承自Sprite类。
  5. #==============================================================================
  6. class My_Window
  7.   @WindowSkin          #窗口皮肤
  8.   
  9.   @ButtionSkin         #按钮皮肤
  10.   
  11.   @ButtionActiveSkin   #按钮被选中状态下皮肤
  12.   
  13.   @StaticSkin          #静态文本的皮肤
  14.   
  15.   @ItemNumber          #窗口中按钮的个数
  16.   
  17.   @Index               #被选中按钮的编号,从零开始编号
  18.   
  19.   @ButtionArray
  20.   def initialize(commands,item_number) #局部变量约定小写
  21.     @WindowSkin=Sprite.new                     #窗口皮肤
  22.     @WindowSkin.bitmap=Bitmap.new(commands[0])
  23.     @WindowSkin.x=120                           #窗口位置
  24.     @WindowSkin.y=120
  25.     @ButtionSkin =Bitmap.new(commands[1])       #按钮皮肤
  26.     @ButtionActiveSkin=Bitmap.new(commands[2])  #按钮被选中时的皮肤
  27.     @ItemNumber=item_number                     #按钮的个数
  28.     @Index=0                                    #被选中按钮的编号
  29.     @ButtionArray=Array.new item_number,Sprite  #按钮的数组
  30.     for i in 0... item_number
  31.       @ButtionArray[i]=Sprite.new
  32.       @ButtionArray[i].bitmap=@ButtionSkin
  33.       @ButtionArray[i].x=@WindowSkin.x
  34.       @ButtionArray[i].y=@WindowSkin.y+i*50-10  #按钮的位置根据需要自己调
  35.     end
  36.   end
  37.   
  38.   def update                                    #按钮添加响应
  39.     if(Input.repeat?(Input::DOWN))              #按下向下的按钮
  40.       @ButtionArray[@Index].bitmap=@ButtionSkin #把当前按钮的皮肤改为不被选中的状态
  41.       if(@Index==@ItemNumber-1)                 #如果按钮到最后一个 则把编号赋值为第一个
  42.         @Index=0                                #程序中编号一般从0开始
  43.       else
  44.         @Index=@Index+1
  45.       end
  46.     end
  47.     if(Input.repeat?(Input::UP))
  48.       @ButtionArray[@Index].bitmap=@ButtionSkin
  49.       if(@Index==0)
  50.         @Index=@ItemNumber-1
  51.       else
  52.         @Index=@Index-1
  53.       end
  54.    
  55.     end
  56.     @ButtionArray[@Index].bitmap=@ButtionActiveSkin #键盘响应结束
  57.                                                     #按钮状态改为选中状态
  58.   end
  59.    
  60. end
复制代码
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部