#============================================================================== # ■ RGSS3 アニメーションセル配置のX・Y座標変更 Ver1.00 by 星潟 #------------------------------------------------------------------------------ # アニメーションのセルは通常は # X座標-272〜272、Y座標-208〜208の範囲内でしか設定できませんが # このスクリプトを使用する事で、設定値を無視しその限界を超えた値を設定できます。 # # ただし、設定が非常に面倒臭い為、極力使用は控えた方が無難です。 #------------------------------------------------------------------------------ # 初期設定で記載されているのは # 新規プロジェクトのアニメーションID2の全セルを # X座標-320、Y座標64に変更するという内容です。 #============================================================================== module AnimationCellOverXY #空のハッシュを用意 A = {} #設定例. #まずアニメーションIDに対応したハッシュを作成する。 #アニメーションID2の場合は #A[2] = {} # #次にアニメーションのフレーム番号に対応したハッシュを #先に作ったハッシュの内部に作成する。 #アニメーションID2の1フレーム目の場合は #A[2][1] = {} # #最後にアニメーションのフレーム番号のセルに対応したX座標・Y座標を #先に作ったハッシュの内部に作成する。 #アニメーションID2の1フレーム目の1セル目をX座標-320、Y座標64にする場合は #A[2][1][1] = [-320,64] A[2] = {} A[2][1] = {} A[2][1][1] = [-320,64] A[2][2] = {} A[2][2][1] = [-320,64] A[2][3] = {} A[2][3][1] = [-320,64] A[2][3][2] = [-320,64] A[2][4] = {} A[2][4][1] = [-320,64] A[2][4][2] = [-320,64] A[2][5] = {} A[2][5][1] = [-320,64] A[2][5][2] = [-320,64] A[2][6] = {} A[2][6][1] = [-320,64] A[2][7] = {} A[2][7][1] = [-320,64] A[2][8] = {} A[2][8][1] = [-320,64] A[2][9] = {} A[2][9][1] = [-320,64] A[2][10] = {} A[2][10][1] = [-320,64] end class RPG::Animation #-------------------------------------------------------------------------- # フレームテーブルの配列 #-------------------------------------------------------------------------- if !method_defined?(:frames_over_xy) alias frames_over_xy frames def frames if !@frames_over_xy_flag @frames_over_xy_flag = true h1 = AnimationCellOverXY::A[@id] if h1 && !h1.empty? @frames.each_index {|i1| h1[i1 + 1].each {|k2,v2| @frames[i1].cell_data[k2 - 1,1] = v2[0] @frames[i1].cell_data[k2 - 1,2] = v2[1] } if h1[i1 + 1]} end end @frames end end end