sample_19_getmouse.hsp

sample\d3module\sample_19_getmouse.hsp » Plain Format

;============================================================
;                                                 2010/--/--
;	d3module  sample script
;	for HSP 3.0
;
;============================================================
;
; マウス座標から 3D ワールドでの平面座標を得るサンプルです。
;
; d3ribbonto 命令で X 座標、Y 座標をそれぞれ R, G 成分として
; 描画しておき、マウスポインタの位置でその色成分を読み取って
; 指し示す位置を検出します。
;
;============================================================

#include "d3m.hsp"

	title "S.Programs d3module sample"


*mainloop
	redraw 0
	color : boxf

	d3setcam sin(0.0005 * d3timer()) * 50 + 50, -30, 30,  50, 50, 0
	gmode 5, 0, 0, 256

	; X グラデーション
	d3initlineto
	repeat 101
		color cnt, 0, 0
		d3ribbonto cnt, 0, 0, cnt, 100, 0
	loop

	; Y グラデーション
	d3initlineto
	repeat 101
		color 0, cnt, 0
		d3ribbonto 0, cnt, 0, 100, cnt, 0
	loop

	pget mousex, mousey ; マウスポインタ位置のカラーコードで座標判別
	px = ginfo_r
	py = ginfo_g
	if (px >= 1) & (py >= 1) {
		color 255, 255, 255
		d3arrow px, py, 2,  50, 50, 50
		d3box px - 1, py - 1, 0, px, py, 1
		d3mes "(" + px + ", " + py + ")", px, py, 10
	}

	redraw
	await

	goto *mainloop