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

Project1

 找回密码
 注册会员
搜索

描绘一个角色的窗口怎样写?

查看数: 1537 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2012-7-24 10:38

正文摘要:

描绘一个角色的窗口:这个窗口显示此角色的行走图的第一行的循环 【此角色在数据库中的行走图的第一行的循环】本人愚昧,可能表达不清.我发张图片吧 红色圈到的地方也就是角色的图形【玩过梦幻的都知道......】能不 ...

回复

jiahui5592986 发表于 2012-7-24 15:02:44
七夕小雨 发表于 2012-7-24 14:33
上传你data下面的Scripts.rxdata 我来看看吧

...这个有点秘密性.所以...我想办法让你收到吧
七夕小雨 发表于 2012-7-24 14:33:52
上传你data下面的Scripts.rxdata 我来看看吧
jiahui5592986 发表于 2012-7-24 14:31:55
七夕小雨 发表于 2012-7-24 14:17
范例传送门:
http://115.com/file/e72i3syz

再次表示愚昧.脚本是脚本工临走时甩给额的......所以我只是在他的脚本上修改下.小雨大大我能和你详细的说下么.自己表示无法实现自己理想的功能......
七夕小雨 发表于 2012-7-24 14:17:45
本帖最后由 七夕小雨 于 2012-7-24 14:18 编辑

范例传送门:
http://115.com/file/e72i3syz

使用菜单中的状态。就可以看到效果

这里给你做了一个范例
也顺便发现了自己口述过程中的一点小问题

主要看看Window_Status

这里定义了draw_actor_graphicEX

并且在refresh替换为draw_actor_graphicEX
然后在后面重写了父类的update方法
我都写好了注释,可以自己看看
===========================================
再者看看
Scene_Status

由于没有对Window_Status刷新,所以在Scene的update中调用了窗口的update方法。

我相信你已经写出那么复杂的窗口,这点小问题,你可以随便搞定的
jiahui5592986 发表于 2012-7-24 13:37:15
七夕小雨 发表于 2012-7-24 10:58
0 0  Window_Base 下面有个 draw_actor_graphic这样的方法

可以把他的抄下来0 0定义一个

好深奥...........那如果要第一行所有位置的循环呢?动起来会比较好看对啦/
七夕小雨 发表于 2012-7-24 10:58:50
本帖最后由 七夕小雨 于 2012-7-24 11:00 编辑

0 0  Window_Base 下面有个 draw_actor_graphic这样的方法

可以把他的抄下来0 0定义一个
draw_actor_graphicEX
方法如下:
  1. def draw_actor_graphicEX(actor, x, y,row=0)
  2.     bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
  3.     cw = bitmap.width / 4
  4.     ch = bitmap.height / 4
  5.     src_rect = Rect.new(row * cw, 0, cw, ch)
  6.     self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
  7.   end
复制代码
使用方法0 0
draw_actor_graphicEX(actor, x, y,0) #显示第一行第一个位置
draw_actor_graphicEX(actor, x, y,1) #显示第一行第二个位置
draw_actor_graphicEX(actor, x, y,2) #显示第一行第三个位置
draw_actor_graphicEX(actor, x, y,3) #显示第一行第四个位置
draw_actor_graphicEX(actor, x, y,4) #0 0什么都显示不出来

所以窗口每次refresh的时候重新填一下参数就好了 如
draw_actor_graphicEX(actor, x, y,@row_index)
@row_index = @row_index > 2 ? @row_index + 1 : 0

然后重写update,每隔一段时间调用refresh就好了

评分

参与人数 1星屑 +200 收起 理由
hcm + 200 感谢回答

查看全部评分

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

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

GMT+8, 2024-11-27 05:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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