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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0818
b任意で移動する 画像や図形を一定間隔で整列2未解決


b

リンク

2015/8/18(Tue) 18:07:37|NO.70892

最近質問スクスクリプトが同じになっていますすみません
イメージとしてこんな感じのスクリプトを張ります

buffer 1,50,50 boxf 0,0,50,50 gsel 0,1 bx.0=10 bx.1=50 by.0=10 by.1=50 repeat getkey click,1 color 255,255,255:boxf if(click==1){ repeat length(bx) if(mousex >= bx.cnt && mousex <= bx.cnt+50 && mousey >= by.cnt && mousey <= by.cnt+50){ bx.cnt=mousex-25 by.cnt=mousey-25 } loop } repeat length(bx) pos bx.cnt,by.cnt celput 1 loop redraw 1 await 15 redraw 0 await loop
(重ねた時の処理と判定処理が適当なため バグが出ていますがそこは無視で..)

画面に 60ドット置きに線(60x60のマス目)があるという風に考え 移動された画像はその60ドットのマスの
中に前後左右5ドットの空き(60-5-5で動かした画像または図形のサイズ = 50)を設けて必ず収めるようにしたい
例えるとディスクトップのアイコンやドラッグでマスに入れる将棋アプリやドラッグパズルアプリ等



この記事に返信する


スペース

リンク

2015/8/18(Tue) 18:51:09|NO.70893

こういうことでしょうか?

bx.0=1 bx.1=1 by.0=1 by.1=2 x=60.0:y=60.0 Grip=65.0 フラグ=-1 buffer 1,x,y boxf 0,0,x,y gsel 0,1 repeat getkey click,1 color 255,255,255:boxf repeat length(bx) if mousex >= (bx.cnt*Grip) & mousex <= (bx.cnt*Grip)+x & mousey >= (by.cnt*Grip) & mousey <= (by.cnt*Grip)+y & click=1&clickb=0:{ フラグ=cnt } if フラグ=cnt & click=0&clickb=1:フラグ=-1 if フラグ=cnt:{ bx.cnt=int(double(mousex)/Grip)//小数点切り捨て。これ重要 by.cnt=int(double(mousey)/Grip) } loop repeat length(bx) pos bx.cnt*Grip,by.cnt*Grip celput 1 loop redraw 1 await 15 redraw 0 clickB=click await loop



b

リンク

2015/8/18(Tue) 19:13:25|NO.70895

スペース さん ありがとうございます。



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