66RPG
本站首页
制作教程
文章作品
制作素材
原创游戏区
周边下载
本站论坛
 ※ 站内搜索
栏 目:
方 式:
关键词:
  
 ※ 教程分类
 RMXP 图文教学
 初级教学
 中级教学
 高级教学
 个人创意与研究
 RMXP 录像教学
 新人入门录像
 零散录像教学
 商业素材使用录像 ★
 周边教学
 美工 与 音乐
 RMXP 脚本发布
 游戏系统修改
 地图效果类
 战斗系统相关
 全新系统类
 API与高难度类
 RMVX 制作教学
 RMVX 初级教学
 RMVX 中级教程
 RMVX 高级教程
 RMVX 综合制作展
 ※ 无图目录 (按点击量横排序)


-- 66RPG全内容文字目录 --


 ※ 近期特色教学
纸娃娃V0.1 ( 66RPG, RPG MAKER XP教程 )
 本站首页→制作教程→全新系统类

纸娃娃V0.1


教程作者:yangff
首发网址:点此进入本教学的原始帖
适宜用户:RMXP用户
技术通用度:★★★
技术应用复杂度:50 (满分150分)
学习的理解难度:50 (满分150分)

 作者的话:

看到很多养成游戏都有设计人物衣着的环节
据说超级浪费美工
现在,只需要个脚本,可以省很多力起
但是对素材的要求更高。
注意!图层的编号越高,那么他的z坐标越低
由于xp窗口大小不够,所以把大美观
总之,这个脚本对于真心想做一个好游戏的人来说才有价值
自动生成一个文件名为随机数的文件在角色图片目录,并记录文件名在$nn
A 键退出
Z 键保存退出

如果你对你的美工没有十足的把握,就会像范例里面一样,生成的东西有错位!!!
但是总比一张一张处理省力

不适用于加密游戏

版本号:0.1
环境号:1.03
主程序版本号:0.5
最后更新代码:M28Y60D821707

个人感觉放游戏里要在美化,操作这类上下点文章
这只是个框架
房子得最这盖!!!
放张图(最好的,但是素材没处理好,所以…………看图吧)

 教学正文:

#==============================================================================
# ■ Window_Command
#------------------------------------------------------------------------------
#  一般的命令选择行窗口。
#==============================================================================

class Window_Command < Window_Selectable
  attr_reader   :commands              # 帮助窗口
  def initialize(width, commands,h=0)
    # 由命令的个数计算出窗口的高
    h = commands.size * 32 + 32 if h == 0
    super(0, 0, width, h)
    @item_max = commands.size
    @commands = commands
    self.contents = Bitmap.new(width - 32, @item_max * 32)
    refresh
    self.index = 0
  end

end
class Scene_Wawa
  def main
    @lv = []
    @command_window = Window_Command.new(172,["新图层"],480)
    @file_list = Dir.glob("Graphics/Characters/maker/*")
    @command_window_1 = Window_Command.new(640-173,@file_list,480)
    @command_window_1.x = 173
    @command_window_1.active = false
    @index = 0
    # 停止演奏 ME、BGS
    Audio.me_stop
    Audio.bgs_stop
    # 执行过渡
    Graphics.transition
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 刷新画面
      update
      # 如果画面被切换就中断循环
      if $scene != self
        break
      end
    end
    # 装备过渡
    Graphics.freeze
    # 释放命令窗口
    @command_window.dispose
    @command_window_1.dispose
#    @command_window_2.dispose
  end
  def update
    @command_window.update
    @command_window_1.update
    if Input.trigger?(Input::C)
      case @index
      when 0
        if @command_window.commands[@command_window.index] == "新图层"
          @lv.push(Sprite.new)
          @lv[@lv.size-1].z = @lv.size+999
          @lv[@lv.size-1].y = 480-192-32
          @lv[@lv.size-1].bitmap = Bitmap.new(@file_list[0])
          a = @command_window.commands
          @command_window.dispose
          @command_window = Window_Command.new(172,["层" + a.size.to_s] + a,480)
          @command_window.index = 0
#          p "1"
        else
          @index = 1
          @command_window.active = false
          @command_window_1.active = true
        end
      when 1
 #       p "2"
        @lv[@command_window.index].bitmap = Bitmap.new(@file_list[@command_window_1.index])
        @index = 0
        @command_window_1.active = false
        @command_window.active = true
      end
    end
   
    if Input.trigger?(Input::B)
      case @index
      when 0
        if @command_window.commands[@command_window.index] == "新图层"
          p "error"
        else
          @command_window.commands.delete_at(@command_window.index)
          @lv[@command_window.index].dispose
          @lv.delete_at(@command_window.index)
          a = []
          for i in @command_window.commands
            a.push(i)
          end
          @command_window.dispose
          @command_window = Window_Command.new(172,a,480)
          @lv = ""
          a = []
          for i in @lv
            a.push(i)
          end
          @lv = a
        end
      when 1
        @index = 0
        @command_window_1.active = false
        @command_window.active = true
      end
    end
    if Input.trigger?(Input::A)
      $scene = Scene_Map.new
    end
    if Input.trigger?(Input::Z)
      a = Bitmap.new(128,192)
      for i in 0...@lv.size
        a.blt(0, 0, @lv[i].bitmap, Rect.new(0,0,128,192))
      end
      $nn = rand(1561)+1852
      a.save2png("Graphics/Characters/" + $nn.to_s + ".png")
     
    end
   
  end
end



关键字:纸娃娃

发布日期:2008-8-6 21:20:49 点击量:284


 上一篇:武器决定杀敌方式 v0.1
 下一篇:免DLL的输入法
关于我们
支援本站
友情连接
站点目录
站内搜索



WWW.66RPG.COM,2005-2013 ^o^

备案序号:京ICP备05035415号



 
Web www.66rpg.com bbs.66rpg.com