ラベル javascript の投稿を表示しています。 すべての投稿を表示
ラベル javascript の投稿を表示しています。 すべての投稿を表示

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("*****************");
}



2011年12月7日水曜日

thisによりオブジェクト自身を参照するときの注意点

@dankogaiさんが書かれた怠翻 - JavaScriptでありがちな9つのシマッタ のthisのくだりが参考になったので忘れないようメモ。

オブジェクト自身に紐づいた子オブジェクトをthis.~~で定義し、それをさらに別の子オブジェクトの中で呼び出すとundefinedになってしまう。var selfにthisを代入することで、別の子オブジェクトの中でも呼び出すことが可能になるとな。




2011年12月5日月曜日

JavaScriptの等価演算子(==)と厳密等価演算子(===)の違い

"=="は型を自動変換して比較してくれるので便利だが、型も含めて厳密に比較したい場合は"==="を使う。