2008年07月03日

長押しクリック

お世話になります。

クリックを長押しでダイアログを表示させるのをよくみかけるのですが
「長押し」という関数があるんでしょうか・・
それともtouchイベントで作成する方法なんでしょうか。

やり方をご存知の方いらっしゃいましたらご教授いただけますでしょうか。
よろしくおねがいします。


同じカテゴリー(スクリプト関連)の記事画像
オブジェクトのリンクとタッチで開く扉
自動チャットを止めたい
テレポートするとアニメーションが解除される
同じカテゴリー(スクリプト関連)の記事
 テクスチェンジのHUDについて (2015-07-01 04:51)
 モール用のプリムカウンターを探しています (2014-11-29 20:09)
 連続するアニメーションの処理 (2014-08-24 03:23)
 オブジェクトの上にフローティングテキストを出す。 (2014-08-22 16:46)
 チャットログの盗聴について (2014-02-03 03:43)
 椅子に座った後で位置調整できるスクリプト (2013-03-24 16:37)

Posted by mew3  at 12:22 │Comments(6)スクリプト関連

この記事へのコメント
↓こちらの方の説明が参考になると思います。
http://ogasawara.slmame.com/e156117.html

touch_start()…マウスボタンがクリックされた瞬間
touch_end()…マウスボタンが放された瞬間
この両者のイベントが発生する時間差を調べます。llResetTime()とllGetTime()を使うと簡単です。
ここで、touch_end()の中で測定した時間差が一定以上である場合に「長押しされた」と判断し、処理をするという方法です。
Posted by asa Soyer at 2008年07月03日 13:28
いろんなやり方がありますね

私はこんなふうにします
※timerをほかの事に使いたい人には
 お勧めできません。

タッチして一秒たったら処理が始まります
ただし、その処理が始まるまでに
タッチをやめたら、タイマーがクリアされて
処理が始まりません。
結果的に1秒以上押しっぱでないとダメというコードです。

touch_start(){
llSetTimerEvent(1.0);
}
touch_end(){
llSetTimerEvent(0.0);
}
timer()
{
llSetTimerEvent(0.0);
//やりたい処理を書く
}
Posted by you Xiao at 2008年07月03日 20:19
私の製品は長押し使ってるの結構あります。基本的に上のyouさんとほぼ同じやり方ですねー^^

integer hold;

default
{
touch_start(integer total_number)
{
hold=FALSE;
llSetTimerEvent(0.5);
}

touch_end(integer total_number)
{
llSetTimerEvent(0);
if (!hold) llSetColor(<1,0,0>,ALL_SIDES); // タッチで赤色
}

timer()
{
llSetTimerEvent(0);
hold=TRUE;
llSetColor(<0,1,0>,ALL_SIDES); // 長押しは緑色
}
}
Posted by 千尋 at 2008年07月04日 00:46
いろいろ出たので軽く違いを。

asaさんのコード
・timerを他のことに使える
・touchをやめたときに発動
・時間を厳密にチェック

ささぴさんのコード
・timerを他のことに使える
・touchをやめたときに発動
※SIM状況にもよると思いますが
 その回数のtouchイベントが発生するのに
 4~5秒かかるというのは、ある種びっくりでした。
 やってみないとわからないものですね

私のやつ
・timerを他のことに使いにくい
・touchを続けたまま発動

千尋さんのコード
・timerを他のことに使いにくい
・touchを続けたまま発動
・通常のtouchと長押しを区別して処理できる

千尋さんのコードの
「通常のtouchと長押しを区別して処理できる」というのは
大きなポイントだと思います。
また、フラグをひとつ追加するだけで
asaさんやささぴさんのコードにも使えるのもいい感じですよね。
Posted by you Xiao at 2008年07月04日 07:45
やり方をご存知の方いらっしゃいましたらご教授いただけますでしょうか。
よろしくおねがいします。
Posted by imitation jewelry at 2011年01月12日 15:36
存知の方いらっしゃいましたらご教授
Posted by cheapedhardyuk at 2011年03月16日 12:04
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。