【java】URLからファイルをダウンロードする

InputStream in = null;
OutputStream out = null;

// InputStreamからOutputStreamに出力
try {

    // URLオブジェクト作成
    URL url = new URL("URL");

    // URLからInputStreamオブジェクトを取得(入力)
    in = url.openStream();

    // 出力先ファイル OutputStream(出力)
    out = new FileOutputStream("OUT");

    byte[] buf = new byte[1024];
    int len = 0;

    // 終わるまで書き込み
    while ((len = in.read(buf)) > 0) {
        out.write(buf, 0, len);
    }

    out.flush();

} catch (Exception e) {

} finally {

    // ストリームをクローズする
    if (out != null) {
        try {
            out.close();
        } catch (IOException e) {
            // TODO 自動生成された catch ブロック
            e.printStackTrace();
        }
    }

    if (in != null) {
        try {
            in.close();
        } catch (IOException e) {
            // TODO 自動生成された catch ブロック
            e.printStackTrace();
        }
    }
}

【enchant.js】Sceneの使い方

game.pushScene(シーンオブジェクト);

で対象のシーンに移行する。

マウスダウン、キーダウンイベントは新しいシーンのイベントで拾うことになる。
(古いシーンはイベントを取得できない)

enchant();

window.onload = function() {
    var game = new Game(320, 320);
    game.preload('/img/msgWindow.bmp');
    game.fps = 15;
    game.onload = function() {

        var senBattle  = new Scene();

        var msgWindow = new Sprite(220, 100);
        msgWindow.image = game.assets['/img/msgWindow.bmp'];
        msgWindow.x = 100;
        msgWindow.y = 220;

        senBattle.addChild(msgWindow);

        senBattle.addEventListener('touchstart', function(e) {
            game.removeScene(senBattle);
        });

        game.rootScene.addEventListener('enterframe', function() {

            if (game.input.left) {

            } else if (game.input.right) {

            } else if (game.input.up) {

                game.pushScene(senBattle);

            } else if (game.input.down) {

            }
        });
    };
    game.start();
};

【enchant.js】Spriteの透過度を変更する

透過度はCSSのプロパティopacityで操作する。

スプライトオブジェクト._element.style.opacity

1.0で不透過
0.0で透過

enchant();

window.onload = function() {
    var game = new Game(320, 320);
    game.fps = 15;

    game.preload('/img/bear.gif');

    game.onload = function() {

        var bear = new Sprite(20, 30);
        bear.x =   0;
        bear.y = 160;
        bear.image = game.assets['/img/bear.gif'];
        bear._element.style.opacity = 1;

        var lblOpacity = new Label();
        lblOpacity.text = '';

        var isMove = false;
        var value = 0;

        bear.addEventListener(enchant.Event.ENTER_FRAME, function(e) {

            var opacity = Number(this._element.style.opacity) * 10;

            if (isMove === true) {

                opacity += value;
                this._element.style.opacity = opacity / 10;
                lblOpacity.text = this._element.style.opacity;

                if (opacity === 0 || opacity === 10) {
                    isMove = false;
                    value  = 0;
                }

            } else {

                if (game.input.up) {

                    if (opacity !== 10) {
                        value =  1;
                    }
                } else if (game.input.down) {

                    if (opacity !==  0) {
                        value = -1;
                    }
                }

                if (value !== 0) {
                    isMove = true;
                }
            }
        });

        game.rootScene.addChild(bear);
        game.rootScene.addChild(lblOpacity);
    };
    game.start();
};

【enchant.js】バーチャルパッドを使用する

pad.pngをHTMLと同じ階層に保存する。

enchant();

window.onload = function() {
    var game = new Game(320, 320);
    game.fps = 15;
    game.onload = function() {

        var lblPad = new Label();
        lblPad.text = '';

        game.rootScene.addEventListener(enchant.Event.ENTER_FRAME, function(e) {

            var text = '';

            if (game.input.left) {

                text = 'Left';

            } else if (game.input.right) {

                text = 'Right';

            } else if (game.input.up) {

                text = 'Up';

            } else if (game.input.down) {

                text = 'Down';

            }

            if (text !== '') {

                lblPad.text = text;

            }
        });

        var pad = new Pad();
        pad.x = 0;
        pad.y = 220;
        game.rootScene.addChild(pad);

        game.rootScene.addChild(lblPad);

    };
    game.start();
};

【enchant.js】タッチ(クリック)した座標を取得する

enchant();

window.onload = function() {
    var game = new Game(320, 320);
    game.fps = 15;
    game.onload = function() {

        var lblTouchPos = new Label();
        lblTouchPos.text = '';

        game.rootScene.addEventListener('touchstart', function(e) {

            lblTouchPos.text = 'X:' + e.localX + ',' + 'Y:' + e.localY;

        });

        game.rootScene.addChild(lblTouchPos);

    };
    game.start();
};

【Slim3】Controllerでrequestのパラメータを取得する方法

HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JQueryTest</title>
</head>
<body>

<table>
	<tr>
		<td>
			<input id="user" type="text" />
		</td>
		<td>
			<input id="get" type="button" value="Get" />
		</td>
	</tr>
</table>

<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function() {
    $("#get").click(function(){
        $.ajax({
            type: "POST",
            url: "hello",
            data: "user=" + $("#user").val(),
            success: function(msg){
                alert("Input User: " + msg);
            }
         });
        return false;
    });
});
</script>
</body>
</html>


JAVA

package tp.controller;

import org.slim3.controller.Controller;
import org.slim3.controller.Navigation;

public class HelloController extends Controller {

    @Override
    public Navigation run() throws Exception {


        String user =  this.request.getParameter("user");


        response.getWriter().write(user);

        return null;
    }
}

【jQuery】input要素の値を取得する、設定する

input要素の値を取得する

$("#input要素のid").val()


input要素の値を設定する

$("#input要素のid").val("追加する文字列")

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JQueryTest</title>
</head>
<body>

<table>
    <tr>
        <td>
            <input id="user" type="text" />
        </td>
        <td>
            <input id="get" type="button" value="Get" />
        </td>
    </tr>
</table>

<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function() {
    $("#get").click(function(){
        alert($("#user").val());
        return false;
    });
});
</script>
</body>
</html>