2012年2月9日木曜日

Titaniumでスクロール目盛により参照を切り替えるUI

Titanium mobileでWeightbotのような横スクロール目盛を作ってみた。

主な機能
  • スクロールラベルの区切りで参照するデータを切り替える
  • 目盛の矢印がスクロールラベルの丁度真ん中に来るようにする

2番目の機能を実現するロジック
  • 貫性でスクロール中に速度が落ちたらちょうど真ん中に自動スクロール
  • 指を離して少し経っても動いていなかったらちょうど真ん中に自動スクロール

Titanium mobile SDK 1.8から"dragEnd"イベントが拾えるようになりやっと実現できました。

パラメータは感覚で適当に決めました。

ご意見、アドバイスいただけたら嬉しいです。






2012年2月8日水曜日

負にならないようにノイズをかける

気づくと1ヶ月未更新。

マメに更新するのは難しいなぁ。


小さなことからコツコツと、今日は実際に使った乱数の作り方をメモ。

「ある値にノイズをかけたいがマイナス値にはしたくない」という場合。


(追記:2012/02/08)整数ノイズになります。正しくは「整数のノイズをかける」ですね。



var gap = 3; // ノイズの間隔は±3にする

// 元の値は1~10で実験
for(var n = 1; n < 10; n++) {
 
 // 各20回実行
 for(var i = 0; i < 20; i++) { 
  
  // これだとノイズは最小でも-nにしかならない
     var noise = Math.round(Math.random() * (gap + n) - n);
     
     var a = n + noise;
     
     console.log("n:" + n + " a:" + a);
    }

    console.log("*****************");
}