HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
1023
通りすがり指定した範囲8解決


通りすがり

リンク

2007/10/23(Tue) 21:44:31|NO.11932

指定した範囲でマウスをクリックすると
文字が表示されるという
スプリクトを組みたいのですが
どうすればよいでしょう?



この記事に返信する


n

リンク

2007/10/23(Tue) 21:49:45|NO.11933


#define LOWORD(%1) ((%1)&$ffff) #define HIWORD(%1) ((%1)>>16&$ffff) onclick *@f boxf 50,50,100,100 color 255,255,255 boxf 51,51,99,99 stop *@ x = LOWORD(lparam) y = HIWORD(lparam) if (x>50&x<100) & (y>50&y<100) { dialog "中" }



通りすがり

リンク

2007/10/23(Tue) 21:51:30|NO.11934

nさんサンプルスプリクトありがとうございます!



n

リンク

2007/10/23(Tue) 21:52:32|NO.11935

礼には及ばないぜ。



うちゅうじん

リンク

2007/10/25(Thu) 09:21:55|NO.11993

nさん、多角形の場合はどうすればいいのでしょうか?

座標が入り組んでいる場合はどうしたら...。



うちゅうじん

リンク

2007/10/25(Thu) 09:22:19|NO.11994

nさん、多角形の場合はどうすればいいのでしょうか?

座標が入り組んでいる場合はどうしたら...。



n

リンク

2007/10/25(Thu) 19:16:48|NO.12006

僕はあなた専用の回答マシーンではありません。
あなたに出来ないのなら5角形を使わなければいいと思います。(5角形は3角形の集合。白黒画像。)

プログラミングが好きならお小遣いをためて、プログラミングの本を買えばいいと思います。
どこまでもタダ指向プログラミングだとそれ相応のことしか学べないと思います。



なたで

リンク

2007/10/27(Sat) 11:01:48|NO.12048

当たり判定用に用意したバッファの色を調べたり、
外積を調べたりする方法などがあります。

//全ての内角が180度以下のみ #module hitm hmsize,hmx,hmy #modfunc hm_set int size,array hmsx,array hmsy hmsize = size repeat hmsize hmx(cnt) = hmsx(cnt) hmy(cnt) = hmsy(cnt) loop hmx(hmsize) = hmsx(0) hmy(hmsize) = hmsy(0) return #modfunc hm_line pos hmx(0),hmy(0) repeat hmsize,1 line hmx(cnt),hmy(cnt) loop return #modfunc _hm_chk int x,int y,local vx,local vy,local p repeat hmsize vx(0)=hmx(cnt+1)-hmx(cnt) vy(0)=hmy(cnt+1)-hmy(cnt) vx(1)=hmx(cnt+1)-x vy(1)=hmy(cnt+1)-y //外積 if((vx(0)*vy(1)-vx(1)*vy(0))>=0){ p=1 break } loop return (1-p) #defcfunc hm_chk var mod,int x,int y _hm_chk mod,x,y return stat #global //時計回りに作っていく x = 20,150,200,180,40,20 y = 20,40,100,300,120,50 newmod a,hitm:hm_set a,6,x,y color 255:hm_line a x = 200,250,220 y = 10,50,180 newmod b,hitm:hm_set b,3,x,y color 0,0,255:hm_line b repeat wait 1 title str(hm_chk(a,mousex,mousey))+" "+str(hm_chk(b,mousex,mousey)) loop



YOYO

リンク

2007/10/27(Sat) 19:31:14|NO.12055

多角形ならリージョンを使うのが一番簡単ですかね。

#include "gdi32.as" onexit *owari point= 130,178 ,510,178 ,202,402 ,320,40 ,438,402 CreatePolygonRgn varptr(point),5,2 rgn=stat color 255 mref bs,67 FillRgn hdc,rgn,bs(36) redraw 1 repeat PtInRegion rgn,mousex,mousey if stat:title "in":else:title "out" wait 1 loop *owari DeleteObject rgn end



ONION software Copyright 1997-2023(c) All rights reserved.