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

Project1

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

[RMXP发布] 新人的脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
47
在线时间
366 小时
注册时间
2012-10-6
帖子
221
跳转到指定楼层
1
发表于 2012-10-20 19:43:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
以下是我写的脚本。 我是新手,希望各位大神提提意见 这个脚本只是是显示自定义皮肤的菜单。
#==============================================================================
# ■ 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][email protected]
      @ButtionArray[i][email protected]+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

Lv2.观梦者

故九江太守

梦石
0
星屑
342
在线时间
2118 小时
注册时间
2012-12-5
帖子
4438
2
发表于 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][email protected]
  34.       @ButtionArray[i][email protected]+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
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-22 18:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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