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

[转载发布] RGSS1的Window类试写

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

    连续签到: 4 天

    [LV.6]常住居民II

    2338

    主题

    403

    回帖

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    6
    卡币
    10632
    OK点
    16
    推广点
    0
    同能卷
    0
    积分
    13401

    灌水之王

    发表于 2024-4-19 19:34:27 | 显示全部楼层 |阅读模式
    很多人都试写过Window类,不过很多地方没考虑到
    F1中说Window类内部由大量精灵构成,所以试写如下,不过经过本人"鉴定",
    Window类内部由大量精灵构成
    是错的,因为这样太耗内存了...
    好像有bug...[code]#==============================================================================# ■ Window#------------------------------------------------------------------------------#  游戏中全部窗口的超级类。 伪.源代码#==============================================================================class Window  #--------------------------------------------------------------------------  # ● 定义实例变量  #--------------------------------------------------------------------------  attr_reader                 :stretch  attr_reader                 :windowskin  attr_reader                 :width  attr_reader                 :height  attr_reader                 :contents  attr_reader                 :active  attr_reader                 :pause  attr_reader                 :visible   attr_reader                 :opacity  attr_reader                 :back_opacity   attr_reader                 :contents_opacity  attr_reader                 :cursor_rect  attr_reader                 :x  attr_reader                 :y  attr_reader                 :ox  attr_reader                 :oy  attr_reader                 :z  #--------------------------------------------------------------------------  # ● 初始化对像  #--------------------------------------------------------------------------  def initialize(viewport=Viewport.new(0,0,640,480))    @disposed   = false    @width      = 64    @height     = 64    @x          = 0    @y          = 0    @ox         = 0    @oy         = 0    @z          = 0    @viewport1  = viewport    @_frame     = Sprite.new(@viewport1)    @_back      = Sprite.new(@viewport1)    @_cursor    = Sprite.new(@viewport1)    @_pause     = Sprite.new(@viewport1)    @viewport2  = Viewport.new(self.x+16,self.y+16,self.width-32,self.height-32)    @_content   = Sprite.new(@viewport2)    @cursor_rect= Rect.new(0,0,0,0)    @active     = true    self.stretch= true    @pause      = false    @up_bitmap  = Bitmap.new(16,16)    @dn_bitmap  = Bitmap.new(16,16)    @lt_bitmap  = Bitmap.new(16,16)    @rt_bitmap  = Bitmap.new(16,16)    @_up        = Sprite.new(@viewport1)    @_dn        = Sprite.new(@viewport1)    @_lt        = Sprite.new(@viewport1)    @_rt        = Sprite.new(@viewport1)    @_up.bitmap = @up_bitmap    @_dn.bitmap = @dn_bitmap    @_lt.bitmap = @lt_bitmap    @_rt.bitmap = @rt_bitmap    @_up.visible= @_dn.visible = @_lt.visible = @_rt.visible = false    @_up.ox     = @_dn.ox = @_lt.ox = @_rt.ox = 8    @_up.oy     = @_dn.oy = @_lt.oy = @_rt.oy = 8    @opacity          = 255    @back_opacity     = 255    @contents_opacity = 255    #    @cursor_bitmap = Bitmap.new(32,32)    @pause_bitmap  = (0..3).inject([]){|a,i|a rect.width  end  #--------------------------------------------------------------------------  # ● 壁纸显示方法  #--------------------------------------------------------------------------  def stretch=(stretch)    if @disposed      raise(RGSSError,"disposed window")    else      @stretch = stretch      show_back    end  end  #--------------------------------------------------------------------------  # ● 壁纸显示方法 更换  #    为了严谨,窗口周围缩小了 2 像素大小。这是为了能自然地看见圆角形窗口。  #--------------------------------------------------------------------------  def show_back    skin_explain    return if self.height
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

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

    本版积分规则

    关闭

    幸运抽奖

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

    立即查看

    聊天机器人
    Loading...

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

    GMT+8, 2025-3-15 04:36 , Processed in 0.135889 second(s), 53 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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