じ☆ve冰风 发表于 2026-1-20 08:55:53

rm萌旧的第一个脚本纪念。

由于失业原因,贴主回想起来以前特别喜欢的rmva(都6202年了,还有人学习rgss3。 ),
然后就开始了一系列学习,并写出了人生中第一个能跑的插件。
特此发帖纪念一下。
以下是原代码。(由于是新手,注释和书写都不是很规范,请见谅。)
如果有大佬帮忙指正最好了。有需要的同学可以自取。
1.利用rm引擎自带的方法实现了一个简易的截取当前场景作为战斗背景的小插件。
# 2026/1/19 修正了战斗测试时的bug
#修正图片释放问题。
class Spriteset_Battle
def initialize
    create_viewports
    create_battleback1
    create_enemies
    create_actors
    create_pictures
    create_timer
    update
end

def create_battleback1
    @back1_sprite=Sprite.new(@viewport1)
    @back1_sprite.bitmap= battleback1_bitmap
    @back1_sprite.z=0
    @back1_sprite.opacity=128
    center_sprite(@back1_sprite)
   end
def create_battleback2
end
# ● 生成由地图画面加工而来的战场背景
#--------------------------------------------------------------------------
def create_blurry_background_bitmap
    if $BTEST
      p "你执行了测试战斗"
      color_bg=Color.new(0,0,0)
      bitmap=Bitmap.new(Graphics.width, Graphics.height)
      bitmap.fill_rect(0,0,Graphics.width,Graphics.height,color_bg)
      bitmap
    else
    source = SceneManager.background_bitmap
   if source
       bitmap = Bitmap.new(Graphics.width, Graphics.height)
       bitmap.stretch_blt(bitmap.rect, source, source.rect)
       bitmap.blur
       bitmap
   end
    end
end
def battleback1_bitmap
    create_blurry_background_bitmap
end
   def update
    update_battleback1
    update_enemies
    update_actors
    update_pictures
    update_timer
    update_viewports
end
    # ● 释放战场背景的精灵(墙壁)
#--------------------------------------------------------------------------
def dispose_battleback2
   
end
def dispose_battleback1
    if @back1_sprite
      p "战斗背景图释放了"
      @back1_sprite.bitmap.dispose
      @back1_sprite.dispose
    end
end
end
2.为敌人添加了一个简易血条。(肥肠丑陋)
class Sprite_Enemy_Hp
页: [1]
查看完整版本: rm萌旧的第一个脚本纪念。