幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2701|回复: 10

[RM2K&2K3] 我把自己的换装系统的思路说一下哈。。大家给意见哈

[复制链接]

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2007-9-9 12:39:38 | 显示全部楼层 |阅读模式
class Game_Character
  attr_accessor :show                     # 显示
  alias old_initialize initialize
  def initialize
    @show = true
    old_initialize
  end
end

# 优先级要调整

#==============================================================================
# ■ Sprite_Character
#------------------------------------------------------------------------------
#  角色显示用脚本。监视 Game_Character 类的实例、
# 自动变化脚本状态。
#==============================================================================

class Sprite_Character < RPG::Sprite
  #--------------------------------------------------------------------------
  # ● 定义实例变量
  #--------------------------------------------------------------------------
  attr_accessor :character                # 角色
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     viewport  : 查看端口
  #     character : 角色 (Game_Character)
  #--------------------------------------------------------------------------
  def initialize(viewport, character = nil)
    super(viewport)
    @character = character
   
    #===============================================
    @sprite = Sprite.new
    #===============================================
   
    update
  end
  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  def update
    super
   
    #===============================================
    @sprite.visible = @character.show
    #===============================================
   
    # 元件 ID、文件名、色相与现在的情况存在差异的情况下
    if @tile_id != @character.tile_id or
       @character_name != @character.character_name or
       @character_hue != @character.character_hue
      # 记忆元件 ID 与文件名、色相
      @tile_id = @character.tile_id
      @character_name = @character.character_name
      @character_hue = @character.character_hue
      # 元件 ID 为有效值的情况下
      if @tile_id >= 384
        self.bitmap = RPG::Cache.tile($game_map.tileset_name,
          @tile_id, @character.character_hue)
        self.src_rect.set(0, 0, 32, 32)
        self.ox = 16
        self.oy = 32
      # 元件 ID 为无效值的情况下
      else
        self.bitmap = RPG::Cache.character(@character.character_name,
          @character.character_hue)
        @cw = bitmap.width / 4
        @ch = bitmap.height / 4
        self.ox = @cw / 2
        self.oy = @ch
        
        #===============================================
        @sprite.bitmap = RPG::Cache.character(@character.character_name,
          @character.character_hue)
        #===============================================
        
      end
    end
    # 设置可视状态
    self.visible = (not @character.transparent)
    # 图形是角色的情况下
    if @tile_id == 0
      # 设置传送目标的矩形
      sx = @character.pattern * @cw
      sy = (@character.direction - 2) / 2 * @ch
      self.src_rect.set(sx, sy, @cw, @ch)
      
      #===============================================
      @sprite.z = 999999999
      @sprite.src_rect.set(sx, sy, 32, 32)
      #===============================================
      
      
    end
    # 设置脚本的坐标
    self.x = @character.screen_x
    self.y = @character.screen_y
    self.z = @character.screen_z(@ch)
   
    #==========================================
    @sprite.x = self.x - 16
    @sprite.y = self.y - 48
    #==========================================
   
    # 设置不透明度、合成方式、茂密
    self.opacity = @character.opacity
    self.blend_type = @character.blend_type
    self.bush_depth = @character.bush_depth
    # 动画
    if @character.animation_id != 0
      animation = $data_animations[@character.animation_id]
      animation(animation, true)
      @character.animation_id = 0
    end
  end
  #--------------------------------------------------------------------------
  # ● 释放对象
  #--------------------------------------------------------------------------
  def dispose
    @sprite.dispose
    super
  end
end

这个脚本是实验时候弄的。。。一个初期的测试的
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
 楼主| 发表于 2007-9-9 12:43:48 | 显示全部楼层
不知道大家看没看过我问的一个问题

怎么能让现实图片只盖住下半身,,而盖不住上半身

这个就可以。。。只是优先级没有调整。。会出现人物  会比优先级是5的地图块优先显示

不知道有没有人看这个Z值的排列顺序。。



在此先说一下哈。。脚本是我朋友TD提供的。。因为那时候我对sprite.new很生疏。。。

很感谢TD
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
 楼主| 发表于 2007-9-9 12:49:46 | 显示全部楼层
接下来说说这个Z值哈。。

要不这个系统就会出现优先级的BUG阿

显示伤害 Z 是 3000

显示动画 Z 是 2000

天气          Z是  1000

构成元件地图的各精灵的 Z 座标是特定的固定值。

优先级为 0 的地图元件的 Z 座标必定是 0。
画面上端位置的优先级为 1 的地图元件的 Z 座标是 64。
优先级每增加 1,Z 座标增加 32。
元件地图纵向滚动的话,Z 座标也一起变化。
地图上显示的人物 Z 座标,必须先决定地图元件的 Z 座标。

别人告诉我显示图片   是200~800
  
以上,,不完全也不完整   都是我找来的

欢迎大家补充更正哈。。

1楼的脚本是试验品。。只加了1个sprite

换装的话。。得多几个。。注意调Z值

语无伦次的发布完毕 [s:5]
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
 楼主| 发表于 2007-9-9 12:52:36 | 显示全部楼层
忘了。。。这个东西似乎不应该发在这个区

斑竹转了吧。。。

不过,鄙人觉得这个区人来得相对较多。。。可否过段时间在转。。。 [s:7]

要不写了没人看就OTL了 [s:5]
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
 楼主| 发表于 2007-9-9 12:58:06 | 显示全部楼层
我又忘了。。。再补充。。。那个是思路。。

具体怎么把  装备和sprite连接起来请自己想办法把。。。

反正这个简单办法有的是。。。

补充完毕。

感冒了。。。难受。。。睡完午觉要学习去了
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

56

主题

2671

帖子

92

积分

超级版主

爆忙毒舌原画师仓鼠丸

Rank: 8Rank: 8

积分
92
QQ
发表于 2007-9-9 13:47:50 | 显示全部楼层
感兴趣中……换装系统的话可以自动生成新服装的人物运用在以后的游戏中么?
因金融危机失业,长期承接各种2D商业外包活 游戏人设 原画 游戏宣传图 游戏界面 像素 UI 动画 光效 魔法阵 场景 背景 纸娃娃 花纹边框 情景CG 图片处理 美术指导 男性向女性向双性向蔷薇向百合向宅向腐向正常向YAOI向全年龄向 承接漫画 插画 H漫 不H漫 漫画助理服务-_,-+
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
 楼主| 发表于 2007-9-9 13:51:57 | 显示全部楼层
那要有衣服的素材阿。。。这就是纸娃娃一样。。把各个部分拼接起来就可以了。。

A的头。B的衣服。C的裤子D的剑
只要有素材。。仿照上面的就可以拼到一起显示。。那不就是纸娃娃一样的效果了吗。。所以能实现还装的效果
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

35

主题

384

帖子

1万

积分

⑧专业

SOS团御用潜水员

积分
19589
QQ
发表于 2007-9-9 15:03:23 | 显示全部楼层
召唤版主大人,放到思路探讨或者RGSS编程版去都行,放在这版小白和脚本盲门受打击了。。。。 [s:5]
亲们~~~winged准备复活。。。。
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
 楼主| 发表于 2007-9-9 15:29:00 | 显示全部楼层
哦,对了,这个是当初为了实现别的东西而作的

看这个就知道了

        @sprite.bitmap = RPG::Cache.character(@character.character_name,
          @character.character_hue)

换装系统。。这个要改为。。装备素材的图片

那么怎么改。。怎么做。。就请自己思考了。。。

我懒。。自己的成品还在摇篮里。。。暂时搁浅。。。
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

好人卡的 该用户已被删除
发表于 2007-9-10 01:32:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-21 21:30 , Processed in 0.018657 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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