C言語でSTGをつくってます。Visual C++ 2010でDXライブラリを使っています。敵が特殊な攻撃をするときに、東方のスペルカードのような演出を加えたいと思っています。
そこで質問なのですが、東方紅魔郷のスペカ発動時の、画面右横から画像がでてきて、しばらくしたら拡大して消える(ちょっとわかりにくいですが、プレイしたことのある人ならわかるかと)っていうのは、具体的にどういうやり方をすればよろしいんでしょうか?
東方紅魔郷のスペカ発動時のエフェクトについて
Re: 東方紅魔郷のスペカ発動時のエフェクトについて
手順としては、
画面右の見えないところに画像を表示
↓
少しずつ左へ移動
↓
一定の座標に達したら画像を拡大しながら不透明度を下げる
という方法があります。
画面右の見えないところに画像を表示
↓
少しずつ左へ移動
↓
一定の座標に達したら画像を拡大しながら不透明度を下げる
という方法があります。
-
tt
Re: 東方紅魔郷のスペカ発動時のエフェクトについて
ご回答ありがとうございます。回答のとおり関数を作ってみました。「不透明度を下げる」というのがよくわからなかったんですが・・・。
しかし、画像が途中でとまってしまい、うまくいきませんでした。どこがいけないのでしょうか?
しかし、画像が途中でとまってしまい、うまくいきませんでした。どこがいけないのでしょうか?
Re: 東方紅魔郷のスペカ発動時のエフェクトについて
1行目のint counter=0;によって
Spell()が呼ばれる度にcounterの数値が0に初期化されるため、
常にcounterが1になっているからです。
x,yも同様で毎回初期化されてしまいます。
また、このコードだと counter が50~60 の時は何も描画されなくなってしまいます。
Spell()が呼ばれる度にcounterの数値が0に初期化されるため、
常にcounterが1になっているからです。
x,yも同様で毎回初期化されてしまいます。
また、このコードだと counter が50~60 の時は何も描画されなくなってしまいます。
Re: 東方紅魔郷のスペカ発動時のエフェクトについて
グローバル変数にするか静的変数にすれば一応動きます。
3変数を構造体に格納してグローバル変数にするのが現実的だと思います。
3変数を構造体に格納してグローバル変数にするのが現実的だと思います。