初心者です。
キャラ画像を分割してint型に格納してループさせる
っていう理屈は分かるのですが・・・
一体どのファイルで画像をループさせているのでしょうか?
左右に4枚じゃなく8枚ループさせて、より細かな左右移動を表現したいと思うんです。
どなたかご教授願います。
画像ループについて
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 画像ループについて
別にDXライブラリが対応していれば同様な画像形式でも構いませんよ。
同じサイズで横に8つあればよいだけです。
どうようなツールかというとEDGEなどを使って書きます。
「高機能ドット絵エディタ EDGE|TAKABO SOFT」
http://takabosoft.com/edge
同じサイズで横に8つあればよいだけです。
どうようなツールかというとEDGEなどを使って書きます。
「高機能ドット絵エディタ EDGE|TAKABO SOFT」
http://takabosoft.com/edge
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
あぷらい
Re: 画像ループについて
えぇっと、すいません。
そういうことではなくて・・・。
書き方が悪かったですね。
すいません。
左右8枚の画像を用意したら、四枚分までしか動いていない。
↓
ということはプログラムがそもそも四枚ループさせるとしか記述されていない。
↓
8枚ループに書き直す必要がある。
↓
それ以前に何処を手直しすればいいのかわからない。←いまここ
箇条書きにしてみるとこんな感じです。
ほんとにすいませんでした。
ご教授お願いします。
そういうことではなくて・・・。
書き方が悪かったですね。
すいません。
左右8枚の画像を用意したら、四枚分までしか動いていない。
↓
ということはプログラムがそもそも四枚ループさせるとしか記述されていない。
↓
8枚ループに書き直す必要がある。
↓
それ以前に何処を手直しすればいいのかわからない。←いまここ
箇条書きにしてみるとこんな感じです。
ほんとにすいませんでした。
ご教授お願いします。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 画像ループについて
LoadDivGraph()で分割読み込みをします。
http://homepage2.nifty.com/natupaji/DxL ... .html#R3N3
このうち。横の数が変わるなら。
AllNum : 画像の分割総数
XNum : 画像の横向きに対する分割数
を変更する必要があります。
AllNumが変化するので
HandleBuf : 分割読み込みして得たグラフィックハンドルを保存するint型の配列へのポインタ
の引数に使う配列宣言もAllNumに合わせる必要があります。
[追記]
あと表示をどうするのとか色々ありますので、現状のソースコードをcodeタグで貼りつけて貰ったほうが早いと思います。
出来ればシンプルに改造したシンプル版がベストです(これを作るだけでも勉強になります)。
http://homepage2.nifty.com/natupaji/DxL ... .html#R3N3
このうち。横の数が変わるなら。
AllNum : 画像の分割総数
XNum : 画像の横向きに対する分割数
を変更する必要があります。
AllNumが変化するので
HandleBuf : 分割読み込みして得たグラフィックハンドルを保存するint型の配列へのポインタ
の引数に使う配列宣言もAllNumに合わせる必要があります。
[追記]
あと表示をどうするのとか色々ありますので、現状のソースコードをcodeタグで貼りつけて貰ったほうが早いと思います。
出来ればシンプルに改造したシンプル版がベストです(これを作るだけでも勉強になります)。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
- Dixq (管理人)
- 管理人
- 記事: 1662
- 登録日時: 15年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: 画像ループについて
ループカウンタの作り方が分からないということでしょうか?
0,1,2,3, 0,1,2,3...
というループを作りたければ
cnt = (cnt+1) % 4;
とすればよいですし、0から7までループするカウンタを作りたければ
cnt = (cnt+1) % 8;
でよいです。
4,5,6,7, 4,5,6,7...
のようなカウンタであれば、上で作ったcntに4を足せば良いでしょう。
0,1,2,3, 0,1,2,3...
というループを作りたければ
cnt = (cnt+1) % 4;
とすればよいですし、0から7までループするカウンタを作りたければ
cnt = (cnt+1) % 8;
でよいです。
4,5,6,7, 4,5,6,7...
のようなカウンタであれば、上で作ったcntに4を足せば良いでしょう。