Rigid Chips リファレンスマニュアル モデルデータ シナリオファイル関数


目次へ戻る

◆シナリオファイル(*.rcs)の関数


通常の「RigidChips関数」に加えて、以下の関数が使えます。
なお、マウス情報の取得関数については、「_PLAY()」実行中はCTRLキーを押しながらでないと情報取得できません。
(「_PAUSE()」実行中は、通常どおり動作します。)

  1. システム制御関連
  2. 関数名内容備考
    _STICKS()
    _TICK()と同様だがリセット時にも値がリセットされない。

    _SETREG(レギュレーション文字, 設定値)
    レギュレーション設定(レギュレーション文字="G", "A", "T", "J", "U", "C", "S"、"E")
    _PAUSE()
    シミュレーション計算を停止する。

    _PLAY()
    シミュレーション計算を再開する。

    _GETWIND()
    風の向き・強さの取得(戻り値:x, y, z)

    _SETWIND(x, y, z)
    風の向き・強さの設定

    _GETY(x, z)
    座標(x, z)での地形の最大高さを取得する。

    _LOADLAND("地形ファイル名")
    地形データの読み込み

    _CTRLLOCK(制御番号, フラグ)
    各種の制御を無効にする。
    制御番号 - 0:Init, 1:Reset, 2:OpenChips, 3:ReloadChips, 4:OpenLand, 5:OpenGame, 6:YForce, 7:Title, -1:全て
    フラグ - 0以外でロック(無効化)


  3. リング制御関連
  4. 関数名内容備考
    _GETRINGSTATE(リング番号)
    リングの状態を取得(戻り値:状態)

    _SETRINGSTATE(リング番号, 状態)
    リングの状態をセット(リング番号は0〜99、状態0=透明, 1=半透明, 2=表示)

    _GETRING(リング番号)
    リングの位置方向の取得(戻り値:位置x, 位置y, 位置z, x軸回転角, y軸回転角, z軸回転角, 半径)

    _SETRING(リング番号, 位置x, 位置y, 位置z, x軸回転角, y軸回転角, z軸回転角, 半径)
    リングの位置方向の設定

    _SETRINGCOLOR(リング番号, r, g, b)
    リングの色設定(rgbはそれぞれ0〜1)

    _CHECK(リング番号, チップ番号)
    リングを球としてチップが球内にあるか(戻り値:0=偽, 1=真)

    _CHECK2(リング番号, チップ番号)
    リングの円平面をチップが通り抜けたかのチェック(戻り値:0=偽, 1=真)

    _CHECKOBJ(リング番号, オブジェクト番号)
    リングを球としてオブジェクトが球内にあるか(戻り値:0=偽, 1=真)

    _CHECK2OBJ(リング番号, オブジェクト番号)
    リングの円平面をオブジェクトが通り抜けたかのチェック(戻り値:0=偽, 1=真)


  5. モデル制御関連
  6. 関数名内容備考
    _RESET(チップ番号)
    チップ番号以下に繋がる系を初期状態にする。

    _RELOAD()
    現在のチップモデルを再読み込みする。

    _SAVE(ファイル名)
    現在のチップモデルを保存する。


  7. チップ制御関連
  8. 関数名内容備考
    _ADDCHIP(チップ番号, チップタイプ名, 方角名, angle値)
    チップ番号の子としてチップを生成する。(戻り値:生成されたチップの番号)
    チップタイプ名="CHIP", "FRAME", "WEIGHT", "COWL", "RUDDER", "RUDDERF", "TRIM", "TRIMF", "JET", "ARM", "WHEEL", "RLW"
    方角名="N", "E", "W", "S"
    angle値の単位は「度(degree)」

    _WARP(チップ番号, 位置x, 位置y, 位置z)
    チップ番号を含む系を強制的に位置xyzに移動

    _FORCE(チップ番号, x, y, z)
    チップに力(x, y, z)を加える。

    _DIRECT(チップ番号, x軸, y軸, z軸)
    チップ番号を含む系を強制的に回転(x軸, y軸, z軸、直値)

    _ROTATE(チップ番号, x軸, y軸, z軸)
    チップ番号を含む系を強制的に回転(, x軸, y軸, z軸、相対値)

    _TORQUE(チップ番号, x軸, y軸, z軸)
    チップにトルク(x軸, y軸, z軸)を加える。

    _ENERVATE(チップ番号)
    チップ番号を含む系の力の状態をリセットする。

    _GETHIT(チップ番号, 接触物名)
    チップの接触を調べる。(接触物名="OBJ", "LAND", "BULLET", "CHIP")

    _GET(チップ番号, 属性名)
    チップの属性値を取得する。(属性名="ANGLE", "POWER", "SPRING", "DAMPER", "BRAKE", "COLOR", "OPTION", "EFFECT", "USER1", "USER2", "DIR", "PARENT", "TOP", "FUEL", "FUELMAX")
    DIRは接続方向(0='S', 1='W', 2='N', 3='E')を取得する。
    PARENTは親のチップ番号を取得する。(無い場合は-1を返す)
    TOPはその系のルートチップ番号を取得する。
    戻り値=取得値

    _SET(チップ番号, 属性名, 属性値)
    チップの属性値をセットする。(属性名="ANGLE", "POWER", "SPRING", "DAMPER", "BRAKE", "COLOR", "OPTION", "EFFECT", "USER1", "USER2", "FUEL", "FUELMAX")

    _GETCHILD(チップ番号, 子番号)
    子番号(0〜11)から子のチップ番号を取得する。(無い場合は-1を返す)


  9. オブジェクト制御関連
  10. 関数名内容備考
    _ADDBALL(半径, 位置x, 位置y, 位置z, 比重)
    ボールの追加(最大20個、戻り値:オブジェクト番号)

    _SETOBJFIX(オブジェクト番号, 値)
    オブジェクトを固定(値=1), 可動(値=0)

    _SETOBJCOLOR(オブジェクト番号, r, g, b)
    オブジェクトの色設定(rgbはそれぞれ0〜1)

    _WARPOBJ(オブジェクト番号, 位置x, 位置y, 位置z)
    オブジェクトを強制的に位置xyzに移動

    _FORCEOBJ(オブジェクト番号, x, y, z)
    オブジェクトに力(x, y, z)を加える。

    _DIRECTOBJ(オブジェクト番号, x軸, y軸, z軸)
    オブジェクトを強制的に回転(, x軸, y軸, z軸、直値)

    _ROTATEOBJ(オブジェクト番号, x軸, y軸, z軸)
    オブジェクトを強制的に回転(, x軸, y軸, z軸、相対値)

    _TORQUEOBJ(オブジェクト番号, x軸, y軸, z軸)
    オブジェクトにトルク(x軸, y軸, z軸)を加える。

    _ENERVATEOBJ(オブジェクト番号)
    オブジェクトの力の状態をリセットする。

    _GETHITOBJ(オブジェクト番号, 接触物名)
    オブジェクトの接触を調べる。(接触物名="OBJ", "LAND", "BULLET", "CHIP")


  11. 入力インタフェース関連
  12. 関数名内容備考
    _SKEY(システムキー番号)
    システムキーの状態を取得する。(戻り値:0=押されてない, 1=押されている)
    システムキー番号はデフォルトで(0=Hキー, 1=Jキー, 2=Nキー, 3=Mキー)

    _SKEYDOWN(システムキー番号)
    システムキーが押された時を取得する。(戻り値:0=押されてない, 1=押された)

    _SKEYUP(システムキー番号)
    システムキーが離された時を取得する。(戻り値:0=離されていない, 1=離された)

    _KEYLOCK(キー番号,値)
    キー番号のキーをモデルから取得できないようにする。(値が0以外のとき)
    ロックを外すには値に0を入れる。
    すべてのキーを表すキー番号は-1


  13. 画面描画関連
  14. 関数名内容備考
    _GETVIEW()
    ユーザービューの取得(戻り値:視点x,視点y,視点z,参照点x,参照点y,参照点z)

    _SETVIEW(視点x,視点y,視点z,参照点x,参照点y,参照点z)
    ユーザービューの設定

    _SETVIEWUP(x,y,z)
    ユーザービューの上ベクトル(x,y,z)を設定する。
    設定しないと自動的に(0,1,0)になる。
    _SETVIEWを使用することで初期化される。

    _GETVIEWTYPE()
    ビューの取得(ビュー番号は0〜9,ユーザービューは-1)

    _SETVIEWTYPE(ビュー番号)
    既存ビュー(A〜J)への設定(ビュー番号は0〜9)

    _GETVIEWZOOM()
    ズームの取得(戻り値:視野角、単位は度)

    _SETVIEWZOOM(視野角)
    ズームの設定(単位は度)


  15. メータ表示・制御関連
  16. 関数名内容備考
    _COMPASS(x,y,z)
    コンパスに付くナビゲーションマークのターゲット座標を設定する。
    y値が-1000000以下の時解除


  17. 通信制御関連
  18. 関数名内容備考
    _SENDALL(文字列)
    文字列の送信(64文字まで)
    同じシナリオを使用しているすべてのプレイヤーに送信される。
    実際の送信は10フレーム程度間隔で、その間は送信文字列バッファの更新のみを行う。

    _RECEIVE(n)
    n番目のプレイヤーの受信文字列バッファを返す。
    送信側と同じシナリオでないと受信できない。
    再受信されるまで更新されずクリアもされない。

    _RECEIVECLEAR(n)
    n番目のプレイヤの受信文字列バッファをクリア(""に)する。

    _CHAT()
    最後に表示されたチャット文字列を返す。


  19. ファイル入出力関連
  20. 関数名内容備考
    _FOPEN(ファイル名,モード)
    ファイル名のファイルをモードに応じてオープンしファイル番号を返す。
    戻り値:ファイル番号(0〜32)、失敗の場合は-1を返す。
    モード:"w"(書き込み), "a"(追加書き込み), "r"(読み込み)
    ファイル名のドライブとパスはキャンセルされ、シナリオと同じドライブ/パスとして扱われる。

    _FCLOSE(ファイル番号)
    ファイル番号のファイルを閉じる。

    _FGETS(ファイル番号)
    ファイル番号のファイルから1行分の文字列を読み込む。(内部バッファは1024バイト)

    _FPUTS(ファイル番号,文字列)
    ファイル番号のファイルに文字列を書き込む。



◆イベント関数


以下の関数は、システムで名前が予約された関数であり、関数を定義(記述)しておくと、特定のイベントが発生した際にコールされます。

関数名内容備考
function OnInit() ・・・ end初期化 初期化(Uキー押下)時にコールされる。
シナリオファイルをロードした際にもコールされる。
モデルリロード(ctrl+U押下)ではコールされない。
function OnReset() ・・・ endリセット リセット(Rキー押下)時にコールされる。
モデルリロード(ctrl+U押下)ではコールされない。
function OnFrame() ・・・ endフレーム 毎フレームの最初にコールされる。
main()と同じですが、main()関数より優先度が高く、本関数が記述されている場合はmain()関数はコールされない。
function OnMode() ・・・ endモード切替 F1キー押下時にコールされる。
function OnChat() ・・・ endチャット受信 チャットに文字が入った場合にコールされる。


◆補足



目次へ戻る