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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0216
TODO★よけゲーム7解決


TODO

リンク

2008/2/16(Sat) 11:22:44|NO.13568

★が当たったときだけダメージを食らうようにしたいのですが
ジャンプするとダメージが食らってしまいます。
どうすればなおるのですか?



MX=220 MY=10 mk=30 hpp=2000 *kjkjk cls 0 mes mk mes "体力"+hpp pos MX,MY ;自キャラ表示 mes"A" color 0,0,0 line 0,250,500,250 color 0,0,0 line 100,150,250,150 pos mx,60 color 255,0,255 mes"★" pos po,my color 255,0,255 mes"★" pos mx,60 color 255,0,255 mes"★" pos 39,49 color 255,0,255 mes"★" pos ki,po color 255,0,255 mes"★" pos mx,60 color 255,0,255 mes"★" pos my,po color 255,0,255 mes"★" pos mx,60 color 255,0,255 mes"★" pos 39,po color 255,0,255 mes"★" pos ki,px color 255,0,255 mes"★" pos kk,mx color 255,0,255 mes"★" pos my,mx color 255,0,255 mes"★" if mk>1000{ pos mx,60 color 255,0,255 mes"★" pos pk,my color 255,0,255 mes"★" pos mx,pk color 255,0,255 mes"★" pos 39,mx color 255,0,255 mes"★" pos mx,po color 255,0,255 mes"★" } stick KY,31 if (KY&1)=1 :MX=MX-8 :if MX<0 :MX=0 ;左移動 if (KY&4)=4 :MX =MX+8 :if MX>448 :MX=448 ;右移動 if (KY&2)=2 :MY=MY-50 :if MY<0 :MY=0 ;上移動 await 30 mk+5 po+8 pk-3 if hp>0{ end} pget mx,my if ginfo_r!0 {my+10} pget mx,my if ginfo_r=255 {hpp-1000} px-7 if po>300{ po-300} goto *kjkjk



この記事に返信する


eller

リンク

2008/2/16(Sat) 11:51:58|NO.13570

ダメージ判定の部分に問題があるからです。

if ginfo_r=255 {hpp-1000}
これだとginfo_rの値が255の場合にダメージが与えられます。
しかしピンク(星)だけでなく白(背景)も赤色の輝度(pgetした後のginfo_r)が255ですので、ジャンプ中は必ずダメージを受けてしまいます。

> どうすればなおるのですか?
なおしかたはいろいろあります。
たとえば「cls 0」を「cls 1」や「color 254, 254, 254 : boxf : color : pos 0, 0」に変えるだけでもなおります。
他にもダメージ判定の方法(色ではなく距離で調べるなど)を変えてしまうことでもなおります。

また少々脱線しますが、配列変数やredrawなどの使い方を身につけると、わかりやすく簡単にプログラムを書くことができます。
少し難しいかもしれませんが↓のページなどが役立つと思いますので、気が向いたら見てみてくださいね。
http://hspdev-wiki.net/?%A5%AD%A5%E3%A5%E9%A5%AF%A5%BF%A1%BC%B4%C9%CD%FD
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



f

リンク

2008/2/16(Sat) 11:55:42|NO.13571

ヒント:
ジャンプした時に減っているんじゃない。
ginfo_r = 255の時に減っているんだ。

これでもう少し考えてみ?



f

リンク

2008/2/16(Sat) 11:56:28|NO.13572

あらら、少し遅かったか。



TODO

リンク

2008/2/16(Sat) 12:52:14|NO.13573

ellerさん、fさん、ありがとうございます。
ためしてみます。



TODO

リンク

2008/2/16(Sat) 13:06:46|NO.13574

ellerさんの「color 254, 254, 254 : boxf : color : pos 0, 0」に変える方法で
なおりましたが、ぶら下がっているときに★に当たってもダメージを受けません。
これはどうすればなおるでしょうか。
おしえてください。



f

リンク

2008/2/16(Sat) 14:47:10|NO.13576

・・・。
つーか、そゆ困り方すると言う事は、根本的にこれがどういう動作しているか
判ってねんでね?

ちょっと、ぶら下がっている時と★に当たった時とのginfo_rの値の違いを言ってみ?



TODO

リンク

2008/2/16(Sat) 14:53:45|NO.13577

fさんありがとうございます。
解決しました。



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