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

Project1

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

[已经解决] 请教一个菜单画面的问题,内详

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1357
在线时间
677 小时
注册时间
2009-11-11
帖子
2790
跳转到指定楼层
1
发表于 2010-9-10 20:36:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 summer92 于 2010-9-11 19:01 编辑

我想在菜单画面上(哪个画面都行)绘制角色的行走图,并且是原地踏步的状态
脚本达人帮忙瞄一瞄

Lv3.寻梦者

梦石
0
星屑
1357
在线时间
677 小时
注册时间
2009-11-11
帖子
2790
2
 楼主| 发表于 2010-9-11 10:31:52 | 只看该作者
给点提示呗,
我搜索到:drew_chactoer...
bitmap=Cake(人物文件名)
cw=4/12 #两种格式的行走图
ch=3/8 #横向?纵行分割
rect=Rect.new(............) 获取一桢大小
self.contents.blt(x,y,bitmap,rect) #创建图象

大致知道这个原理,可怎么写也没成功.而且图象不会动,- -实在不会才提问Y

嘿。嘿。嘿
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
299
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

3
发表于 2010-9-11 10:41:54 | 只看该作者
  1. #--------------------------------------------------------------------------
  2.   # ● 绘制行走图
  3.   #     character_name  : 行走图文件名
  4.   #     character_index : 行走图号码
  5.   #     x     : 描画目标 X 坐标
  6.   #     y     : 描画目标 Y 坐标
  7.   #--------------------------------------------------------------------------
  8.   def draw_character(character_name, character_index, x, y, x_n = 0, y_n = 0)
  9.     return if character_name == nil
  10.     bitmap = Cache.character(character_name)
  11.     sign = character_name[/^[\!\$]./]
  12.     if sign != nil and sign.include?('$')
  13.       cw = bitmap.width / 3
  14.       ch = bitmap.height / 4
  15.     else
  16.       cw = bitmap.width / 12
  17.       ch = bitmap.height / 8
  18.     end
  19.     n = character_index
  20.     src_rect = Rect.new((n%4*3+1+x_n)*cw, (n/4*4+y_n)*ch, cw, ch)
  21.     self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
  22.   end
复制代码
x_n y_n 自己调整。 需要动的话,在刷新里改这个两个值就可以了~~

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1357
在线时间
677 小时
注册时间
2009-11-11
帖子
2790
4
 楼主| 发表于 2010-9-11 10:54:23 | 只看该作者
3Q,
所以我在 Gold_window 里的 初始化里面
draw_character("actor_1",1,100,100) #actor_1.png有主角行走图那张 编号1应该有图象了把

杂还是只有一个金钱窗口,麻烦LS再给我指点指点,哪里写不对...

嘿。嘿。嘿
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
299
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

5
发表于 2010-9-11 11:07:04 | 只看该作者
坐标问题
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1357
在线时间
677 小时
注册时间
2009-11-11
帖子
2790
6
 楼主| 发表于 2010-9-11 11:11:30 | 只看该作者
恩,先回去试试,您确定像我上面那么写,出现人物图象了把

嘿。嘿。嘿
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
299
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

7
发表于 2010-9-11 11:25:19 | 只看该作者
自己去尝试下吧~~~

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1357
在线时间
677 小时
注册时间
2009-11-11
帖子
2790
8
 楼主| 发表于 2010-9-11 18:27:28 | 只看该作者
不行啊
这样有
<code>class Window_Gold < Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     x      : 窗口 X 座标
  #     y      : 窗口 Y 座标
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(40, 415, 160, WLH+32)
                                      @sprite2 = Sprite.new
    @sprite2.bitmap = Cache.system("actor1")
    self.opacity = 255
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    draw_currency_value($game_party.gold, 4, 0, 120)
  end
end</code>


这样就没有
<code>class Window_Gold < Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     x      : 窗口 X 座标
  #     y      : 窗口 Y 座标
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(40, 415, 160, WLH+32)
draw_character1("actor1",1,10,10,10,10) # 我改成了1
    self.opacity = 255
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    draw_currency_value($game_party.gold, 4, 0, 120)
  end
end</code>

ls你开RM写一个把,真不明白这个draw_character怎么用

嘿。嘿。嘿
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
70
在线时间
386 小时
注册时间
2007-7-27
帖子
4106

开拓者

9
发表于 2010-9-11 18:41:50 | 只看该作者
原地踏步还是不要用draw吧,draw不是很废时间吗……
建一个新sprite更好吧,ls你第一段代码就是用的sprite
为什么没有,是因为每次refresh的时候,把contents擦掉了
吸吸
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1357
在线时间
677 小时
注册时间
2009-11-11
帖子
2790
10
 楼主| 发表于 2010-9-11 18:44:17 | 只看该作者
用sprite 不会啊,想用默认做好的,就是不会使啊 ,自己写又得研究半天

self.contents.blt 这句,写成 bitmap.contents.blt(rect),死活都是错,我记得xp里是这样用没错啊
。。。。不会脚本真的。。

嘿。嘿。嘿
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-13 10:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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