HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0819
カレーhgimg3のスプライトの色味変更7解決


カレー

リンク

2014/8/19(Tue) 12:01:19|NO.63974

hgimg3の2Dスプライトでキャラクターを表示させてます。
背景は3D表示させたいのでhgimg3を使っています。
この2Dスプライトのキャラクターがダメージを受けたときに赤っぽくしたり白っぽくしたり、点滅させたりする演出をしたいのですが、方法がわかりません。
何か方法はあるのでしょうか?
それが無理な場合、hgimg3と同時に使えるスプライト機能が豊富なライブラリはありますか?



この記事に返信する


mirage17

リンク

2014/8/19(Tue) 12:26:49|NO.63976

 ご要望のソースやプログラムは、HGIMG3に対応した、
HSP3でつくる簡単3Dゲーム I/O BOOKS(工学社)
のゴーストハンターのソースとプログラムで、説明されていると
思います。敵消滅時のアニメーション画像などのプログラムは、
2Dでアニメーションしているので、それを応用すれば作れます。
つまりそのプログラムを理解すれば、背景が3Dで、キャラが2D
のプログラムは作れます。
赤っぽくしたり白っぽくしたり、点滅させたりする演出も、すべて、
ゴーストハンターの中の、敵の動きや消滅時の2Dアニメーション
を使い回しするだけです。
ライブラリについては存じていません。壁衝突時用ライブラリ
のhghit2以外で、これというライブラリを思いつきません。
ライブラリは、ゴーストハンターのプログラムの理解だけで
十分で、hghit2を使わなくても作れると思います。



あり

リンク

2014/8/19(Tue) 16:10:58|NO.63982

>この2Dスプライトのキャラクターがダメージを受けたときに赤っぽくしたり白っぽくしたり、
>点滅させたりする演出をしたいのですが、方法がわかりません。

ヒントとしては、hgimg3にはイベントリスト機能があるので
それを使えばスプライトをアニメーションさせたり一時的に絵を変えたり出来ます。

イベントリストの使い方はhgimg3のマニュアル
http://www.onionsoft.net/hsp/v33/doclib/hgimg3.txt)内の
イベントリストについての項目やHDLでneweventやsetevent他イベント系命令の
説明を読んで下さい。

イベント機能の参考としては、sampleフォルダ、またはHSPアシスタントのサンプルタブから
hgimg3/test11.hspを見てみてください。



あり

リンク

2014/8/19(Tue) 16:27:11|NO.63983

>>mirage17さん

これまであなたが回答してきた中で度々自分が購入した本の話が出てきますが
誰もが持っている訳でも、購入できる訳でもない本の内容を参照する事を
前提に話を進めようとするのは無茶です。

また、質問内容への回答とは関係ない話題や自分の身の上話が多いのも
要点を分かり難くしてしまう元なので、回答では最低限必要な情報のみを
簡潔に書かれる方が良いと思います。



mirage17

リンク

2014/8/19(Tue) 16:41:23|NO.63987

あり様、カレー様、すべての皆様へ

書籍については私の配慮や考えが足りていませんでした。
内容についても飛躍した内容もあり、簡潔な文章に欠けていたと思います。
あり様にはいつも助けられたり、指摘されたりしてばっかりでごめんなさい。
今後は余計な情報は省き、簡潔な説明ができるよう努力します。
今回の注意を厳粛に受け止め、今後はより多くの人達にわかる形
での簡潔な情報の提供に努めていく所存です。
今回はご迷惑をお掛けし申し分けありませんでした。



カレー

リンク

2014/8/19(Tue) 18:44:43|NO.63997

回答ありがとうございます。
本については一応古本を注文してみました。
しかしイベントリストについて、画像の変更やアニメーションについては習得しており既に使っています。
今回の質問はスプライトの色味の変更についてです。
多数のキャラクターがいるため画像をすべて用意するのは現実的には厳しく、明度や彩度を変更できる方法を探しています。



あり

リンク

2014/8/19(Tue) 22:37:12|NO.64026

私が見逃しているだけかもしれませんが
HGIMG3の命令では色味(明度や彩度)を調整してのスプライト表示は
無理そうですので、出来るのは加算減算合成か透明度変更を使った点滅ぐらいでしょうか。
以下は点滅処理の例。

#include "hgimg3.as" hgini setuv 0, 320, 64, 384 addspr spr, 1 regobj apple, spr texload dir_tv + "hsptv_img.bmp" newevent ev1 repeat 5 event_efx ev1, 5, 0 event_wait ev1, 5 event_efx ev1, 5, 255 event_wait ev1, 5 loop clscolor 128 *main hgdraw stick key ; 左クリックで点滅 if key & 256 : setevent apple, ev1 hgsync 16 await goto *main
DirectXの描画機能を利用しているライブラリは基本的に併用出来ないので
単体で全部の機能が使えるライブラリを探す事になりますが
HGIMG3以外で3Dとスプライトの合成表示が出来るライブラリは
現状Easy3Dぐらいしかありません(そもそもスプライト機能があるライブラリが少ないので)
ですが、Easy3Dは諸事情から話題にしたくない方も少なからずいますので
使ってみるかどうかは自分で色々調べてから決めてください。



カレー

リンク

2014/8/27(Wed) 02:39:06|NO.64335

ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.