Archive for { 2012.02 } 一覧

[AIR] Accelerometer を 回転角度に変換

Category:{ actionscript, AIR, Android, iOS }  Tag:{, , , , } Comments:{ No Comments }
Posted:{ 2012.02.18 12:11:08 }

モバイル AIR(Android / iOS)の Accelerometer の値をイマイチ理解していなかったので、角度に変換するサンプル作ってみました

動作イメージ

いまいちイメージがわかりにくいかと思ったので、動作イメージを Youtube にアップ

サンプルコード

コードは下記です。(thx! @saharan)
※もっと良い書き方あるかな?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/**
 * copyright (c) 2012 www.romatica.com
 * @auther itoz
 */
package 
{
    import flash.events.AccelerometerEvent;
    import flash.sensors.Accelerometer;
    import flash.events.Event;
    import flash.display.Sprite;
 
    /**
     * [Air] Accelerometerから、回転角度に変換.
     *
     * 【サンプル動画 】
     * @see http://www.youtube.com/watch?v=IkPVwSv6rjE
     *     
     */
    public class AccelerometerConvertToRotation_Sample extends Sprite
    {
        private var circle : Sprite;
        private var rollingX : Number = 0;
        private var rollingY : Number = 0;
        private const FACTOR : Number = 0.5;
 
        public function AccelerometerConvertToRotation_Sample()
        {
            addEventListener(Event.ADDED_TO_STAGE, onAdded);
        }
 
        private function onAdded(event : Event) : void
        {
            removeEventListener(Event.ADDED_TO_STAGE, onAdded);
            setCircle();
            setAccelerometer();
        }
 
        /**
         * 円を生成
         */
        private function setCircle() : void
        {
            circle = addChild(new Sprite()) as Sprite;
            circle.graphics.beginFill(0x00cc00);
            circle.graphics.drawCircle(0, 0, 64);
            circle.graphics.beginFill(0x0000cc);
            circle.graphics.drawCircle(50, 0, 10);
            circle.graphics.endFill();
            circle.x = stage.stageWidth / 2;
            circle.y = stage.stageHeight / 2;
        }
 
        /**
         * Accelerometerを生成
         */
        private function setAccelerometer() : Boolean
        {
            var accelerometer : Accelerometer;
            if (Accelerometer.isSupported) {
                accelerometer = new Accelerometer();
                if (!accelerometer.muted) {
                    accelerometer.setRequestedUpdateInterval(1000 / 30);
                    accelerometer.addEventListener(AccelerometerEvent.UPDATE, accelerometerUpdate);
                    return true;
                }
            }
            return false;
        }
 
        /**
         * Accelerometer アップデート
         */
        private function accelerometerUpdate(event : AccelerometerEvent) : void
        {
            // ----------------------------------
            // Accelerometerの傾きを 角度に変換
            // ----------------------------------
            rollingX = (event.accelerationX * FACTOR) + (rollingX * (1 - FACTOR));
            rollingY = (event.accelerationY * FACTOR) + (rollingY * (1 - FACTOR));
            var rad : Number = Math.atan2(rollingY, -rollingX);
            var angle : Number = rad * 180 / Math.PI;
 
            //----------------------------------
            //  円を回転
            //----------------------------------
            if (circle != null) circle.rotation = angle;
        }
    }
}

[Gumroad] モニタ解像度一覧壁紙PSD

Category:{ design }  Tag:{, , , } Comments:{ No Comments }
Posted:{ 2012.02.14 01:03:38 }

VGA や XGA って何ピクセルだっけ??

って事よくありませんか?

そんな時に便利な、「モニタ解像度一覧壁紙」を作成しました。

PSD形式なので背景のデザインは自由。

フォントもラスタライズしてないのでお好みに変更できちゃいます

monitor resolution wallpaper

ダウンロード

目下話題沸騰の革命サービス Gumroad で試しに販売してみます!。
※花粉症の私のマスク代になります、たふけてください。

[Gumroad] Monitor Resolution Wallpaper PSD ($2)

ご意見ご要望ありましたら、コメントかTwitterにてよろしくおねがいしますm(__)m


レンタルサーバー豆知識