ブログ移転しました!!

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
web拍手 by FC2

吉里吉里で再描画時にフォーカス位置を維持するには? ラクガキイラスト2点。

takasuga_chara_picture
最近、昼食にコンビニのゆでたまごを添えています。
デスクにこんこんと卵をぶつけている時に一抹の恥ずかしさをおぼえますが、
殻を剥いている時は、ぷちぷち潰しに似た原始的なうれしさを感じます。

ゲーム制作サークル「LR」代表、タカスガタイキです。











■サークル進捗



120317_1s.jpg



引き続き、スクリプト作業です。
週の頭でおこなう選択画面のUIまわりを改修していました。


今日は、吉里吉里において、

画面が切り替わってもリンクに対するフォーカスを維持するには

という話をしたいと思います。
(ここでいうリンクには、ボタンなどを含みます)




たとえば、セーブ/ロード画面などを自作すると、
「次へ」「前へ」などのページ送り機能を実装したりしますよね。
多くの場合、これらはページ全体をcmして、
もう一度構成要素を再描画する形で実現しているかと思います。

この再描画後、キーボードの十字キーを押すと、
リンクフォーカスは、また描画順の先頭に戻っていることがわかります。
これでは、enter連打で気持ちよく画面を次々に遷移することができません。

また、マウスについても悩ましい問題があります。
おそらく、吉里吉里は、マウスカーソル移動をハンドリングしてリンク可否判定をしていて、
そのためだろうと思うのですが、
再描画後、まったくマウスを動かさない状態だと、リンクを押下しても反応がありません。
ちょっとカーソルを動かして戻して…というユーザアクションをおこない、
リンクをフォーカスし直さなければなりません。
これもまた、気持ちよい画面遷移を妨げるものです。

※ フォローをしておきますが、
※ この「フォーカス位置を保持したい」という話は、
※ あくまで「同レイアウトの画面を再描画している」という前提に基づくもので、
※ 「別画面に切り替わった際にフォーカスを外し、連打処理による誤操作を防止する」という
※ 吉里吉里の設計は、理に適っていますし、そうあるべきです。




で、端的に解決策。

まず、キーボード対策には、これを使います。


[eval exp="kag.current.setFocusToLink(リンク番号, true)"]


リンク番号は、0始まり。
たとえば、画面のリンクが「栞1」「栞2」「栞3」「前へ」「次へ」だったとすると、
「次へ」のリンク番号は4になります。

で、マウス対策には、これです。


[eval exp="kag.current.lastMouseX += 10"]
[eval exp="kag.current.lastMouseY += 10"]
[eval exp="kag.current.lastMouseX -= 10"]
[eval exp="kag.current.lastMouseY -= 10"]



これはすごく原始的な方法で、
ちょっとカーソルを動かして戻して…というユーザアクションを
すごい速さで機械がやってあげようという発想。

この二つを実装していれば、連打処理はばっちりです。多分。
意外にちゃんと書いてあるブログ記事がないようでしたので、ご紹介してみました。









■今日のトピックス



↑上が割とゴツいネタなので、トピックスは軽めにしようと思います。




illust_0005.jpg
illust_0003_2.jpg


最近描いたラクガキ。
ここのところ、絵関係のお話をいただくことが多いので、
少し自分の絵を整理していこうかなーと思っています。

具体的には、もうちょっと今風に。
なってますかね。
どうですかね。







=================================
所属 : ゲーム制作サークル「LR」
実績 : 発掘少女
    上記ゲームにて第7回ふりーむ!コンテスト部門賞受賞
    上記ゲームがvectorにて公式レビュー

タカスガタイキ
=================================
関連記事
スポンサーサイト
web拍手 by FC2

Pagination

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。