keymove3.hsp

sample\game\keymove3.hsp » Plain Format

	;
	;	カーソルキーで画像を動かす(3)
	;
	celload "face.bmp"				; 元画像ファイル
	face=stat					; 元画像のIDを保存
	celdiv face,64,64,32,32			; パーツのサイズと中心位置

	x1=0 : y1=0					; 左上XY
	x2=640 : y2=480					; 右下XY

	mx=320.0					; X座標
	my=240.0					; Y座標
	msp=4.0						; スピード
	mr=0.0						; 角度
	mrsp=0.1					; 角度回転スピード
*main
	redraw 0					; 描画始め

	color 0,0,64
	boxf						; 背景を消す

	gmode 2						; 透明色ありの指定
	pos mx,my					; 表示位置の設定
	celput face,0,1,1,mr				; 画像コピー

	redraw 1					; 描画終わり
	await 20

	stick key,15				; キー入力

	if key&1 : mr-=mrsp
	if key&4 : mr+=mrsp
	if key&2 : mgo=msp : gosub *main2
	if key&8 : mgo=-msp : gosub *main2

	goto *main
*main2							; 直進
	rot=mr-1.57079632
	mx=limitf( mx+cos(rot)*mgo, x1, x2 )
	my=limitf( my+sin(rot)*mgo, y1, y2 )
	return