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


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
0712
Pastel6画像のアニメーションを1クリックで8解決


Pastel

リンク

2006/7/12(Wed) 18:01:51|NO.1333

今、HSP3.0でゲームを作っていて躓いたのですが、
6個の画像のアニメーションを作り、それを1回のクリックで全て表示したい(ボタンから手を離して)のですが、
その様なことはできるのでしょうか?
かなりの初心者ですが、回答を頂ければ幸いです。



この記事に返信する


Luna

リンク

2006/7/12(Wed) 19:22:19|NO.1334

>6個の画像のアニメーションを作り、それを1回のクリックで全て表示したい(ボタンから手を離して)のですが
よく意味が分かりません。
「6個の画像のアニメーション」というのを教えてください。



Pastel

リンク

2006/7/12(Wed) 19:41:26|NO.1335

キャラクタの画像を、少しずつ動かした画像を6個作って、それをアニメーションになるように
プログラムを組みました。(HSPの本にのっているものを参考に)

buffer 1 picload "zero.bmp" screen 0,480,320 gmode 0 *DRAWLOOP redraw 0 pos 0,0 gcopy 1,0,100*ANIM,100,100 ANIM=(ANIM+1) \9 redraw 1 wait 10 goto *DRAWLOOP



Luna

リンク

2006/7/12(Wed) 19:51:40|NO.1336


buffer 1 : picload "zero.bmp" buf1x = ginfo(10) : buf1y = ginfo(11) screen 0,480,320 gcopy 1,0,0,buf1x,buf1y
とするとできると思います。
つまり、バッファ1の内容をすべて表示しているのです。



Pastel

リンク

2006/7/12(Wed) 21:59:11|NO.1337

画像すべてを一度に表示するのではなくて、100×900の画像に、100×100ずつキャラが9個書いてあるのを、
上から順番に100×100の画像一つずつ連続で表示して動いてるようにみせるプログラムを、
クリックで動かすようにしたいのです。



レヴィン

リンク

2006/7/13(Thu) 11:01:03|NO.1340

>>上から順番に100×100の画像一つずつ連続で表示して動いてるようにみせるプログラムを、
>>クリックで動かすようにしたいのです。

意味がわかりません。ANIM=(ANIM+1) \9だけでは

・1クリックごとにアニメーションが1コマ進む
・1クリックすると、最後までアニメーションする

のどっちにも取れます。

それがはっきり示されないと、おそらく誰も回答できないと思いますが。



Pastel

リンク

2006/7/13(Thu) 14:42:49|NO.1341

すいません。説明不足でした。
1クリックすると、最後までアニメーションする方です。
何度もすいません。



レヴィン

リンク

2006/7/13(Thu) 17:01:10|NO.1343


buffer 1 picload "zero.bmp" screen 0,480,320 gmode 0 ANIM=0 ;アニメパターンNo初期化 ;-----------------マウスのクリック待ち------------------ *click_wait redraw 0 color 0,0,0 ;画面クリア boxf 0,0,480,320 ; pos 0,100:color 255,255,255 mes "アニメ停止中\n左クリックでアニメ開始(再開)" stick a,15,1 if (a&256):goto *DRAWLOOP ;マウスの左クリック ;をしたらアニメ開始 pos 0,0 gcopy 1,0,(100*ANIM),100,100 ;アニメの1パターン目を表示 await 1 redraw 1 goto *click_wait ;-------------------------ここまで------------------------ *DRAWLOOP redraw 0 color 0,0,0 ;画面クリア boxf 0,0,480,320 ; pos 0,100:color 255,255,255 mes "アニメ中\n右クリックでアニメ停止" stick a,15,1 if (a&512):goto *click_wait ;マウスの右クリック ;をしたらアニメ停止 pos 0,0 gcopy 1,0,100*ANIM,100,100 ANIM=(ANIM+1) \9 redraw 1 wait 10 goto *DRAWLOOP



こんな感じでいいですか?
なんか余計な機能までつけてしまいましたけど。
ちなみにメインループは、コメントの付いているところ以外そのままです。

左クリックでアニメ開始(再開)、右クリックでアニメ(一時)停止です。

後は煮るなり焼くなり、Pastelさんの好きにして下さい。



Pastel

リンク

2006/7/13(Thu) 18:48:43|NO.1345

うまくいきました。今回はどうもありがとうございました。



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