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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0618
gifアニメーション??ぱらぱら漫画みたいな感じ7解決


リンク

2008/6/18(Wed) 07:38:32|NO.16813

gifのアニメーションを使いたいと思って
画像を1コマずつ表示させては消す、のを繰り返したら
どうにかならないかと考えてます

この間DLしてきたばかりの初心者なのですが、そういうのは無理なんでしょうか?

http://lhsp.s206.xrea.com/hsp_tips3.html
ここは見たんですが透過が出来ない?みたいで
パラパラ漫画みたいなのって皆さんどうやって作ってるんでしょう・・・
背景があると無理なんですかね?



この記事に返信する


あり

リンク

2008/6/18(Wed) 11:03:46|NO.16814

アニメGIFをHSPで使いたいのか
HSPでアニメGIFと同じアニメがさせたいのかによって
方法が変わってきますがHSPでのアニメGIFの扱いは
再生以外はちょっと難しいようですね
専門的な知識があれば可能だとは思うのですが・・・

HSPでアニメGIFと同じアニメ(パラパラ漫画)を使うのなら
『Giam』等のツールで一度GIFをBMP等にコマ分割して
HSPのバッファに読み込んでひとコマずつコピーするのが
簡単な方法だと思います。(buffer命令参照)
この場合に透過処理を行いたいのなら
gcopyとgmodeのHELPに説明がありますよ。

・・・これで質問の答えになっていますでしょうか?(汗)



リンク

2008/6/18(Wed) 21:52:09|NO.16816

レスありがとうございます

>>アニメGIFをHSPで使いたいのか
結果的にパラパラ漫画のような表示が出来るのならどっちでも構わないと思ってます
やっぱり難しいですか・・・

>>『Giam』等のツールで
ありがとうございます!
最終的にはその方法でやってみる事にします
透過の方法はなんとか分かります
その後?はboxf?とかで消しては表示、でいいんですよね?

例えば100*100の画像を1000*100にして
ループ機能使って代入して表示させるだとか
を聞いたことがあるのですが、それは可能なのでしょうか・・・
本当にループを使うという事しか教えてもらえず
答えてくれた方のサイトも閉鎖してしまいorz

可能ならなんとか頑張ってみようかと思ってるんですが
HSPに詳しい人からすると「無理に決まってるじゃん」ですかね?



初心者なのでトンチンカンな事言ってるとは思いますが;
よろしくお願いします



ぽこみち

リンク

2008/6/18(Wed) 22:31:29|NO.16817

透過は使用していません。全てのコマ画像を書いて処理する方法です。
透過も勿論ありますが、最初はこちらでどういったものか学んでください。

//画像を指定した時間で切り替えるスクリプトです。 //1000*100の(test.bmp)画像を用意して下さい。 //変数 ;説明のため全ての座標に変数を使用していますが、大きさが決まっているなら"sx"以外必要ないです。 ;gcopyに決まっているサイズを直接書いてください。 sx=0 ;コピーする画像の左上のX座標 sy=0 ;コピーする画像の左上のY座標 ex=100 ;コピーする画像の大きさ、右下のX座標 ey=100 ;コピーする画像の大きさ、右下のY座標 //画像の読み込み buffer 1 ;画像を一時的に保存しておく画面(ディスプレイには表示されません) picload "test.bmp" ;画像を読み込む //表示とその処理 gsel 0,2 ;表示させる画面(ディスプレイに表示されます) repeat 10 ;10回繰り返し(10コマ分) gcopy 1,sx,sy,ex,ey ;buffer 1に保存した画像をgsel 0の画面にコピーする sx+=100 ;次の画像の座標に移動させる為、左上のX座標に100を追加 wait 100 ;画像が切り替わる待ち時間 loop ;repeatまで戻る



あり

リンク

2008/6/18(Wed) 22:35:09|NO.16818

>例えば100*100の画像を1000*100にして
>ループ機能使って代入して表示させるだとか

簡単な例だと

screen 0,100,100,0 :cls 4 buffer 1,1000,100,0 picload "読み込む画像ファイル" *main gsel 0 gmode 1,100,100 ;透過するなら1を2に repeat 10 x=cnt*100 redraw 0 color 0,0,0 :boxf pos 0,0 gcopy 1,x,0 redraw 1 wait 10 loop goto *main stop

こんな感じでどうでしょうか?




あり

リンク

2008/6/18(Wed) 22:40:53|NO.16819

レスを書いている間にぽこみちさんが
よりわかり易いサンプルを書いてくれてましたね(汗)

やっている事はほとんど同じなので
私の記事は見なかったことにしておいてください(汗)



GENKI

リンク

2008/6/18(Wed) 22:53:53|NO.16820

> 結果的にパラパラ漫画のような表示が出来るのならどっちでも構わないと思ってます
> やっぱり難しいですか・・・

アニメーションの仕組みさえ知っていれば簡単ですよ。
むしろアニメーションはゲームを作る上では必須ともいえる機能ですよ。
アニメの仕組みはパラパラ漫画と同じ原理ですんで、その理解は大丈夫なようですね。あとはHSPでの表現方法の問題です。

若干違いますが解説ページを紹介しておきます。
基本的にはこの方法でアニメーションを作成することが出来ます。工夫してやってみてください。
http://hspdev-wiki.net/?HSP%B9%D6%BA%C2%2F%B4%F0%CB%DC%C5%AA%A4%CA%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8%A4%CE%A5%D1%A5%BF%A1%BC%A5%F3

ちょっとだけ補足説明:
上のページに足りない部分を補足します。
あとは、1個の画像を移動させるかわりに、たくさん画像を用意して、それを順番に表示させるだけです。
といってもたくさんの画像を1個ずつbuffer命令で確保すると大変です。
通常はアニメで使う画像をタイル上に並べた画像を用意します。(タイル上というかカメラのフィルム状というか…。)
あとは、gcopy等でコピーするときに、コピー元の座標を表示したい絵にあわせて移動させてそこからコピーしていけばいいわけです。
> 例えば100*100の画像を1000*100にして
とは、つまりそういうことです。



リンク

2008/6/19(Thu) 01:08:37|NO.16822

ぽこみちさん、ありさん、GENKIさん
レスありがとうございます!

1000*100ってのは100*100の画像を10個繋げて1枚の画像ってことか

なんとか分かってきました・・・
URLも読んできます
ありがとうございました!



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