扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 112|回复: 0

[转载发布] 遮挡半透明 2015.2.27更新

[复制链接]
累计送礼:
0 个
累计收礼:
0 个
  • TA的每日心情
    开心
    昨天 18:01
  • 签到天数: 114 天

    连续签到: 4 天

    [LV.6]常住居民II

    2339

    主题

    404

    回帖

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    6
    卡币
    10635
    OK点
    16
    推广点
    0
    同能卷
    0
    积分
    13406

    灌水之王

    发表于 2024-4-19 22:51:30 | 显示全部楼层 |阅读模式
    之前版本 如果地图做大一点,就会发现 有明显BUG!!
    此类效果最好还是新加一个活动块吧?!

    比如在Spriteset_Map
    # 生成角色活动块 那里
    加上一行
    @character_sprites.push(Sprite_Character_Cover.new(@viewport1, $game_player))

    简单修改(透明度,Z,不显示动画等)
    @character @sprite @viewport  @tile_id @cw @ch
    RUBY 代码
    1. #==============================================================================
    2. # ■ Sprite_Character_Cover
    3. #------------------------------------------------------------------------------
    4. #  遮挡半透明覆盖用
    5. #==============================================================================
    6. class Sprite_Character_Cover < Sprite
    7.   #--------------------------------------------------------------------------
    8.   # ● 定义实例变量
    9.   #--------------------------------------------------------------------------
    10.   attr_accessor :character                # 角色
    11.   #--------------------------------------------------------------------------
    12.   # ● 初始化对像
    13.   #     viewport  : 查看端口
    14.   #     character : 角色 (Game_Character)
    15.   #--------------------------------------------------------------------------
    16.   def initialize(viewport, character = nil)
    17.     super(viewport)
    18.     @character = character
    19.     update
    20.   end
    21.   #--------------------------------------------------------------------------
    22.   # ● 更新画面
    23.   #--------------------------------------------------------------------------
    24.   def update
    25.     super
    26.     # 元件 ID、文件名、色相与现在的情况存在差异的情况下
    27.     if@tile_id != @character.tile_idor
    28.        @character_name != @character.character_nameor
    29.        @character_hue != @character.character_hue
    30.       # 记忆元件 ID 与文件名、色相
    31.       @tile_id = @character.tile_id
    32.       @character_name = @character.character_name
    33.       @character_hue = @character.character_hue
    34.       # 元件 ID 为有效值的情况下
    35.       #if @tile_id >= 384
    36.       #  self.bitmap = RPG::Cache.tile($game_map.tileset_name,
    37.       #    @tile_id, @character.character_hue)
    38.       #  self.src_rect.set(0, 0, 32, 32)
    39.       #  self.ox = 16
    40.       #  self.oy = 32
    41.       # 元件 ID 为无效值的情况下
    42.       #else
    43.         self.bitmap = RPG::Cache.character(@character.character_name,
    44.           @character.character_hue)
    45.         @cw = bitmap.width / 4
    46.         @ch = bitmap.height / 4
    47.         self.ox = @cw / 2
    48.         self.oy = @ch
    49.       #end
    50.     end
    51.     # 设置可视状态
    52.     self.visible = (not@character.transparent)
    53.     # 图形是角色的情况下
    54.     #if @tile_id == 0
    55.       # 设置传送目标的矩形
    56.       sx = @character.pattern * @cw
    57.       sy = (@character.direction - 2) / 2 * @ch
    58.       self.src_rect.set(sx, sy, @cw, @ch)
    59.     #end
    60.     # 设置脚本的坐标
    61.     self.x = @character.screen_x
    62.     self.y = @character.screen_y
    63.     self.z = @character.screen_z(@ch) + 999
    64.     # 设置不透明度、合成方式、茂密
    65.     self.opacity = @character.opacity / 2
    66.     self.blend_type = @character.blend_type
    67.     self.bush_depth = @character.bush_depth
    68.     # 动画
    69.     #if @character.animation_id != 0
    70.     #  animation = $data_animations[@character.animation_id]
    71.     #  animation(animation, true)
    72.     #  @character.animation_id = 0
    73.     #end
    74.   end
    75. end
    复制代码

                 本帖来自P1论坛作者恐惧剑刃,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=368923  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

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

    GMT+8, 2025-3-15 14:28 , Processed in 0.132073 second(s), 57 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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