赞 | 8 |
VIP | 1 |
好人卡 | 6 |
积分 | 204 |
经验 | 289801 |
最后登录 | 2022-6-2 |
在线时间 | 88 小时 |
Lv5.捕梦者 御灵的宠物
- 梦石
- 12
- 星屑
- 8438
- 在线时间
- 88 小时
- 注册时间
- 2006-12-11
- 帖子
- 3148

|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
在新手区看到这个问题就写了。
- #X,Y,宽度,高度的偏移值
- FIX_X = 0
- FIX_Y = 0
- FIX_WIDTH = 0
- FIX_HEIGHT = 0
- class Sprite_Character < RPG::Sprite
- #--------------------------------------------------------------------------
- # ● 初始化对像
- # viewport : 查看端口
- # character : 角色 (Game_Character)
- #--------------------------------------------------------------------------
- alias new_initialize initialize
- def initialize(viewport, character = nil)
- @shadow = Sprite.new(viewport)
- new_initialize(viewport, character)
- end
- def dispose
- @shadow.dispose
- super
- end
- #--------------------------------------------------------------------------
- # ● 更新画面
- #--------------------------------------------------------------------------
- alias new_update update
- def update
- # 元件 ID 为有效值的情况下
- if @character.tile_id < 384
- tmp_bitmap = RPG::Cache.character(@character.character_name,
- @character.character_hue)
- @shadow.bitmap = Bitmap.new(tmp_bitmap.width/4, tmp_bitmap.height/8)
- @shadow.bitmap.draw_oval(0,0,tmp_bitmap.width/4+FIX_WIDTH,tmp_bitmap.height/8+FIX_HEIGHT,Color.new(0,0,0,64))
- end
- new_update
- @shadow.visible = self.visible
- @shadow.opacity = self.opacity
- @shadow.z = self.z-1
- @shadow.x = self.x - self.bitmap.width/8 + FIX_X
- @shadow.y = self.y - @shadow.bitmap.height/8 - self.y / 20 + FIX_Y
- end
- end
复制代码
- class Bitmap
- # 描绘椭圆
- # 在矩形(x, y, width, height)里,用色color(Color)描绘椭圆。
- def draw_oval(x, y, width, height, color)
- a = width / 2
- b = height / 2
- x += a
- y += b
- xmax = a * 4 / 5 #这里可以进行更改
- xmin = -xmax
- ymax = (Math.sqrt((1 - xmax**2 / a**2.to_f) * b**2)).round
- ymin = -ymax
- for mx in xmin..xmax
- my = Math.sqrt((1 - mx**2 / a**2.to_f) * b**2)
- fill_rect(mx+x, -my+y, 1, my*2,color)
- end
- for my in ymin..ymax
- mx = Math.sqrt((1 - my**2 / b**2.to_f) * a**2)
- fill_rect(-mx+x, my+y, mx*2, 1,color)
- end
- end
- end
复制代码
椭圆很难看,算法问题。= =
[本贴由 风雪优游 于 2008-4-5 20:54:45 进行了编辑] |
|