2012年12月1日土曜日

IMEが半角固定になって困る

こんばんは ひるでこです。

SLでチャットしていて、いつの間にかIMEが半角固定になっていて困っていたのですが、解決方法がわかりました。

  • コントロールパネルの「時計、言語、および地域」より「入力方法の変更」リンクをクリック

  • 言語から、左の「詳細設定」リンクをクリック

  • 詳細設定から、「入力方式の切り替え」の「言語バーのホットキーの変更」リンクをクリック

  • テキストサービスと入力言語から、「キーシーケンスの変更」ボタンをクリック

  • キーシーケンスの変更から、「キーボードレイアウトの切り替え」を「割り当てなし」にしてOKボタンをクリック


以上です。

2008年10月22日水曜日

タイピングスクリプト添削

前のエントリーの時に、アバターがタイピングしているときだけ指定のアニメを動かして、スクリプトが入っているオブジェのアルファを操作するLSLを貰ったのですが、気になる点があったので添削してみますw
// アバターがタイピングしているときだけオブジェクトを見せてつつアバターにアニメーションさせます

// アニメの名前
string TypeAnim = "typing";

default
{
    attach(key agent)
    {
        // アバターがオブジェクトを装着した
        if (agent != NULL_KEY) {
            // パーミッションを取得
            llRequestPermissions(agent, PERMISSION_TRIGGER_ANIMATION);
        }
    }
    
    run_time_permissions(integer parm)
    {
        // パーミッションが取得できた
        if(parm == PERMISSION_TRIGGER_ANIMATION)
        {
            // タイマー開始
            llSetTimerEvent(0.1);
        }
    }
    
    timer()
    {
        // アバターの状態を取得
        integer Status = llGetAgentInfo(llGetOwner());
        
        // アバターがタイピング(チャット入力)中
        if (Status & AGENT_TYPING){
            
            // オブジェクトを見えるように
            llSetLinkAlpha(LINK_SET,1.0,ALL_SIDES);
            // アニメを開始
            llStartAnimation(TypeAnim);
            
        }
        // アバターがタイピングをやめた
        else{
            // オブジェクトを隠す
            llSetLinkAlpha(LINK_SET,0.0,ALL_SIDES);
            // アニメを停止
            llStopAnimation(TypeAnim);
            
        }
    }
}

きになった点は、タイマーで0.1秒ごとにアバターをチェックしていますが、前にチェックしたときの状態を持っていないため、毎回llSetLinkAlphaとllStart/StopAnimationを実行しているところ。
グローバル変数でedgeという変数を用意して、前回の情報をとっておくようにしました。

追記:下にさらに修正したものがあります

string TypeAnim = "typing";
key owner;
integer edge = 0;

default
{
    attach(key agent)
    {
        if ( agent != NULL_KEY ) {
            owner = llGetOwner();
            llRequestPermissions(agent, PERMISSION_TRIGGER_ANIMATION);
        }
        else {
            edge = 0;
        }
    }

    run_time_permissions(integer perm)
    {
        if ( perm == PERMISSION_TRIGGER_ANIMATION ) {
            llSetTimerEvent(0.1);
        }
    }

    timer()
    {
        if ( llGetAgentInfo(owner) & AGENT_TYPING ) {
            if ( !edge ) {
                edge = 1;

                llSetLinkAlpha(LINK_SET, 1.0, ALL_SIDES);
                llStartAnimation(TypeAnim);
            }
        }
        else if ( edge ) {
            edge = 0;

            llSetLinkAlpha(LINK_SET, 0.0, ALL_SIDES);
            llStopAnimation(TypeAnim);
        }
    }
}

か、解説がめんどうに。。。w 興味のある人はちょっと考えてみてくださいネ。

追記
HidenoriさんとFakeさんに添削されました!

ぜんぜん気づいてなかったところ(´・ω・`)
  • タイマーの開始条件が謎
  • タイマー止めてないよ
ぎゃーw もっかい。
string TypeAnim = "typing";
key owner;
integer edge = 0;

default
{
    attach(key agent)
    {
        if ( agent != NULL_KEY ) {
            owner = llGetOwner();
            llRequestPermissions(agent, PERMISSION_TRIGGER_ANIMATION);
            llSetTimerEvent(0.1);
        }
        else {
            edge = 0;
            llSetTimerEvent(0.0); // 追記 timer止めてなかった(っ_・`)
        }
    }

    timer()
    {
        if ( (llGetAgentInfo(owner) & AGENT_TYPING) ) {
            if ( !edge ) {
                edge = 1;

                llSetLinkAlpha(LINK_SET, 1.0, ALL_SIDES);
                llStartAnimation(TypeAnim);
            }
        }
        else if ( edge ) {
            edge = 0;

            llSetLinkAlpha(LINK_SET, 0.0, ALL_SIDES);
            llStopAnimation(TypeAnim);
        }
    }
}

2008年10月20日月曜日

LSLCONと情報共有

LSLCONの意見交換会に参加してきました。テーマは「情報・ノウハウの共有の話」です。
普段私は得た情報をまったく共有してないので、いい機会かなーと思って書きますね。


……簡単なネタなのでw



友達がタイピング中のアニメを変更したいということで、どこかからスクリプトひろってきました。
そのスクリプトは、アバターの状態を常に見て、チャット入力中ならアニメを再生する、というスクリプトでした。


アニメの優先度を2でアップしたようで、実際にやってみると通常のタイピングと二重になってしまい変な動きになってしまいました。
じゃあ、通常のタイピングを止めてあげれば?ということで、停止命令をくわえたところ、動かなくなってしまいました。


ここでふと気づいたこと!(どこから情報得たのかわすれましたが)

  • アバターの「チャット入力中」や「away」といった状態は、アニメの再生と連動している。
  • チャット入力中は「type」、away中は「away」という名前のアニメが再生されている。
  • アニメを停止すると、その状態が解除されてしまう。

ということです。チャット入力中に「type」のアニメは停止したらダメなんですね。

今回の正解は、アニメの優先度を上げる、ということでしたーー。(具体的な優先度は調べてないです。)

2008年8月31日日曜日

カモメ団うちわ

本日がラストの銀屋ですが、昨日はわれらがハニーのHysteric Honeyデーでした。
カフェがどんな雰囲気だったかはけいさんのブログに写真がいっぱいあるのでwお察しください。

土曜日ということで、他のイベントも盛りだくさんということで人が集まってくるのが遅かったのですが(人のこといえない)、みんなが集まってきたところでウチワ大会になりました。

こんなかんじ。

カモメ団うちわ from Hilde Gynoid on Vimeo.

本日ラストの「銀屋」、オーナーのシルバさんがDJしますよん。場所は tricolore/110/55/24/

2008年8月29日金曜日

bartubeいってきたよ(ちょっと前に)

ばーちゅーぶ行ってきましたー。

おフランスからやってきた、カモメ団のペット「キル」に会いに行ってきました。


おキルさん。日本でお仕事したいそうな。

Wassrで「今日いくー」ってつぶやいたら、大学でメタバースや3D関係をやっている先生方が会合してたり、SL関係のお友達もきてたりとか・・・!大盛況な夜でした。

前もってみんなに声をかけていくと楽しいよ!

りゅうのすけさんに撮られるヒルデ