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


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
1228
初心者シューティングゲーム制作中6解決


初心者

リンク

2006/12/28(Thu) 14:14:52|NO.4451

別に気にしなくてもいいかもしれないんですけど、
今シューティングゲームを作っているんですけど、
画面を更新するたびに画面にちらつきが出るんです。
他の人の作品(たとえばコンテストの)やつを見ると、
ちらつきがないんですけどあれはどうなっているんですか?
話は変わるんですけど私は最近画像のだしかたとか分かったんですけど、
皆さんはそういうのを覚えるのにどれくらいかかったんですか?
それってどうやって覚えてるんですか?教えてください。
(いつの間にか質問になっていた・・・)お願いします。



この記事に返信する


ww302jp

リンク

2006/12/28(Thu) 15:12:28|NO.4454

clsとかループしながら使ってるとチラつくんだな...

だからこうすることよくあるよ(自分の中で...)

---汚いけどスクリプト---

onkey goto *label *label p=0:a=0:b=0:c=0 sysfont onkey 0 c=3 b=rnd(4) repeat if a=400:if c=b+1:p+1:a=0:b=rnd(4) if a=400:if c!b+1:font "fontname",30:pos 130,150:mes " ゲームオーバー\r\r(C)ホームページランド 2006":onkey 1:stop stick d if d=1:c-1 if d=4:c+1 redraw 2 color 255,255,255:boxf color 0,0,0 pos 0,0:mes "点数"+p+"点" a+4 if b=0:pos 100,a:mes "●" if b=1:pos 200,a:mes "●" if b=2:pos 300,a:mes "●" if b=3:pos 400,a:mes "●" if c=1:pos 100,400:mes "■" if c=2:pos 200,400:mes "■" if c=3:pos 300,400:mes "■" if c=4:pos 400,400:mes "■" redraw 1 wait 1 loop

はい、おちるものをキャッチするゲームです
←と→で操作ですよ(関係ないか...
あとゲームオーバーになった時なにかキーを押すと再開するみたい...(そうしているだけ,,


---詳細---

repeat redraw 2 color 255,255,255:boxf color 0,0,0 ;ループですること redraw 1 wait 1 loop
はい、clsで画面をクリアするのではなく
こんな風にクリアしていけばループでもチラつきがなくクリアできますよ!]




※ゲームプログラムには著作権がありますので個人だけの使用を許すものとします



ww302jp

リンク

2006/12/28(Thu) 15:25:56|NO.4456

あと質問の回答

>話は変わるんですけど私は最近画像のだしかたとか分かったんですけど、
>皆さんはそういうのを覚えるのにどれくらいかかったんですか?
>それってどうやって覚えてるんですか?教えてください。

「画像のだしかた」ですか?それってpicload命令のことですか?
picload命令でしたら私は使い始めてすぐ分かりましたよ...

最初はmes命令でメッセージを表示してdialog命令でダイアログを表示させて...
そしてpicload命令を使って画像を表示させてと...
どんどん覚えていきましたね...
でもまだ初心者ですよ私も...
早く自分の手で大傑作ってもんを作ってみたいものです...

ってことでおまけ(って別にいいのに

*abc cls width 300,200 title "記憶力テスト" font "fontname",30 pos 70,20:mes "記憶力テスト":sysfont pos 90,180:mes "(C)ホームページランド 2006" pos 70,80:objsize 160,25:button gosub "ゲームスタート",*label1 pos 70,105:objsize 160,25:button gosub "バージョン",*label2 pos 70,130:objsize 160,25:button gosub "ホームページランドにアクセスする",*label3 pos 70,155:objsize 160,25:button gosub "終わる",*label4 stop *label1 b="" cls font "fontname",25 title "記憶力テスト" pos 10,5:mes "得点:"+d+"点" pos 30,60:mes "次の数字を覚えましょう!" randomize a1=rnd(9) a2=rnd(9) a3=rnd(9) a4=rnd(9) a5=rnd(9) pos 40,90:mes " 「"+a1+a2+a3+a4+a5+"」" title "記憶力テスト(のこり5秒)" wait 100 title "記憶力テスト(のこり4秒)" wait 100 title "記憶力テスト(のこり3秒)" wait 100 title "記憶力テスト(のこり2秒)" wait 100 title "記憶力テスト(のこり1秒)" wait 100 title "記憶力テスト" cls pos 20,55:mes "覚えた数字を入力しよう!" pos 90,85:input b,100,18,5 pos 115,105:objsize 50,25:button "OK",*label1a1 stop *label1a1 c=""+a1+a2+a3+a4+a5 if b=c:d+1:dialog "正解!\r合計得点"+d+"点",0,"正解!":goto *label1 dialog "不正解\r正解は「"+c+"」です\r合計得点"+d+"点",0,"不正解":d=0:goto *abc *label2 dialog "記憶力テストβ版\rこのソフトはノーサポートです",0,"バージョン" stop *label3 dialog "インターネットに接続します\rよろしいですか?",2,"ホームページランドにアクセスする" if stat=7:stop exec "http://homepageland.nomaki.jp/",16 stop *label4 end

ではww



ww302jp

リンク

2006/12/28(Thu) 15:27:36|NO.4457

あとさっきのおまけも...
ゲームプログラムには著作権がありますので個人だけの使用を許すものとします
ですのでww



V

リンク

2006/12/28(Thu) 15:28:51|NO.4459

偉そうに著作権だとよ。誰かがその著作権を侵害したら頑張って親を説得して訴えてもらいなよ。
そんなしょうもないスクリプトぐらいでは親は相手にしないだろうけどな。



ww302jp

リンク

2006/12/28(Thu) 15:42:08|NO.4461

著作権とは点ひとつ書いた絵でさえ発生するものです(著作権破棄しない限り)
ですので「偉そうに著作権だとよ」はおかしいと思います
何も偉くありませんよ...



七次元

リンク

2006/12/28(Thu) 16:00:53|NO.4465

とりあえずちらつきを失くしたいのならredraw命令
シューティング系のゲームならwaitではなくawaitをループ内に入れましょう

*main redraw 0;メモリ内に書きこむが画面に反映しない 〜背景など描写〜;背景がある場合はboxfは不要 redraw 1;画面を描写 goto *main

サンプルがこんな感じ
←、→、スペースキー使用

//init my_x = 300 dim shot,2,50 repeat 50 shot.1.cnt=-30 loop Nshot=0 *main redraw 0 color 255,255,255:boxf stick key,21 if key&1:my_x -= 5 if key&4:my_x += 5 if my_x<0:my_x=0 if my_x>620:my_x=620 if key&16:shot.0.Nshot=my_x,400:Nshot++:if Nshot>50:Nshot=0 pos my_x,400 color 0,0,255 mes "■" repeat 50 if shot.1.cnt<-20:continue shot.1.cnt-=10 pos shot.0.cnt,shot.1.cnt mes "||" loop await 10 redraw 1 goto *main
※ゲームプログラムには著作権がありますとか言っても楽しく無いし、こんなものに著作権をつける意味がないのでフリーでございますぅ



久々に面白い人が登場しましたね。
>picload命令でしたら私は使い始めてすぐ分かりましたよ...
誰もpicloadがわからないなんていってないと思うんですが
初心者さんは
たくさんある命令を覚えるのにどれくらい時間がかかったか?
また、効率的な覚え方はあるのか?
って感じですよね? 自分はhsp2の頃からやってますがhsp3になってから断然に覚えやすく(組みやすく)なったと思います。
標準命令ならエディタで文字色が変わるし、F1ヘルプも使いやすくなってるし。
とりあえず命令の一部(memcpyならmemとか)だけ打ってF1押すとかで結構楽にできますよ。
こういう場合は関連した命令(memfileやmemsetなど)も出てきますし全部覚える必要無し。

それではシューティングゲームの製作、がんばってください

Vさん>
小学生とは何でも自慢したい年頃なんですよ
偉そうにしたい年頃なんでしよ
文面なんか気にせず気楽に投稿できる年頃なんでしよ



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