查看: 82|回复: 0

[转载发布] 角色移动拖尾

[复制链接]
  • TA的每日心情
    开心
    13 小时前
  • 签到天数: 37 天

    连续签到: 3 天

    [LV.5]常住居民I

    2028

    主题

    32

    回帖

    7260

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    0
    卡币
    5184
    OK点
    16
    积分
    7260
    发表于 同元一千年八月五日(秋) | 显示全部楼层 |阅读模式
    提问区有人求这效果思路 于是乎实现了下 对Sprite_Character略做改动就行了
    1. #==============================================================================# ■ 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    #####################添加数组 计时器    @canyingarr = []    [url=home.php?mod=space&uid=134219]@Time[/url] =0    ####################    update  end  #--------------------------------------------------------------------------  # ● 更新画面  #--------------------------------------------------------------------------  def update    super        ######################################   if [email protected]?     for i in @canyingarr       i.opacity -=15####影响拖尾长度       @canyingarr.delete(i) if i.opacity= 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      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)            #######################################      if @character.moving?&&@time ==0        a = Sprite.new(viewport)        a.bitmap = RPG::Cache.character(@character_name,@character_hue)        a.x = @character.screen_x        a.y = @character.screen_y        a.z = @character.screen_z(@ch)        a.ox = @cw / 2        a.oy = @ch        a.src_rect.set(sx, sy, @cw, @ch)        @canyingarr.push(a)      end      @time+=1      @time%=3###影响拖尾密度            ###########################################    end    # 设置脚本的坐标    self.x = @character.screen_x    self.y = @character.screen_y    self.z = @character.screen_z(@ch)    # 设置不透明度、合成方式、茂密    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  endend复制代码
    复制代码
                 本帖来自P1论坛作者yagami,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=347056  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。

    本帖子中包含更多资源

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

    x
    天天去同能,天天有童年!
    回复 论坛版权

    使用道具 举报

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

    本版积分规则

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2024-5-10 23:22 , Processed in 0.047405 second(s), 44 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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