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

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

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

■18813 / inTopicNo.1)  Argsで指定した色を変化させる方法
  
□投稿者/ ノイリング -(2006/07/17(Mon) 04:09:06) [ID:wFdVTatd]
    2006/07/17(Mon) 04:14:16 編集(投稿者)

    以下のインクルなのですが、

    戦闘アニメ_乱刺攻撃:
    FillStyle 塗りつぶし
    For i = 1 To Args(1)
    set var1 random(454)
    set var2 random(466)
    Color Args(2)
    FillColor Args(3)
    Playsound Args(4)
    If Args(5) = 二刀流 Then
    Switch Random(4)
    Case 1
    Polygon var2 0 (var2 + random(13)) 0 random(479) 479
    Case 2
    Polygon var2 479 (var2 + random(13)) 479 random(479) 0
    Case 3
    Polygon 0 var2 0 (var2 + random(13)) 479 random(479)
    Case 4
    Polygon 479 var2 479 (var2 + random(13)) 0 random(479)
    Endsw
    refresh
    wait (random(6) / 10)
    Else
    EndIf
    Switch Random(4)
     Case 1
      Polygon var1 0 (var1 + random(26)) 0 random(479) 479
     Case 2
      Polygon var1 479 (var1 + random(26)) 479 random(479) 0
     Case 3
      Polygon 0 var1 0 (var1 + random(26)) 479 random(479)
     Case 4
      Polygon 479 var1 479 (var1 + random(26)) 0 random(479)
    Endsw
    If Args(6) = 血 Then
    Color RGB(Random(200) + 55,0,0)
    FillColor RGB(Random(200) + 55,0,0)
    Circle (Random(479)) (Random(479)) (Random(24))
    Color RGB(Random(200) + 55,0,0)
    FillColor RGB(Random(200) + 55,0,0)
    Circle (Random(479)) (Random(479)) (Random(48))
    Else
    EndIf
    refresh
    wait (random(6) / 10)
    If Args(7) = 残像 Then
    Else
    redraw
    EndIf
    Next
    redraw
    Return
    #例 乱刺 30 RGB(Random(200) + 55,0,0) RGB(Random(255),0,0) Slash.wav 二刀流 血

    と、血の部分の様にインクル内にカラー設定をしていれば描画の度に色が変わるのですが、animation.txtの方で色を指定できるようにしてあるColor Args(2)と(3)は、色が固定され(戦闘毎には変わりますが)、例えばRandomの結果が200ならば、30回の描画全てRGB(200,0,0)として扱われます。
    これを描画毎に変化させる良い方法は無いでしょうか?
    色々試しては居るのですがなかなか思いつかず…どなたかご存知の方居られましたらよろしくお願いします。
引用返信/返信 削除キー/
■18823 / inTopicNo.2)  Re[1]: Argsで指定した色を変化させる方法
□投稿者/ ハク -(2006/07/17(Mon) 21:15:29) [ID:pgxyArqb]
    ハクというものです。

    呼び出す段階でRGB関数を使い16進数にしてしまうと扱いに手間がかかりますが
    RGBをそれぞれ別個に指定してやれば比較的楽に実装できます。



    # 呼び出し方

    乱刺 30 200 0 0 255 0 0 …

    # Colorの指定

    Local 赤 緑 青
    If Args(2) > 0 Then
     Set 赤 (Random(Args(2)) + 55)
    EndIf
    If Args(3) > 0 Then
     …

    Color RGB(赤, 緑, 青)

    # FillColorの指定

    Local F赤 F緑 F青
    Set F赤 Random(Args(5))
    Set F緑 Random(Args(6))
    Set F青 Random(Args(7))
    FillColor RGB(F赤, F緑, F青)

    詳しい使い道がわからないのでだいたいの推測で書きました。
    必要に応じて加筆あるいは削減してください。

    このほかにも16進数を10進数に直すインクルを使う方法があると言えばありますが
    それでどう処理するか試すのは手間なので、こちらは紹介にとどめます。
    参考までに。

    それでは。
引用返信/返信 削除キー/
■18827 / inTopicNo.3)  Re[2]: Argsで指定した色を変化させる方法
□投稿者/ ノイリング -(2006/07/18(Tue) 01:57:58) [ID:wFdVTatd]
    2006/07/18(Tue) 05:19:32 編集(投稿者)

    あ、なるほど。
    アニメの方には数値だけ記述して、実際のRandomはインクル内で行えば良い訳ですか…纏めて記述しないとって思い込んでいたので、盲点でした。
    10進数に直すインクルですか・・・そちらも調べてみます。

    戦闘アニメとして作っていまして、マップ攻撃用に使ったり、

    ユニット画像アップ:
    PaintPicture Black_NL.JPG - - 479 479
    PaintPicture "$(Unit(相手ユニットID))" 74 0 352 352 透過
    refresh
    Return "Keep"

    これとセットで(中にCallとIfで組み込む予定)命中時に使ったりですが、残像させる時にユニットによっては一撃毎に色が変わったほうが似合うので…まぁ、つまらない拘りなんですが(苦笑)
    固定色でも描画出来るように、少し弄ってみます、ありがとうございました。

    追記:無事完成しましたので追記を。御助言頂けたお陰でずいぶんスムーズに完成して助かりました。
解決済み!
引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -