PlayLoud!!

Since1997

後から発射された弾が速い

弾幕系によくあるパターンの弾ですね。

今回からソース載せてみることにしました。HSP3.0で作りました。
画像は適当に用意してね。
ソースは続きをクリックして見てください。
いらない部分もあるけど、別アルゴリズムと共用しているのでお許しを。

;
;後から発射された弾が速い
;

#include"hspdxfix.as"

#define tama_max 1000
dim task,10

randomize

es_ini 1024,,64
es_screen 640,480,32,,1,1
if stat : dialog"HSPDXFIX : DirectXの初期化に失敗":end

buffer 2,640,480
picload "tama.bmp"
es_buffer 0
es_size 16,16
es_pat 1,0,0,0

picload "jiki.bmp"
es_buffer 1
es_size 64,64
es_pat 0,0,0,0

;メインループ

	kaiten=0
	mx=320
	my=400
	speed=4

	twait = 5
	tama = 30
	houkou = 0
	ntama = 1

	tx=320
	ty=20
repeat
	twait -= 1
	if twait <0 {
		es_set ntama,tx,ty,1
		es_adir ntama,(cnt \ 32)+48,((cnt/32)\4+2) * 60 + 60
		es_effect ntama,,,,,(cnt \ 32)+48
		
		ntama += 1
		if ntama > 1000 : ntama = 1
		twait = 1
	}


	pos 0,0
	color 255,255,255
	es_mes "fps:" + fps + "    " + dwait

	stick k,15
	if k&2 : my=my-speed : if my<0 : my=0
	if k&8 : my=my+speed : if my>414 : my=414
	if k&1 : mx=mx-speed : if mx<0 : mx=0
	if k&4 : mx=mx+speed : if mx>574 : mx=574
	if k&128 : end
	es_set 0,mx,my,0

	es_sync 16
	await 0
	es_getfps fps

;	es_cls 0,0,0

	es_exboxf 0,0,639,479,0,,,,ESB_ALPHA,50
	es_draw

	stick k,0
	if k & 128 : end

loop
stop