LoginSignup
2
2

More than 5 years have passed since last update.

即売会サービスを作ろう11(ドラッグでスクロールできるようにする)

Posted at

ユーザー特定処理の変更

サーバ側でユーザーを区別するIDをHTTPヘッダに入れていたのですが
挙動を確認するときに手間なのでURLパラメータとしてつけるようにしました。

これならブラウザでわかりますね!
JSONのプレビューは JSONView(https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc) が便利です。

スクロール

フィールドマップを一つのEntityにぶら下げるようにして、
このEntityを動かくことでスクロールを実現しています。

また小数点以下のスクロールをしてしまうと、バイリニア補完独特のモアレがでてしまったので
整数単位でスクロールするようにしています。


class TouchListener  implements IOnSceneTouchListener {

    float startX; 
    float startY;

    float oldX;
    float oldY;

    @Override
    public boolean onSceneTouchEvent(Scene scene, TouchEvent event) {

        float x = event.getX();
        float y = event.getY();

        if( event.isActionDown() ){
            startX = x;
            startY = y;
        }

        if( event.isActionMove() ){
            float deltaX = x - oldX;
            float deltaY = y - oldY;

            float newX = fieldRoot.getX() + deltaX;
            float newY = fieldRoot.getY() + deltaY;

            // 整数単位の移動にすることで、床と床の隙間に発生するモアレをなくす
            newX = (int)newX;
            newY = (int)newY;

            fieldRoot.setPosition(newX, newY);
        }

        oldX = x;
        oldY = y;

        return false;
    }
}

こうですね。

screen.png

綺麗になりました。

lint編集

apkを作るときコンパイルエラーができなくなったのですが、ぐぐったらlintを編集することで対応できるそうです。
http://www.andengine.org/forums/gles2/new-lint-error-after-updating-the-sdk-to-latest-version-t15946.html

まとめ

ということでスクロールができるようになって、なんとなくできてる感じしてきたので
記念にapkを作成。http://bit.ly/1kPVaAi
ソースはこちら https://github.com/nagai/freemarket/tree/qiita11

次回は机と壁を配置してみます。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2