まめ畑

ゆるゆると書いていきます

ChumbyでTextFieldを指でスクロールさせる時のメモ

Chumbyの特徴のタッチパネルを利用してWidget中のTextFieldを指でスクロールする時のメモ。
縦スクロールを簡単に書くとこんな感じ。

var isTouched:Boolean = false;

//hoge[name]はTextField
hoge[name].selectable = false;
var _this:Object = this;

hoge.onMouseMove = function() {
	if (_this.isTouched) {
		var diffY:Number = _this.startY - this._ymouse;  //前回との位置の差
		if (diffY < -2) {
			hoge[name].scroll += 2;
		}else if(diffY > 2) {
			hoge[name].scroll -= 2;
		}
		_this.startY = this._ymouse;  //少し動いた先を現在の位置に
	}
}

hoge.onPress = function() {
	_this.startY = this._ymouse;  //タッチ開始位置初期化
	_this.isTouched = true;
}

hoge.onMouseUp = function() {
	_this.isTouched = false;
}

diffYはPCでデバッグしている時には、閾値を-1などでよかったのですが、実機で動かすとタッチした時に指先の画面に触れる面積が大きく、少しぶれたら動いてまうので、2〜3あたりを閾値にしています。
移動量なのですが、好みもあると思いますがChumbyを長く起動していると画面が熱くなり、指でスクロールすると摩擦も相まって結構熱いので少し多めに移動してあげるといいかもしれません。


早く、Chumby互換のフォトフレームなど出て欲しいです。