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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0821
そけっとキャラクターを動かしたいです3未解決


そけっと

リンク

2012/8/21(Tue) 19:40:14|NO.48735

こんにちは、HSPはじめて日の浅いそけっとです。

突然本題に入りますが、カーソルキーを押してキャラクターを動かそうと思います。
キーを押して画像を動かすところまではできましたが、足を出したり
歩行アニメーションというんでしょうか、それができません。
ゲームの中の処理なので、repeat命令などは使えないと思い、適当なところで
変数の値を増やし、それが7などで割り切れるとき、右足を出す、みたいにしたんですけど
 停止画像→右足が出ている画像が一瞬だけ出る→停止画像
のようになってしまいました。
違う方法として、右カーソルキーを押してからの時間で
表示する画像を変えようと思いましたが、そもそもできませんでした。
どうしたら、一定の間隔で画像を表示できるか教えてください。
少し長くなったうえに説明が分かりづらくてすみません。



この記事に返信する


spider

リンク

2012/8/21(Tue) 21:21:25|NO.48738

割った余りを使えばいいんじゃないですか。
7で割った余りが4以上だったらとか。



774

リンク

2012/8/21(Tue) 21:54:43|NO.48740

こんばんは。
7で割り切れる時だと、7回中1回しか表示されない為
一瞬だけの表示になるのではないかと予想して書きます。

;右 > 止 > 左 > 止の4コマアニメと仮定して ;1コマ当りの表示時間(7)×コマ数(4)を超えたら最初に戻します アニメ変数 = アニメ変数 \ (7*4) switch アニメ変数/7 case 0 ; 0〜 6 /* 右前画像表示 */ swbreak case 2 ;14〜20 /* 左前画像表示 */ swbreak default ; 7〜13, 21〜27 /* 停止画像表示 */ swend
こんな感じでどうでしょうか? 数値等は適宜変更して下さい。

またカーソルキーを押していない時はアニメ変数を0に戻した方が良いかも知れません。



暇人

リンク

2012/8/21(Tue) 22:32:53|NO.48741

色々方法があるからどれを選んで説明するか迷うけど

カウンターを基準のフレーム数で割って
商を基準の画像ナンバーに加減算する方法

celload dir_exe+"\\sample\\game\\trump.bmp",1 celdiv 1,96,128,96/2,128/2 x=300 y=300 anm_C=6 //停止時のセルナンバー(アニメ枚数としても使用) anm_L=5 //左移動時の開始ナンバー(0〜5の6枚を繰り返し) anm_R=7 //右移動時の開始ナンバー(7〜12の6枚を繰り返し) anm_fps=7 //アニメーション切り替えフレーム数 my_no=anm_C //自分表示用セルナンバー *main redraw 0 gradf 0,0,640,480,1,0,$8888 stick stk,$ff if stk=0 {anm_cnt=0 : my_no=anm_C}//アニメカウンターを初期化、自分セルナンバー初期化 if stk&1 { x-- my_no=anm_L-((anm_cnt/anm_fps)\anm_C)//左移動の基準セルナンバーからカウンターを割った商を引く(引くのは商をアニメ枚数で割った余り) anm_cnt++ } if stk&4 { x++ my_no=anm_R+((anm_cnt/anm_fps)\anm_C) anm_cnt++ } pos x,y celput 1,my_no redraw 1 await 15 goto *main



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