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

Project1

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

[已经解决] 請問關於腳本對素材的定義~

[复制链接]

Lv4.逐梦者

梦石
0
星屑
5753
在线时间
1170 小时
注册时间
2011-12-18
帖子
1291
跳转到指定楼层
1
发表于 2013-11-10 04:15:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 sdgn 于 2013-11-10 11:21 编辑

請問腳本有沒有哪個地方是定義 物件/玩家腳色 的 中心點 的?
我想拿來寫觸碰或干涉的事件~

主要是說有打算使用 3D-H-7MODE 腳本~
所以還要宣告Z軸.....

Lv5.捕梦者

梦石
0
星屑
33442
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

2
发表于 2013-11-10 07:46:53 | 只看该作者
  1. x = self.x + self.bitmap.width / 2
  2. y = self.y + self.bitmap.height / 2
复制代码
唔~,大概好像是这样,但不能直接拿来用。

点评

抱歉~ Z軸能用self.bitmap 嗎?  发表于 2013-11-10 10:57
所以???  发表于 2013-11-10 10:26
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5753
在线时间
1170 小时
注册时间
2011-12-18
帖子
1291
3
 楼主| 发表于 2013-11-10 10:28:05 | 只看该作者
芯☆淡茹水 发表于 2013-11-10 07:46
唔~,大概好像是这样,但不能直接拿来用。

抱歉忘了說~ 我是要用在 H-7MODE
所以還有Z軸(確定我會用到).... OTZ

点评

自行建立3维坐标系,然后数据什么的在你自己的体系中处理,画的时候2维转2维这样……反正3D我不懂啦- -  发表于 2013-11-10 13:21
z是指他在屏幕上显示的优先级,和3D半毛钱关系都没有其实  发表于 2013-11-10 11:20
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
117
在线时间
552 小时
注册时间
2012-8-18
帖子
1429
4
发表于 2013-11-10 11:01:16 | 只看该作者
中心点?
每个Sprite都有一个ox oy 是坐标相对图片的xy
默认在Sprite左上角,可以改成在正中心
self.ox = self.bitmap.width / 2
self.oy = self.bitmap.height / 2
这样xy坐标都是相对于图片中心的了
当然 这需要深入到Sprite层

点评

不~ 我是要定義 腳色和各物件的 自身中心 或是在遊戲中佔用的大小  发表于 2013-11-10 13:32
是說3D的話 第3座標要怎麼辦?  发表于 2013-11-10 11:22
Z軸怎麼辦?  发表于 2013-11-10 11:19
我要填坑!我要背单词!我要学日语!我要每天锻炼!
好吧呵呵= =
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5753
在线时间
1170 小时
注册时间
2011-12-18
帖子
1291
5
 楼主| 发表于 2013-11-10 13:36:35 | 只看该作者
本帖最后由 sdgn 于 2013-11-10 23:13 编辑
无脑之人 发表于 2013-11-10 11:01
中心点?
每个Sprite都有一个ox oy 是坐标相对图片的xy
默认在Sprite左上角,可以改成在正中心


抱歉我是要定定義腳色和其他物件自身的中心~
並非要對地圖中心定位~
我是要用來判斷腳色和別的物件有無觸碰~
在預設畫面我是可以用事件或變亮來操作XY
但是換成3D就不能這樣做了.....
可以確定的是要另外自己寫不少腳本條件

点评

RUBY的渲染效率完全不适合做3D RGSS完全没3D的概念 RM里的Z坐标只是渲染顺序而已,与其用外来的3D脚本 不如直接用3D引擎做 类似U3D这种的  发表于 2013-11-10 14:06
触碰……我只能说……如果你能写出来那你差不多可以重写RM默认脚本了……而且重写的话也会更方便更灵活更适用……  发表于 2013-11-10 13:48
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
75
在线时间
37 小时
注册时间
2013-7-15
帖子
19
6
发表于 2013-11-12 21:41:05 | 只看该作者
在Sprite_Character里就有设置z轴大小的规则

"    self.z = @character.screen_z(@ch) "

它的计算方法在Game_Character 1中

"
  #--------------------------------------------------------------------------
  # ● 获取画面 Z 坐标
  #     height : 角色的高度
  #--------------------------------------------------------------------------
  def screen_z(height = 0)
    # 在最前显示的标志为 ON 的情况下
    if @always_on_top
      # 无条件设置为 999
      return 999
    end
    # 通过实际坐标和地图的显示位置来求得画面坐标
    z = (@real_y - $game_map.display_y + 3) / 4 + 32
    # 元件的情况下
    if @tile_id > 0
      # 元件的优先不足 * 32
      return z + $game_map.priorities[@tile_id] * 32
    # 角色的场合
    else
      # 如果高度超过 32 就判定为满足 31
      return z + ((height > 32) ? 31 : 0)
    end
  end
"

点评

感恩阿~ OTZ OTZ  发表于 2013-11-21 16:50

评分

参与人数 1星屑 +75 收起 理由
myownroc + 75 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-18 02:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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