こんにちは。
汚いソースで申し訳ないです。
もっとソースを短く出来ると思いますが、とりあえず動く形にしました。
上から
赤
緑
青
の帯をタッチすると"OK"がそれぞれ表示されます。
マルチタッチにしてありますので、赤緑青を同時にタッチすると同時に"OK"が表示されます。
それと、窓月ららさんの「VPAD」、もしくは私の「mod_smart.as」を利用すると簡単にマルチタッチ処理をできると思います。
#include "hsp3dish.as"
#const FALSE 0
#const TRUE 1
screen 0, 480, 300
font "", 48
setcls CLSMODE_SOLID, $000000
dim area_a, 4
dim area_b, 4
dim area_c, 4
area_a = 0, 0, 479, 99 //x1, y1, x2, y2の順
area_b = 0, 100, 479, 199
area_c = 0, 200, 479, 299
repeat
redraw 0
mtlist touch_id
touch_cnt = stat
color 255, 0, 0 : boxf area_a(0), area_a(1), area_a(2), area_a(3)
color 0, 255, 0 : boxf area_b(0), area_b(1), area_b(2), area_b(3)
color 0, 0, 255 : boxf area_c(0), area_c(1), area_c(2), area_c(3)
repeat touch_cnt
dim t_info, 4
mtinfo t_info, touch_id(cnt)
if t_info(0) == TRUE {
if (t_info(1) >= area_a(0)) && (t_info(1) <= area_a(2)) && (t_info(2) >= area_a(1)) && (t_info(2) <= area_a(3)) {
mes_area_a = "OK"
} else {
mes_area_a = ""
}
if (t_info(1) >= area_b(0)) && (t_info(1) <= area_b(2)) && (t_info(2) >= area_b(1)) && (t_info(2) <= area_b(3)) {
mes_area_b = "OK"
} else {
mes_area_b = ""
}
if (t_info(1) >= area_c(0)) && (t_info(1) <= area_c(2)) && (t_info(2) >= area_c(1)) && (t_info(2) <= area_c(3)) {
mes_area_c = "OK"
} else {
mes_area_c = ""
}
}
color 255, 255, 255
pos area_a(0), area_a(1) : mes mes_area_a
pos area_b(0), area_b(1) : mes mes_area_b
pos area_c(0), area_c(1) : mes mes_area_c
loop
redraw 1
await 16
loop
余談ですが、個人的なことで申し訳ないです。
一戸建てを買いました。
快適に暮らしております。