设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3987|回复: 12
打印 上一主题 下一主题

人物脚下阴影

 关闭 [复制链接]

Lv5.捕梦者

御灵的宠物

梦石
12
星屑
8438
在线时间
88 小时
注册时间
2006-12-11
帖子
3148

第2届TG大赛亚军

跳转到指定楼层
1
发表于 2008-3-7 05:19:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
在新手区看到这个问题就写了。

  1. #X,Y,宽度,高度的偏移值
  2. FIX_X = 0
  3. FIX_Y = 0
  4. FIX_WIDTH = 0
  5. FIX_HEIGHT = 0

  6. class Sprite_Character < RPG::Sprite
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #     viewport  : 查看端口
  10.   #     character : 角色 (Game_Character)
  11.   #--------------------------------------------------------------------------
  12.   alias new_initialize initialize
  13.     def initialize(viewport, character = nil)
  14.       @shadow = Sprite.new(viewport)
  15.       new_initialize(viewport, character)
  16.     end
  17.   def dispose
  18.     @shadow.dispose
  19.     super
  20.   end
  21.   #--------------------------------------------------------------------------
  22.   # ● 更新画面
  23.   #--------------------------------------------------------------------------
  24.   alias new_update update
  25.   def update
  26.       # 元件 ID 为有效值的情况下
  27.       if @character.tile_id < 384
  28.         tmp_bitmap = RPG::Cache.character(@character.character_name,
  29.           @character.character_hue)
  30.         @shadow.bitmap = Bitmap.new(tmp_bitmap.width/4, tmp_bitmap.height/8)
  31.         @shadow.bitmap.draw_oval(0,0,tmp_bitmap.width/4+FIX_WIDTH,tmp_bitmap.height/8+FIX_HEIGHT,Color.new(0,0,0,64))
  32.       end
  33.     new_update
  34.     @shadow.visible = self.visible
  35.     @shadow.opacity = self.opacity
  36.     @shadow.z = self.z-1
  37.     @shadow.x = self.x - self.bitmap.width/8 + FIX_X
  38.     @shadow.y = self.y - @shadow.bitmap.height/8 - self.y / 20 + FIX_Y
  39.   end
  40. end
复制代码

  1. class Bitmap
  2. # 描绘椭圆
  3. # 在矩形(x, y, width, height)里,用色color(Color)描绘椭圆。
  4. def draw_oval(x, y, width, height, color)
  5.    a = width / 2
  6.    b = height / 2
  7.    x += a
  8.    y += b
  9.    xmax = a * 4 / 5 #这里可以进行更改
  10.    xmin = -xmax
  11.    ymax = (Math.sqrt((1 - xmax**2 / a**2.to_f) * b**2)).round
  12.    ymin = -ymax
  13.    for mx in xmin..xmax
  14.      my = Math.sqrt((1 - mx**2 / a**2.to_f) * b**2)
  15.      fill_rect(mx+x, -my+y, 1, my*2,color)
  16.    end
  17.    for my in ymin..ymax
  18.      mx = Math.sqrt((1 - my**2 / b**2.to_f) * a**2)
  19.      fill_rect(-mx+x, my+y, mx*2, 1,color)
  20.    end
  21. end
  22. end
复制代码


椭圆很难看,算法问题。= =

              [本贴由 风雪优游 于 2008-4-5 20:54:45 进行了编辑]
我的Lofter:http://nightoye.lofter.com/

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

2
发表于 2008-3-7 05:24:08 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv5.捕梦者

御灵的宠物

梦石
12
星屑
8438
在线时间
88 小时
注册时间
2006-12-11
帖子
3148

第2届TG大赛亚军

3
 楼主| 发表于 2008-3-7 05:27:06 | 只看该作者
对。那个我忘记删除掉了= =
哎……本来要改也不是不可以……只是懒得改……

飘去做作业
我的Lofter:http://nightoye.lofter.com/

回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

4
发表于 2008-3-7 06:09:07 | 只看该作者
娘娘疏漏于此:

      @shadow = Sprite.new(viewport)
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

御灵的宠物

梦石
12
星屑
8438
在线时间
88 小时
注册时间
2006-12-11
帖子
3148

第2届TG大赛亚军

5
 楼主| 发表于 2008-3-7 06:25:26 | 只看该作者
我刚刚就想到这个=       =
其实之前压根不知道一个viewport里也可以有z值差异的……
啊啊啊你居然在我自己修改之前说出来了(指)
我的Lofter:http://nightoye.lofter.com/

回复 支持 反对

使用道具 举报

Lv1.梦旅人

彩色的银子

梦石
0
星屑
50
在线时间
190 小时
注册时间
2006-6-13
帖子
1361

贵宾

6
发表于 2008-3-7 15:33:13 | 只看该作者
其实那个影子可以用图片代替的啊…何苦一定要用程序画呢…
-.-
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

7
发表于 2008-3-7 15:48:21 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv5.捕梦者

御灵的宠物

梦石
12
星屑
8438
在线时间
88 小时
注册时间
2006-12-11
帖子
3148

第2届TG大赛亚军

8
 楼主| 发表于 2008-3-7 22:28:01 | 只看该作者
以下引用神思于2008-3-7 7:33:13的发言:
其实那个影子可以用图片代替的啊…何苦一定要用程序画呢…

因为楼主有病= =bb
TO LS:可能用了地形标志?
我的Lofter:http://nightoye.lofter.com/

回复 支持 反对

使用道具 举报

Lv1.梦旅人

不画画就死星人

梦石
0
星屑
171
在线时间
1819 小时
注册时间
2007-6-14
帖子
3220
9
发表于 2008-3-8 00:57:46 | 只看该作者
呃...问一下楼主
如果用到重力脚本 影子会随角色跳跃而跳跃吗?
渣绘关注慎重
[url=http://www.pixiv.net/member.php?id=1160389][color=DimGray]http://www.pixiv.net/member.php?id=1160389[/color][/url]
回复 支持 反对

使用道具 举报

Lv5.捕梦者

御灵的宠物

梦石
12
星屑
8438
在线时间
88 小时
注册时间
2006-12-11
帖子
3148

第2届TG大赛亚军

10
 楼主| 发表于 2008-3-8 01:59:30 | 只看该作者
明显不会……
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-4-5 02:05

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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