Project1
标题:
关于VA中地图的基础问题(可能是我没表达清楚已上图)
[打印本页]
作者:
流着水的你の眼
时间:
2014-4-1 11:29
标题:
关于VA中地图的基础问题(可能是我没表达清楚已上图)
本帖最后由 流着水的你の眼 于 2014-4-1 21:06 编辑
(1)VA在中的人物都是2头身的,我想做3头身的,可是VA中默认地图都是与2头身配套的,的是不是表示,VA中的默认的地图元件都用不了了啊,
(2)VA中默认的地图编辑器是俯视的,我想画45度的地图,如何将俯视的地图编辑格子转成空间45度的啊,
PS:我从未用过rpg maker 搜了一些帖子 但看到一头雾水,特请大家帮帮忙,谢谢了
作者:
喵呜喵5
时间:
2014-4-1 11:58
1.可以,虽然在编辑器中消失异常,实际运行游戏时可以正常显示
作者:
寂静的夜里
时间:
2014-4-1 12:01
XP转VX格式的人物行走图应该可以做到
45°的话就需要准备好45°的地图材料 比如梦幻西游 参考梦幻群侠传
作者:
流着水的你の眼
时间:
2014-4-1 21:02
本帖最后由 流着水的你の眼 于 2014-4-1 21:05 编辑
可能是我没表达清楚,如图中间的是3头身的
但是3头身的人物大一点,与VA中的默认的地图元件不陪套(人物比门还大)
如图 人物比告示牌还高,不陪套
是不是表示VA中的默认的地图元件不好用,得找大一号的素材啊。
作者:
gaogs123456
时间:
2014-4-1 22:01
本帖最后由 gaogs123456 于 2014-4-1 22:03 编辑
你可以这样:门的那黑色区域可以在上面再加一层
房屋加高一层,
范例地图是很难配合的,所以要大幅度的改动了。
就像这样加高,当然了,有更好的素材那是最好的选择。
也可以配合这个脚本,对事件进行放大(使用方法在事件名称里加上48-53行任意一种),比如<zm 2.0, 2.0>就是事件XY放大2倍。
不用担心空白事件,就算被放大了也是看不见的。
#==============================================================================
# ★ RGSS3_キャラクター表示拡張 Ver1.01
#==============================================================================
=begin
作者:tomoaky
webサイト:ひきも記 (http://hikimoki.sakura.ne.jp/)
キャラクタースプライトに以下の機能を追加します。
・任意の拡大率に変更
・任意の回転角度に変更
・拡大縮小アニメーション
・ふらふらアニメーション
・円運動アニメーション
イベントコマンド『スクリプト』で以下のコマンドが使えるようになります。
set_angle(event_id, angle)
指定したIDのイベントの回転角度を angle に変更します(0 ~ 360)
set_zoom(event_id, zoom_x, zoom_y)
指定したIDのイベントの拡大率を zoom_x, zoom_y に変更します、
zoom(1, 1.5, 3.0) とした場合はイベントID1を横1.5倍、縦3倍。
zoom_y を省略した場合は縦横ともに zoom_x の値に変更します
set_zoom_anime(event_id, flag)
指定したIDのイベントが拡大と縮小を繰り返すようになります。
flag が true なら機能オン、false なら機能オフ
set_swing_anime(event_id, angle)
指定したIDのイベントがふらふらと揺れるようになります。
angle には揺れ幅を指定してください(0 ~ 360)、省略すると止まります
set_circle_anime(event_id, dist)
指定したIDのイベントが円運動をするようになります。
dist には半径を指定してください、省略すると止まります。
移動するのはスプライトだけなので、イベントの位置は変化しません。
set_cycle(event_id, cycle)
指定したIDのイベントのアニメーション周期を cycle に変更します、
対象となるのは拡大縮小アニメ、ふらふらアニメ、円運動アニメの3つです。
初期値は 256
event_id に 0 を指定すると実行中のイベント自身が対象となり、
-1 を指定すればプレイヤーが対象となります。
スクリプトコマンドを使う方法以外に、イベント名や注釈コマンドを使って
設定することもできます。以下の文字列をイベント名か注釈に加えてください。
<zm 1.5, 2.0> … 扩大,横1.5倍纵2倍
<an 45> … 倾斜,幅度45
<za> … 动态扩大缩小
<sa 30> … 左右摇摆、幅度30
<ca 16> … 圆周率运动,半径16
<cy 128> … アニメーション周期の設定、1周128フレーム
注釈コマンドを使う場合は必ずイベント実行内容の一番上で設定してください。
=== 注意 ===
・設定したパラメータはイベントページの変更などによって初期化されます、
イベントコマンドとイベント名、注釈をうまく使い分けてください。
2011.12.21 Ver1.01
・並列処理で event_id に 0 を指定するとエラーが発生する不具合を修正
2011.12.15 Ver1.0
公開
=end
#==============================================================================
# ■ Game_Character
#==============================================================================
class Game_Character
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :zoom_x # x方向の拡大率
attr_accessor :zoom_y # y方向の拡大率
attr_accessor :angle # 回転角度
attr_accessor :zoom_anime # ズームアニメフラグ
attr_accessor :swing_anime # ふらふらフラグ
attr_accessor :circle_anime # 円運動フラグ
attr_accessor :ex_count_max # アニメーション周期
#--------------------------------------------------------------------------
# ● 公開メンバ変数の初期化
#--------------------------------------------------------------------------
alias tmsprex_game_character_init_public_members init_public_members
def init_public_members
tmsprex_game_character_init_public_members
clear_ex_param
end
#--------------------------------------------------------------------------
# ○ キャラクター拡張用パラメータの初期化
#--------------------------------------------------------------------------
def clear_ex_param
@zoom_x = 1.0
@zoom_y = 1.0
[url=home.php?mod=space&uid=124954]@Angle[/url] = 0
@zoom_anime = false
@swing_anime = nil
@circle_anime = nil
@ex_count_max = 256
end
end
#==============================================================================
# ■ Game_Event
#==============================================================================
class Game_Event < Game_Character
#--------------------------------------------------------------------------
# ● イベントページの設定をセットアップ
#--------------------------------------------------------------------------
alias tmsprex_game_event_setup_page_settings setup_page_settings
def setup_page_settings
tmsprex_game_event_setup_page_settings
clear_ex_param
if @list
if /<zm\s+(\d+(?:\.\d+)?)\s*\,\s*(\d+(?:\.\d+)?)>/i =~ @event.name
@zoom_x, @zoom_y = $1.to_f, $2.to_f
end
[url=home.php?mod=space&uid=124954]@Angle[/url] = $1.to_i if /<an\s*(\d+)>/i =~ @event.name
@zoom_anime = true if /<za>/i =~ @event.name
@swing_anime = $1.to_i if /<sa\s+(\d+)>/i =~ @event.name
@circle_anime = $1.to_i if /<ca\s+(\d+)>/i =~ @event.name
@ex_count_max = $1.to_i if /<cy\s+(\d+)>/i =~ @event.name
@list.each do |list|
if list.code == 108 || list.code == 408
text = list.parameters[0]
if /<zm\s+(\d+(?:\.\d+)?)\s*\,\s*(\d+(?:\.\d+)?)>/i =~ text
@zoom_x, @zoom_y = $1.to_f, $2.to_f
end
[url=home.php?mod=space&uid=124954]@Angle[/url] = $1.to_i if /<an\s*(\d+)>/i =~ text
@zoom_anime = true if /<za>/i =~ text
@swing_anime = $1.to_i if /<sa\s+(\d+)>/i =~ text
@circle_anime = $1.to_i if /<ca\s+(\d+)>/i =~ text
@ex_count_max = $1.to_i if /<cy\s+(\d+)>/i =~ text
else
break
end
end
end
end
end
#==============================================================================
# ■ Sprite_Character
#==============================================================================
class Sprite_Character < Sprite_Base
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# viewport : ビューポート
# character : キャラクター (Game_Character)
#--------------------------------------------------------------------------
alias tmsprex_sprite_character_initialize initialize
def initialize(viewport, character = nil)
@ex_count = 0 # 特殊演出用のカウンタ
tmsprex_sprite_character_initialize(viewport, character)
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
alias tmsprex_sprite_character_update update
def update
tmsprex_sprite_character_update
@ex_count = (@ex_count + 1) % @character.ex_count_max
n = @character.ex_count_max / 2
if @character.zoom_anime # ズームアニメの更新
self.zoom_x = Math.sin(Math::PI * @ex_count / n) * 0.5 + 1.5
self.zoom_y = self.zoom_x
else
self.zoom_x, self.zoom_y = @character.zoom_x, @character.zoom_y
end
if @character.swing_anime # ふらふら状態の更新
self.angle = Math.sin(Math::PI * @ex_count / n) * @character.swing_anime
else
self.angle = @character.angle
end
if @character.circle_anime # 円運動状態の更新
a = Math::PI * @ex_count / n
self.x += Math.sin(a) * @character.circle_anime
self.y += Math.cos(a) * @character.circle_anime
end
end
end
#==============================================================================
# ■ Game_Interpreter
#==============================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# ○ キャラクタースプライトの回転角度を変更
#--------------------------------------------------------------------------
def set_angle(id, n = 0)
target = get_character(id)
target.angle = n if target
end
#--------------------------------------------------------------------------
# ○ キャラクタースプライトの拡大率を変更
#--------------------------------------------------------------------------
def set_zoom(id, zoom_x, zoom_y = nil)
target = get_character(id)
return unless target
zoom_y ||= zoom_x
target.zoom_x, target.zoom_y = zoom_x, zoom_y
end
#--------------------------------------------------------------------------
# ○ キャラクタースプライトのズームアニメを変更
#--------------------------------------------------------------------------
def set_zoom_anime(id, flag = true)
target = get_character(id)
target.zoom_anime = flag if target
end
#--------------------------------------------------------------------------
# ○ キャラクタースプライトのふらふら状態を変更
#--------------------------------------------------------------------------
def set_swing_anime(id, n = nil)
target = get_character(id)
return unless target
target.swing_anime = n
target.angle = 0 unless n
end
#--------------------------------------------------------------------------
# ○ キャラクタースプライトの円運動状態を変更
#--------------------------------------------------------------------------
def set_circle_anime(id, n = nil)
target = get_character(id)
target.circle_anime = n if target
end
#--------------------------------------------------------------------------
# ○ キャラクタースプライトの拡張アニメーション周期を変更
#--------------------------------------------------------------------------
def set_cycle(id, n = 256)
target = get_character(id)
target.ex_count_max = n if target
end
end
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1