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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0807
Independenceドラクエとかで・・・。10解決


Independence

リンク

2012/8/7(Tue) 13:40:11|NO.48233

ドラクエとかのRPGでダメージを受けたらキャラが振動というか震えますよね??

そうれはどうやったらできますか?
ご回答お待ちしております



この記事に返信する


spider

リンク

2012/8/7(Tue) 14:27:04|NO.48236

仮想画面に現在の画をコピーして、
それをずらして描写とか。

色々あると思いますよ。



Independence

リンク

2012/8/7(Tue) 14:31:05|NO.48237

すみません><
なにか例文てきなソース書いてください><



うぼー

リンク

2012/8/7(Tue) 14:38:24|NO.48239


buffer 1 mes "うわぁ" screen 0 repeat pos 47+rnd(7),47+rnd(7) gcopy 1,0,0,50,20 redraw 1 await 16 redraw 0 color 255,255,255:boxf:color loop
buffer 1が揺らす対象の画像バッファ(キャラクターの画像)



Independence

リンク

2012/8/7(Tue) 14:43:56|NO.48240

ありがとうございます^^
すごいです!



spider

リンク

2012/8/7(Tue) 14:56:25|NO.48242

もうおわっちゃったみたいだけど、
作ったのでとうこうします。

buffer 2 ;仮想画面の初期化
screen 0 //ゲーム画面っぽいのをまず描画(実際は本当のゲーム画面) color 200, 200, 200 :boxf ;画面を灰色に塗りつぶし color 50, 50, 50 :boxf 50, 350, 199, 449 ;主人公の情報のボックス(?) color 255, 255, 255 pos 55, 350 mes {"主人公 Lv.50 HP 85/100 MP 20/35"} color 0, 0, 0 pos 260, 150 font msgothic, 120 mes "敵" wait 100 ;一秒待つ //揺らす gsel 2 pos 0, 0 gcopy 0, 0, 0, 640, 480 ;仮想画面に現在の画面をコピー gsel 0 Shindou = 5 repeat 10 redraw 0 color 200, 200, 200 :boxf ;画面クリア if (cnt\2 == 0) :X = -Shindou if (cnt\2 == 1) :X = Shindou pos X, 0 gcopy 2, 0, 0, 640, 480 if (cnt\2 == 1) :Shindou-- ;振動を減らす redraw 1 wait 10 loop



Independence

リンク

2012/8/7(Tue) 15:22:44|NO.48243

ありがとうございます^^
つまらないゲームを作ったのですが、画像を人道させるソースをどこに入れればいいか
わかりません><すみませんが教えてください><
wait 150
mes "三成:人の気配を感じるぞ?探せ!"
wait 150
mes "部下:はっ!"
wait 100
goto *sousaku
*sousaku
objsize 80,20
button "あたりを見る",*deai
stop


*deai
cls
mes "ガサガサッ"
wait 150
mes "三成:向こうから来たな・・・。"
wait 150
goto *tojo
*tojo
cls
mes "慶次:この天下の傾奇者、前田慶次に何用だぁ!"
wait 150
mes "三成:前田慶次!いまここで打ち取る!"
wait 150
mes "慶次:望むところ。返り討ちにしてくれる"
wait 200
goto *hazime


*hazime
cls
pos 280,10
picload "武将1.bmp",1
pos 20,200
picload "武将3.bmp",2
pos 200,200
button "攻撃",*main
stop
*main
mes"三成の攻撃"
wait 100
goto *mitunari

*mitunari
a=rnd(3)
if a=0 : mes "攻撃成功!35のダメージ" : wait 100 : goto *kekka
if a=1 : mes "攻撃成功!35のダメージ" : wait 100 : goto *kekka
if a=2 : mes "避けられた!" : wait 100 : goto *keizi
stop

*kekka
y=y-35
if y <= 0 : mes "慶次を打ち取った!" : wait 100 : mes "慶次:前田慶次打ち取ったり!" : wait 150 : end
goto *keizi

*keizi
mes "慶次の攻撃"
wait 100
goto *keizi2

*keizi2
b=rnd(3)
if b=0 : mes "攻撃をかわした!" : wait 100 : goto *hazime
if b=1 : mes "攻撃をかわした!" : wait 100 : goto *hazime
if b=2 : mes "50のダメージを受けた!" : wait 100 : goto *kekka2
stop

*kekka2
x=x-50
if x <= 0 : mes "三成は打ち取られた・・・。" : wait 100 : mes "この前田慶次、\nお前ごときには打ち取れぬわ!" : wait 200 : end
goto *hazime

がソースです><



spider

リンク

2012/8/7(Tue) 16:36:58|NO.48247

スクリプトはpreタグで囲いましょう。
buffer 2
screen 0 wait 150 mes "三成:人の気配を感じるぞ?探せ!" wait 150 mes "部下:はっ!" wait 100 goto *sousaku *sousaku objsize 80,20 button "あたりを見る",*deai stop *deai cls mes "ガサガサッ" wait 150 mes "三成:向こうから来たな・・・。" wait 150 goto *tojo *tojo cls mes "慶次:この天下の傾奇者、前田慶次に何用だぁ!" wait 150 mes "三成:前田慶次!いまここで打ち取る!" wait 150 mes "慶次:望むところ。返り討ちにしてくれる" wait 200 goto *hazime *hazime cls pos 280,10 ;picload "武将1.bmp",1 pos 20,200 ;picload "武将3.bmp",2 pos 200,200 button "攻撃",*main stop *main mes"三成の攻撃" wait 100 goto *mitunari *mitunari a=rnd(3) if a=0 : mes "攻撃成功!35のダメージ" : wait 100 : goto *kekka if a=1 : mes "攻撃成功!35のダメージ" : wait 100 : goto *kekka if a=2 : mes "避けられた!" : wait 100 : goto *keizi stop *kekka y=y-35 if y <= 0 : mes "慶次を打ち取った!" : wait 100 : mes "慶次:前田慶次打ち取ったり!" : wait 150 : end goto *keizi *keizi mes "慶次の攻撃" wait 100 goto *keizi2 *keizi2 b=rnd(3) if b=0 : mes "攻撃をかわした!" : wait 100 : goto *hazime if b=1 : mes "攻撃をかわした!" : wait 100 : goto *hazime if b=2 : mes "50のダメージを受けた!" : gosub *SUB : goto *kekka2 stop *kekka2 x=x-50 if x <= 0 : mes "三成は打ち取られた・・・。" : wait 100 : mes "この前田慶次、\nお前ごときには打ち取れぬわ!" : wait 200 : end goto *hazime *SUB gsel 2 pos 0, 0 gcopy 0, 0, 0, 640, 480 gsel 0 Shindou = 5 repeat 12 redraw 0 color 0, 0, 0 :boxf ;画面クリア if (cnt\2 == 0) :X = -Shindou if (cnt\2 == 1) :X = Shindou pos X, 0 gcopy 2, 0, 0, 640, 480 if (cnt\2 == 1) :Shindou-- ;振動を減らす redraw 1 wait 10 loop return

まあこんな感じでしょう。
あと、最初にrandomizeを実行しないと
結果はいつもおんなじですよ。
もう一つ。画像はpicloadで仮想画面に読み込んでからgcopyでコピーしてください。
でないとすごく低速です。



駆け出し君

リンク

2012/8/8(Wed) 15:21:12|NO.48296

>spiderさん
ありがとうございます

でもなぜか一回ダメージを食らうと死んでしまうのですがどうすればいいでしょうか?
すみません><



kanahiron

リンク

2012/8/8(Wed) 16:29:28|NO.48300


randomize x=100 //xのHP y=100 //yのHP buffer 2 screen 0 wait 150 mes "三成:人の気配を感じるぞ?探せ!" wait 150 mes "部下:はっ!" wait 100 goto *sousaku *sousaku objsize 80,20 button "あたりを見る",*deai stop *deai cls mes "ガサガサッ" wait 150 mes "三成:向こうから来たな・・・。" wait 150 goto *tojo *tojo cls mes "慶次:この天下の傾奇者、前田慶次に何用だぁ!" wait 150 mes "三成:前田慶次!いまここで打ち取る!" wait 150 mes "慶次:望むところ。返り討ちにしてくれる" wait 200 goto *hazime *hazime cls pos 280,10 ;picload "武将1.bmp",1 pos 20,200 ;picload "武将3.bmp",2 pos 200,200 button "攻撃",*main stop *main objenable 0,0 mes"三成の攻撃" wait 100 goto *mitunari *mitunari a=rnd(3) y_damage = 28+rnd(11) //yが受けるダメージ量の計算 この場合28〜38の範囲 if a=0 : mes "攻撃成功!"+ y_damage +"のダメージ" : wait 100 : goto *kekka if a=1 : mes "攻撃成功!"+ y_damage +"のダメージ" : wait 100 : goto *kekka if a=2 : mes "避けられた!" : wait 100 : goto *keizi stop *kekka y -= y_damage if y <= 0 { mes "慶次を打ち取った!" wait 100 mes "慶次:前田慶次打ち取ったり!" wait 150 end } goto *keizi *keizi mes "慶次の攻撃" wait 100 goto *keizi2 *keizi2 b=rnd(3) x_damage = 40+rnd(21) //xが受けるダメージ量の計算 この場合40〜60の範囲 if b=0 : mes "攻撃をかわした!" : wait 100 : goto *hazime if b=1 : mes "攻撃をかわした!" : wait 100 : goto *hazime if b=2 : mes ""+ x_damage +"のダメージを受けた!" : gosub *SUB : goto *kekka2 stop *kekka2 x -= x_damage if x <= 0 { mes "三成は打ち取られた・・・。" wait 100 mes "この前田慶次、\nお前ごときには打ち取れぬわ!" wait 200 end } goto *hazime *SUB nX = ginfo(22) //現在のカレントポジションxを取得 nY = ginfo(23) //現在のカレントポジションyを取得 gsel 2 pos 0, 0 gcopy 0, 0, 0, 640, 480 gsel 0 Shindou = 5 repeat 12 redraw 0 color 0, 0, 0 :boxf ;画面クリア if (cnt\2 == 0) :XX = -Shindou if (cnt\2 == 1) :XX = Shindou pos XX, 0 gcopy 2, 0, 0, 640, 480 if (cnt\2 == 1) :Shindou-- ;振動を減らす redraw 1 wait 10 loop pos nX,nY //カレントポジションをもとに戻す return

ソースを色々見やすいように改良(?)と可変ダメージなど勝手にやってしまいました
またspiderさんの追加された所でカレントポジションが狂うのと
変数xがかぶっていたので修正しました



Independence

リンク

2012/8/8(Wed) 20:58:03|NO.48323

>kanahironさん
ありがとうございます^^

いまはつまらないゲームですがいろいろ勉強してもっと面白いゲームをつくります!



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