SRC質問掲示板Mk2
(現在 過去ログ124 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■21700 / inTopicNo.1)  同時周囲回転アニメ
  
□投稿者/ 桜黒白 -(2009/08/19(Wed) 11:45:29) [ID:mSdtK82s]
    周囲回転の戦闘アニメを合体技で使えるように作ったのですが、上手く表示されません
    どこに問題があるのか自分では全く分からないので、誰かご助言いただけると助かります

    戦闘アニメ_同時周囲回転:
    Local i j T_X T_Y C_X C_Y C_X2 C_Y2
    Local BMP_FILE = _GetBmpFromArgs()
    Local UNIT_FILE
    Local UID
    Local DRCT
    Local C_S
    Local G_S = _GetNumberFromArgs()
    Local X_F
    Local FL CNT
    Local P_NUM = (CountPartner() + 1)

    Set CNT Args(2)

    For i = 1 To P_NUM

    Set UID[i] Partner(i - 1)

    _CenteringCheck UID[i]
    Set UNIT_FILE[i] _GetBMPName(UID[i])
    Set T_X[i] _Get_WX(UID[i])
    Set T_Y[i] _Get_WY(UID[i])
    Set C_X[i] (T_X[i] + 16 - (G_S \ 2))
    Set C_Y[i] (T_Y[i] + 16 - (G_S \ 2))

    If (_Get_X(UID[i]) > _Get_X(相手ユニットID)) Then
    Set C_X2[-1 + (8 * i - 8)] (C_X[i] - 16)
    Set C_X2[0 + (8 * i - 8)] C_X[i]
    Set C_X2[1 + (8 * i - 8)] (C_X[i] + 26)
    Set C_X2[2 + (8 * i - 8)] (C_X[i] + 26)
    Set C_X2[3 + (8 * i - 8)] C_X[i]
    Set C_X2[4 + (8 * i - 8)] (C_X[i] - 10)
    Set C_X2[5 + (8 * i - 8)] (C_X[i] - 10)
    Set C_X2[6 + (8 * i - 8)] (C_X[i] + 16)

    Set DRCT[-1 + (8 * i - 8)] 左右反転
    Set DRCT[0 + (8 * i - 8)] 左右反転
    Set DRCT[1 + (8 * i - 8)] 左右反転
    Set DRCT[2 + (8 * i - 8)] ""
    Set DRCT[3 + (8 * i - 8)] ""
    Set DRCT[4 + (8 * i - 8)] ""
    Set DRCT[5 + (8 * i - 8)] 左右反転
    Set DRCT[6 + (8 * i - 8)] 左右反転
    Else
    Set C_X2[-1 + (8 * i - 8)] (C_X[i] + 16)
    Set C_X2[0 + (8 * i - 8)] C_X[i]
    Set C_X2[1 + (8 * i - 8)] (C_X[i] - 10)
    Set C_X2[2 + (8 * i - 8)] (C_X[i] - 10)
    Set C_X2[3 + (8 * i - 8)] C_X[i]
    Set C_X2[4 + (8 * i - 8)] (C_X[i] + 26)
    Set C_X2[5 + (8 * i - 8)] (C_X[i] + 26)
    Set C_X2[6 + (8 * i - 8)] (C_X[i] - 16)

    Set DRCT[-1 + (8 * i - 8)] ""
    Set DRCT[0 + (8 * i - 8)] ""
    Set DRCT[1 + (8 * i - 8)] ""
    Set DRCT[2 + (8 * i - 8)] 左右反転
    Set DRCT[3 + (8 * i - 8)] 左右反転
    Set DRCT[4 + (8 * i - 8)] 左右反転
    Set DRCT[5 + (8 * i - 8)] ""
    Set DRCT[6 + (8 * i - 8)] ""
    EndIf

    Set C_Y2[0 + (6 * i - 6)] (C_Y[i] + 8)
    Set C_Y2[1 + (6 * i - 6)] (C_Y[i] + 4)
    Set C_Y2[2 + (6 * i - 6)] (C_Y[i] - 4)
    Set C_Y2[3 + (6 * i - 6)] (C_Y[i] - 8)
    Set C_Y2[4 + (6 * i - 6)] (C_Y[i] - 4)
    Set C_Y2[5 + (6 * i - 6)] (C_Y[i] + 4)

    Next

    Set C_S[0] 32
    Set C_S[1] 16
    Set C_S[2] 16
    Set C_S[3] 32
    Set C_S[4] 16
    Set C_S[5] 16

    If (_IsLight() = 1) Then
    Set FL 1
    Else
    Set FL ""
    EndIf

    Wait Start
    _SelectSound "Sharara.wav" _GetWavFromArgs()
    For i = 1 To 25
    ClearPicture

    # 対象より後ろ側の表示

    For j = 1 To P_NUM

    If (((i > 1) And (i <= 20)) And (C_Y2[((i - 2) Mod 6) + (6 * j - 6)] < C_Y[j])) Then
    PaintPicture BMP_FILE C_X2[((i - 2) Mod 6) + (8 * j - 8)] C_Y2[((i - 2) Mod 6) + (6 * j - 6)] C_S[((i - 2) Mod 6)] 32 透過 DRCT[((i - 2) Mod 6) + (8 * j - 8)] _ColorTime(FL)
    EndIf

    Switch CNT
    Case 2
    If (((i > 4) And (i <= 23)) And (C_Y2[((i + 1) Mod 6) + (6 * j - 6)] < C_Y[j])) Then
    PaintPicture BMP_FILE C_X2[((i + 1) Mod 6) + (8 * j - 8)] C_Y2[((i + 1) Mod 6) + (6 * j - 6)] C_S[((i + 1) Mod 6)] 32 透過 DRCT[((i + 1) Mod 6) + (8 * j - 8)] _ColorTime(FL)
    EndIf
    Case 3
    If (((i > 3) And (i <= 22)) And (C_Y2[(i Mod 6) + (6 * j - 6)] < C_Y[j])) Then
    PaintPicture BMP_FILE C_X2[(i Mod 6) + (8 * j - 8)] C_Y2[(i Mod 6) + (6 * j - 6)] C_S[(i Mod 6)] 32 透過 DRCT[(i Mod 6) + (8 * j - 8)] _ColorTime(FL)
    EndIf
    If (((i > 5) And (i <= 24)) And (C_Y2[((i + 2) Mod 6) + (6 * j - 6)] < C_Y[j])) Then
    PaintPicture BMP_FILE C_X2[((i + 2) Mod 6) + (8 * j - 8)] C_Y2[((i + 2) Mod 6) + (6 * j - 6)] C_S[((i + 2) Mod 6)] 32 透過 DRCT[((i + 2) Mod 6) + (8 * j - 8)] _ColorTime(FL)
    EndIf
    EndSw

    If (UNIT_FILE[j] != "") Then
    PaintPicture UNIT_FILE[j] T_X[j] T_Y[j] 透過 _ColorTime()
    EndIf

    # 対象より前側の表示

    Switch i
    Case 1
    PaintPicture BMP_FILE C_X2[-1 + (8 * j - 8)] (C_Y[j] + 10) 32 32 透過 DRCT[-1 + (8 * j - 8)] _ColorTime(FL)
    Case 21
    PaintPicture BMP_FILE C_X2[6 + (8 * j - 8)] (C_Y[j] + 10) 32 32 透過 DRCT[6 + (8 * j - 8)] _ColorTime(FL)
    EndSw

    If (((i > 1) And (i <= 20)) And (C_Y2[((i - 2) Mod 6) + (6 * j - 6)] > C_Y[j])) Then
    PaintPicture BMP_FILE C_X2[((i - 2) Mod 6) + (8 * j - 8)] C_Y2[((i - 2) Mod 6) + (6 * j - 6)] C_S[((i - 2) Mod 6)] 32 透過 DRCT[((i - 2) Mod 6) + (8 * j - 8)] _ColorTime(FL)
    EndIf

    Switch CNT
    Case 2
    Switch i
    Case 4
    PaintPicture BMP_FILE C_X2[-1 + (8 * j - 8)] (C_Y + 10) 32 32 透過 DRCT[-1 + (8 * j - 8)] _ColorTime(FL)
    Case 24
    PaintPicture BMP_FILE C_X2[6 + (8 * j - 8)] (C_Y + 10) 32 32 透過 DRCT[6 + (8 * j - 8)] _ColorTime(FL)
    EndSw
    If (((i > 4) And (i <= 23)) And (C_Y2[((i + 1) Mod 6) + (6 * j - 6)] > C_Y[j])) Then
    PaintPicture BMP_FILE C_X2[((i + 1) Mod 6) + (8 * j - 8)] C_Y2[((i + 1) Mod 6) + (6 * j - 6)] C_S[((i + 1) Mod 6)] 32 透過 DRCT[((i + 1) Mod 6) + (8 * j - 8)] _ColorTime(FL)
    EndIf
    If (i = 25) Then
    Break
    EndIf
    Case 3
    Switch i
    Case 3 5
    PaintPicture BMP_FILE C_X2[-1 + (8 * j - 8)] (C_Y + 10) 32 32 透過 DRCT[-1 + (8 * j - 8)] _ColorTime(FL)
    Case 23 25
    PaintPicture BMP_FILE C_X2[6 + (8 * j - 8)] (C_Y + 10) 32 32 透過 DRCT[6 + (8 * j - 8)] _ColorTime(FL)
    EndSw
    If (((i > 3) And (i <= 22)) And (C_Y2[(i Mod 6) + (6 * j - 6)] > C_Y[j])) Then
    PaintPicture BMP_FILE C_X2[(i Mod 6) + (8 * j - 8)] C_Y2[(i Mod 6) + (6 * j - 6)] C_S[(i Mod 6)] 32 透過 DRCT[(i Mod 6) + (8 * j - 8)] _ColorTime(FL)
    EndIf
    If (((i > 5) And (i <= 24)) And (C_Y2[((i + 2) Mod 6) + (6 * j - 6)] > C_Y[j])) Then
    PaintPicture BMP_FILE C_X2[((i + 2) Mod 6) + (8 * j - 8)] C_Y2[((i + 2) Mod 6) + (6 * j - 6)] C_S[((i + 2) Mod 6)] 32 透過 DRCT[((i + 2) Mod 6) + (8 * j - 8)] _ColorTime(FL)
    EndIf
    Case Else
    If (i = 21) Then
    Break
    EndIf
    EndSw
    Next

    Refresh
    Wait Until (i * 0.6)
    Next

    ClearPicture
    Refresh

    Return
引用返信/返信 削除キー/
■21702 / inTopicNo.2)  Re[1]: 同時周囲回転アニメ
□投稿者/ Mr -(2009/08/20(Thu) 11:12:20) [ID:69aT06JU]
    まずは自分でコメントを入れてみてはどうでしょうか。
    「#ここで○○してる」みたいに。それを一つずつ追っていけばおのずとどこに問題があるかは明白になるかと。
    いくら自分用のものとはいえ、コメント入れておくのは大事だと思いますよ。
    回答する側も非常にやりやすくなりますしね。
    せめて引数が何個で何を指定するのかくらいは欲しいところです。
引用返信/返信 削除キー/
■21704 / inTopicNo.3)  Re[2]: 同時周囲回転アニメ
□投稿者/ 桜黒白 -(2009/08/21(Fri) 07:45:30) [ID:tpbX6ORC]
    変数を参照表示して通常の「周囲回転」と比べてみたところ、どうやら「animetion」での指定方法が誤っていただけでした
    攻撃回数を増やすことによるおかしな表示は配列にし忘れた変数が原因でした

    この二箇所を修正して問題は解決しました
    どうもありがとうございます
解決済み!
引用返信/返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Pass/

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

- Child Tree -
- Antispam Version -