まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
色々と落ち着いて来たので、ボチボチ作製を再開しようかと思っています。
最初に作り始めたのが問題のレーザーだったのですが、これがまた上手く行かなくて試行錯誤を繰り返しているのですが全く上手く出来ません(汗)
最初はes_posで短いレーザーを連続表示して自機が動いた時にはその移動量をレーザー座標にプラスして動かそうとしたんですが上手くいかず
次にes_effectで一つの画像を縦に拡大させて表示するも当り判定でつまづき全然上手く出来ません・・・
なので、出来ない事で今やる必要がない事は後回しにする事にしているので、とりあえず保留。
暫定でレーザー画像を回転させてそれっぽく見えるようにしました。画像じゃわかりにくいですけどね^^;
それと新しい敵を作成中。
遅い弾幕を撃ってくる敵で、倒すと敵弾を全て消去する敵を作ってます。
この弾消去ですが、今まで弾消去する度に消去のスクリプトを書いていたのですが、そんな事しなくても弾消去スクリプトを別で書いておいて
消去したい時にgosubで飛ばせば良い事に気づきました^^
具体的には↓こんな感じで書いています。
*************************************
tamasyoukyocnt--
if tamasyoukyocnt>0 : gosub *tamasyoukyo
;メインルーチンに↑コレを入れておく
tamasyoukyont=100
;消去する時に↑コレをかけば100フレームは弾が消去される
*tamasyoukyo
tama=0
repeat
es_find tama,32,tama
if tama=-1 : break
es_get tx,tama,3 ;x座標取得
es_get ty,tama,5 ;y座標取得
es_kill tama ; 敵弾消失
es_exnew temp,1,499
if temp=-1 : break
if ename.tama=1:es_set temp,tx,ty,74
if ename.tama=2:es_set temp,tx,ty,68
if ename.tama=3:es_set temp,tx,ty,112
if ename.tama=4:es_set temp,tx,ty,68
es_adir temp,eh.tama,200
es_flag temp,%1000001100100000
if ename.tama=4:es_effect temp,16,16,0,0,0,ESB_ADD,256
tama++
loop
return
*************************************
これのおかげで、かなりスクリプトを短くする事が出来ました^^
と言っても既に2000行くらいあるんですが(汗)
最初に作り始めたのが問題のレーザーだったのですが、これがまた上手く行かなくて試行錯誤を繰り返しているのですが全く上手く出来ません(汗)
最初はes_posで短いレーザーを連続表示して自機が動いた時にはその移動量をレーザー座標にプラスして動かそうとしたんですが上手くいかず
次にes_effectで一つの画像を縦に拡大させて表示するも当り判定でつまづき全然上手く出来ません・・・
なので、出来ない事で今やる必要がない事は後回しにする事にしているので、とりあえず保留。
暫定でレーザー画像を回転させてそれっぽく見えるようにしました。画像じゃわかりにくいですけどね^^;
それと新しい敵を作成中。
遅い弾幕を撃ってくる敵で、倒すと敵弾を全て消去する敵を作ってます。
この弾消去ですが、今まで弾消去する度に消去のスクリプトを書いていたのですが、そんな事しなくても弾消去スクリプトを別で書いておいて
消去したい時にgosubで飛ばせば良い事に気づきました^^
具体的には↓こんな感じで書いています。
*************************************
tamasyoukyocnt--
if tamasyoukyocnt>0 : gosub *tamasyoukyo
;メインルーチンに↑コレを入れておく
tamasyoukyont=100
;消去する時に↑コレをかけば100フレームは弾が消去される
*tamasyoukyo
tama=0
repeat
es_find tama,32,tama
if tama=-1 : break
es_get tx,tama,3 ;x座標取得
es_get ty,tama,5 ;y座標取得
es_kill tama ; 敵弾消失
es_exnew temp,1,499
if temp=-1 : break
if ename.tama=1:es_set temp,tx,ty,74
if ename.tama=2:es_set temp,tx,ty,68
if ename.tama=3:es_set temp,tx,ty,112
if ename.tama=4:es_set temp,tx,ty,68
es_adir temp,eh.tama,200
es_flag temp,%1000001100100000
if ename.tama=4:es_effect temp,16,16,0,0,0,ESB_ADD,256
tama++
loop
return
*************************************
これのおかげで、かなりスクリプトを短くする事が出来ました^^
と言っても既に2000行くらいあるんですが(汗)
PR
この記事にコメントする
カレンダー
10 | 2024/11 | 12 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
リンク
カテゴリー
最新記事
(04/04)
(12/26)
(12/25)
(11/17)
(10/11)
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
最古記事