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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0901
shiokazuアクションゲームで自機の画像が変えられないです。4未解決


shiokazu

リンク

2014/9/1(Mon) 10:14:59|NO.64580

HSP初心者です。
マリオのようなアクションゲームを作りたくて苦戦してます。

↓いろいろ探して見つけた土台のソースです。


//Map
dim map,17,13
map(0,0)=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
map(0,1)=1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
map(0,2)=1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
map(0,3)=1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1
map(0,4)=1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1
map(0,5)=1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
map(0,6)=1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1
map(0,7)=1,1,0,0,0,0,1,0,1,0,0,1,0,0,0,0,1
map(0,8)=1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,1
map(0,9)=1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1
map(0,10)=1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
map(0,11)=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1

screen 0,680,480
color 0,0,0
boxf
x=100:y=300:size=30
repeat
ax=0
stick sk,$5
if sk&4 : ax=2
if sk&1 : ax=-2
if (sk&2) : if skf=0 : ay=-14:skf=1
ay++
y+=ay
a=x/40:c=(x+size)/40
b=y/40:d=(y+size)/40
z=map(a,b)+map(c,b)+map(a,d)+map(c,d)
if z>0 {
if ay>=0 { y=d*40-size-1:ay=0:skf=0}
else {y=b*40+40:ay=0}
}
x+=ax
a=x/40:c=(x+size)/40
b=y/40:d=(y+size)/40
z=map(a,b)+map(c,b)+map(a,d)+map(c,d)
if z>0 {
if ax>=0 { x=c*40-size-1}
else {x=a*40+40}
}
//Map 色・全体サイズ変更
redraw 0
color 0,0,0 //背景色
boxf
color 255,255,255 //背景ブロック色
//Y軸
repeat 13
yy=cnt

//X軸
repeat 17
xx=cnt
if map(xx,yy)=1 : boxf xx*40,yy*40,xx*40+38,yy*40+38
loop
loop
color 255,0,0 //自機(色)
boxf x,y,x+size,y+size
redraw 1
await 17
loop

これでマップの編集もキャラ移動もできてます。
でも色つきの箱が動くだけで画像が動いてるわけではないようです。
picloadだとエラーになりました。


この箱と同じサイズの画像をロードできるようにしたいです。
もしそれができたら歩くアニメーションも入れられようにできますか?

画面の切り替え(ステージ1→ステージ2)の動きはできますか?

お願いします。



この記事に返信する


mamo

リンク

2014/9/1(Mon) 10:29:48|NO.64581

まずは用意した画像を移動させるだけのものを作ってみたら?



ぴょぴょ

リンク

2014/9/1(Mon) 12:26:31|NO.64583

> color 255,0,0 //自機(色)
> boxf x,y,x+size,y+size
ここの2行を画像にすれば良いのでしょう。
分かりますか?

> picloadだとエラーになりました。
> この箱と同じサイズの画像をロードできるようにしたいです。
多分、使い方が間違ってるのだと思います。
buffer 100,size,size
picload "自機.bmp" gsel 0
この3行を次の場所に挿入します。
screen 0,680,480
color 0,0,0 boxf x=100:y=300:size=30 : ここに記述 : repeat
続いて次の2行を
> color 255,0,0 //自機(色)
> boxf x,y,x+size,y+size
下のようにします。

pos x,y gcopy 100,0,0,size,size

> もしそれができたら歩くアニメーションも入れられようにできますか?
出来ますけど。
左は何歩、右は何歩で移動を考えてますか?

> 画面の切り替え(ステージ1→ステージ2)の動きはできますか?
はい。
単純にテキストファイルなどからマップ・データを読み込んで map 配列に代入すれば良いのです。
noteload、notegetなどでテキスト内容を読みだして peek 関数で1文字ずつmap配列に代入するとか。

> お願いします。
こちらこそ。
今後ともよろしくお願いします。



shiokazu

リンク

2014/9/3(Wed) 10:10:55|NO.64653

ぴょぴょさん
ありがとうございます!なんとか画像が入りました。
画像の切り替えで詳しくしりたいです。
参考になるサイトなどありますか?



Ve

リンク

2014/9/5(Fri) 03:07:32|NO.64689

↓画像入れてソースを改善させた物です。

http://ofuton.tk/veltina/2dact_sample..zip

画像の切り替えは、”いつ””どんなときに”に変えれば良いのか、
一つずつ考えながら作っていえば必ず答えに辿り着きますよ。



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