お初の方は右側カテゴリーより興味のある記事をご覧ください。まとめシリーズがおすすめです。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ゲーム作りは久々にソース見たら萎えたので、とりあえず最低限の形にして終了。
いやもう、最低限どころじゃない勢いで完成してませんが、一応遊べるようにしときました。
ダウンロード(zip)
*enemy_test
i = 0
while notemax > i
noteget stage_data,i
j = 0
index = 0
while j < 4
getstr stage_p.j,stage_data,index,','
index + strsize
j++
wend
pos 0,100 : es_mes "["+stage_data+"]"+stage_p.0+":"+stage_p.1+":"+stage_p.2+":"+stage_p.3+""
if frame == stage_p.0{
es_exnew enemy_no,0,512
es_set enemy_no,int(stage_p.2),int(stage_p.3),int(stage_p.1),1
es_apos enemy_no,-1,0
}
i++
wend
return
大昔にVBの練習でシューティングゲームを作った時です。
敵のパターンを全てコード中に収めた為、コードは肥大化、
その当時100行も書けば「自分頑張った!」と思ってた私が
10倍の5000行を書いたのは今でも覚えてます。
という事で今回のゲーム作りではその反省を生かし、
敵パターンは外部のファイルを読み込み、そこに記録された
データを元に出現、移動をするように組んでみました。
この手の仕掛けがすんなり動いたのは始めてかもしれません。
なんだかんだでスキルアップできてるのかも?と期待。
コレ考え付くよりも、文字列から指定された文字までを取得する
命令の名前を思い出すのに時間がかかった現実。
やっぱおじぃちゃんだわ。
;------------------------------------------------------------------
; 移動総合(X:Y慣性移動 背景スクロール)
;------------------------------------------------------------------
*kansei
;--------X慣性移動----------
if (key = 0) & (xspeed > 0) : xspeed--
if (key & 1) & (xspeed > 0) : xspeed - 5
if (key & 4) : if (xspeed < 1000) : xspeed++
while kasoku < 1000
kasoku + 20
if xspeed > kasoku : x++
wend
kasoku = 0
;----------------------------
;--------Y慣性移動----------
if (key = 0) & (yspeed > 0) : yspeed--
if (key = 4) & (yspeed > 0) : yspeed--
if key & 2 : yspeed++ : up_down = 0
if key & 8 : yspeed++ : up_down = 1
while kasoku < 1000
kasoku + 2
if yspeed > kasoku : if up_down = 0 : y-0.1 : else : y+0.1
wend
kasoku = 0
;----------------------------
;-------背景スクロール-------
pos 0,150
gmode 0,(800 - x),400
es_copy 1,x,0
pos (800 - x),150
gmode 0,800,400
es_copy 1,0,0
if x > 800 : x = 0
;----------------------------
return
ゲームで慣性表現をするためのコーディング
とりあえず今日はこんな感じ。
;_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
;タイトル 試作1号
;作成 120
;概要 キャラクター動作+全体的な環境
;備考
; HSP標準拡張プラグインHSPDX.DLL使用
; 上記に伴い要DirectX7以降
; HSP Ver3.1
;_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#include "hspdx.as"
#include "hsp3util.as"
;------------------------------------------------------------------
; HSPDX初期化コード
;------------------------------------------------------------------
es_ini ,,360
es_screen 800,600,24
if stat=1 : goto *dderr1
if stat=2 : goto *dderr2
goto *start ; 正常に完了
*dderr1
dialog "DirectXの初期化に失敗しました",1
end
*dderr2
dialog "スクリーンの初期化に失敗しました",1
end
*start
gsel 0
es_cls
es_sync
wait 100
;------------------------------------------------------------------
; ここから先に描画スクリプトを書いてください
;------------------------------------------------------------------
buffer 6,5000,600
picload "bg.jpg"
es_buffer 1,0,-1
buffer 5,800,600
picload "000.bmp"
es_buffer 0,0,-1
es_window -300,-300,1100,900
es_size 150,200,50
es_pat 0,0,0,5
es_pat 1,150,0,5
es_pat 2,300,0,5
es_pat 3,450,0,5
es_link 3,0
es_set 0,0,0,0,0,0
*main
stick key,13,0
if key & 1 : x--
if key & 2 : j=50
if key & 4 : x++
if key = 128 : end
if j > 0{
if (j < 50) & (j > 40) : y - 5
if (j < 40) & (j > 30) : y - 4
if (j < 30) & (j > 20) : y - 3
if (j < 20) & (j > 10) : y - 2
if (j < 10) & (j > 0) : y - 1
j--
}
if (y < 400) & (j = 0){
y + 5
}
es_pos 0,150,y
es_cls
pos 0,0
gmode 0,800,600
es_copy 1,x,0
es_mes "***"+j+"***"
es_draw
es_sync
await 0
goto *main
じゃあああああああああああんぷ
2007/12/09設置