画像のアニメーションの方法

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ついうくん

画像のアニメーションの方法

#1

投稿記事 by ついうくん » 5年前

画像のアニメーションで、聞きたいのですが

縦32、横128ビットの大きさで画像を用意し、分割数は3にしているんですが

コード:


if(Key[KEY_INPUT_Z]==1){	
	dx++;                                             //画像のx軸
	for(b=0;b>3;b++){             //bは分割数            
		if(b==3) {
	       b=0;
       }
	DrawGraph(dx,333,d[b],FALSE);   //dは画像用変数
   }
}


このプログラムで実行してみた結果
draw関数のみ機能していなくて、画像が描画されません(それ以外は、ブレークポイントなどで機能確認済み)


どこか、間違っている箇所があれば教えていください

jay
記事: 314
登録日時: 9年前
住所: 大阪市
連絡を取る:

Re: 画像のアニメーションの方法

#2

投稿記事 by jay » 5年前

for文の大なりと小なりが逆な気がします。
♪僕たちは まだ森の中 抜け出そう 陽のあたる場所へ

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: 画像のアニメーションの方法

#3

投稿記事 by softya(ソフト屋) » 5年前

このプログラムコードだと、Zキーを押さないと描画も何もしない。
Zキーを押している間はdxは1つづ足す。
Zキーが押されている間はfor( b = 0; b<3; b++ ){(だとしても)でbはループするけど3まで増やしてループを抜ける。if(b==3)は成立しないので実行されない。ループしている間は他の処理をしないので描画もされない。
Zキーが押されている間はDrawGrahはd[3]のハンドルを表示で固定。

【訂正】インデントが乱れすぎててコードを誤解した(^_^;)
Zキーが押されている間はfor( b = 0; b<3; b++ ){(だとしても)でbはループするけど3まで増やしてループを抜ける。if(b==3)は成立しないので実行されない。ループしている間はDrawGraphはdのハンドルを表示するので全部一度に同じ座標に描画されます。

となります。意図通りですか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
みけCAT
記事: 6250
登録日時: 9年前
住所: 千葉県
連絡を取る:

Re: 画像のアニメーションの方法

#4

投稿記事 by みけCAT » 5年前

ついうくん さんが書きました:どこか、間違っている箇所があれば教えていください
たとえそのままコンパイルされることを意図しないコードであっても、
C++のコードのコメント、文字列(、識別子)以外の部分に全角の数字や記号(カッコ、スペース)を入れるのは間違っていると思います。
半角文字の中に全角文字を混ぜるのはIMEのモードを切り替える手間が余計に発生すると思うのですが、
なぜこのようなコード(っぽい文字列)を書かれたのでしょうか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

閉鎖

“C言語何でも質問掲示板” へ戻る