edo1z blog

プログラミングなどに関するブログです

2011-01-01から1年間の記事一覧

Javascript Math.atan2() X軸からポイントまでの角度を取得

Math.atan2(y, x) http://www.ajaxtower.jp/js/math_class/index15.html ここの説明が分かり易そうだ。 atan2関数は座標の逆正接(アークタンジェント)を計算して返します。引数に指定した原点と座標(x, y)、そして座標からX座標へ降ろした点の3点からなる三…

Java LinkedListのテスト(Android Game 敵と弾の当たり判定〜削除)

Androidでゲームを作っているのですが、敵も沢山いて、プレイヤーが撃った弾も沢山ある場合、敵毎に全ての弾と当たり判定を実施する必要があります。敵が弾に当たっている場合は、敵と当たっている弾を削除します。簡単に出来ると思っていたのですが、今これ…

Android 横スクロールゲームをつくってみる

地面とボールをつくりました。ボールは既にタッチするとジャンプするようになっています。このページで作成したタッチするとジャンプし、ジャンプ中にタッチすると2段ジャンプする仕様です。ちなみに、タッチをし続けるとジャンプ力が増すようになっていま…

Android SDK 横画面に固定する方法

AndroidManifest.xmlのタグのscreenOrientation属性にlandscapeを指定すればOK。 尚、エミュレーターの向きを横に回転させるには、macの場合、fn+control+F11でOK。

AndroidSDK タッチイベント onTouchEventの研究

Androidアプリはタッチイベントによってことが進むので、タッチイベントの正確な把握は必須であり、基本中の基本だ。時間をかけてじっくり研究することは必要なことだ。まだ全体像がAndroidSDKはよく分かっていないので、間違った記載があると思いますので、…

HTML5 - Canvas アニメーション Walk

See the Pen walk by edo1z (@edo1z) on CodePen.

HTML5 - Canvas アニメーション - 陣取りゲーム

マウスドラッグの向きにプレイヤー(青いボール)が動きます。動いている途中のパスが敵か自分に当たったらプレイヤーが死にます。ボールを動かして陣地を80%以上確保したらステージクリアです。敵を閉じ込めたら敵を倒せてボーナス点数がもらえます。(キ…

JavaScript 配列の比較(要素ごとにやらないといけないらしい)

Pythonだと余裕で出来た気がするんだけど、javascritpだと配列の比較は、要素ごとにやらないといけないんすかね。 何かいい方法あったら教えてください。 <script type="text/javascript"> var a = [0,1]; var b = [0,1]; //これだと違うよになる。 if(a == b) alert('同じだよ'); else aler…

HTML5 - Canvas マウスイベント時の座標取得について(座標は小数点以下があるらしい)

こんな感じでマウスクリック時の座標を検知する。 var mouseX; var mouseY; //イベントリスナーの登録 canvas.addEventListener("mousedown", mouseDownHandler, false); function mouseDownHandler(e) { var rect = e.target.getBoundingClientRect(); mous…

HTML5 Canvas - 上からボールを落として跳ね返る

上からボールを落として跳ね返る様。重力があり跳ね返り係数があるのだ。オランダの科学者が重力はないといっており、他の著名科学者、物理学者が一定の賛同をしているようだ。これが本当なら重力がある前提で全ての物理の教科書がつくられている現代におい…

HTML5 - Canvas 自然なジャンプをする四角形

地球には重力がありますので、飛んでもしまいには落ちます。飛ぶときは初速度がありますが、この速度は毎秒9.8m/s2重力によって減速します。当然落下中は毎秒9.8m/s2速度が増します。この9.8m/s2を重力加速度といいます。9.8m/s2というのは大体の数値で、場…

HTML5 - Canvas アニメーション くま

くまのアニメーション。ランダムでキャラ選ぶ。ランダムで向きと速度決める。 See the Pen Kuma by edo1z (@edo1z) on CodePen.

HTML5 - Canvas パックマンのモンスターを描くJavaScript関数(2)

x,y座標ともに指定できるモンスター関数です。 See the Pen jvxdRm by edo1z (@edo1z) on CodePen.

HTML5 - Canvas パックマンのモンスターを描くJavaScript関数(1)

xだけをインプットして、yは勝ってに決まってしまういけていないモンスター描画関数です。 See the Pen monster function 1 by edo1z (@edo1z) on CodePen. ちなみにgoogleのPac-Manです。

HTML5 - Canvasで色々な絵をかく(ハートマークからパックマンまで)

Canvasリファレンスや、MDC Docsというやつのチュートリアルを参考に色々な絵をCanvasを使って書いてみよう。下の絵は全部他のサイトからパクってきたものだよ。ちゃんとパクリ先は明示しておきますよ。パクってきたのは、上2つのサイトですよ。HTML5 Canvas…

google chart api Visualizationでフェルマー(2次関数の包絡線)

フェルマーは色々なことを発見したらしいが、これもフェルマーが発見したそうだ。下記グラフに描かれているのは、61本の直線ですが、全てy=x2のグラフ上のある点の接線であります。結果的に、y=x2のグラフが浮かび上がってくるのだ。こういうのを包絡線とも…

google chart api Visualizationの使い方

Visualizationを覚えよう。やはりjavascriptを使うようだが、若干複雑になっている。 google.load("visualization", "1", {packages:["corechart"]}); google.setOnLoadCallback(drawChart); function drawChart() { var data = new google.visualization.Da…

フェルマー

せっかくだからなんかグラフにしようと思う。フェルマーが発見したのは、y=xの2乗のグラフ上のある点(a,a2乗)の接線のy切片は、-a2乗になるということだ。これはどの点をとってもそうなるらしい。google chart apiの問題は数値を0〜100しか扱えないことだ。…

Google chart apiのURLを作るJavaScript

Google chart apiのURLを作るpythonスクリプトを今日中につくるぞ。やりたいのは、超低レベルなんだけど、本当に2次関数というのは放物線を描くのかを自分でデータをつくってグラフ化して試したいのだ。一次関数が一直線なのは当たり前に分かるからな。 Goo…

GAE 多対多モデルのデータ削除について

Google app engin の datastoreで多対多を下記ページなどを参考につくりました。 http://code.google.com/intl/ja/appengine/articles/modeling.html グループとユーザの関係を多対多で構築しています。models.pyの内容は下記になります。 ※私は、GAEをPytho…

GAE Keyを文字列で取得した場合にオブジェクトを取り出す方法

将来の俺ならこのタイトルでわかるだろう。 GAEのmodelにはkeyがあります。これは各エンティティに固有のキーです。これはKeyオブジェクトのインスタンスですが、文字列に変更できます。よって、サイト上でこの文字列をやり取りし、後程このkey文字列をもと…

jQuery 将来的にも適用されるイベントハンドラの登録

基本的にjavascriptが読み込まれた時点で存在しない要素には、イベントハンドラは適用されない。 将来発生する要素にもイベントハンドラを適用したい場合は、liveを使う。 live(type, fn) jQuery日本語リファレンス - live(type, fn) 登録されたイベントは、…

GAEのDatastoreのkey_nameで引っぱってきて上書きするとき

最悪なタイトルだが、きっとこれで将来の俺なら分かるだろう。 Horie(key_name='hf1') これは、key_nameがhf1である新しいHorieを作っているのであり、これをputすると、もし既にkey_nameがhf1であるデータが保存されている場合は、上書きされる。新しいデー…

jQuery 要素の属性を取得する

<div class=&quot;pic1&quot;><img id=&quot;hf36&quot; src=&quot;http://hoge.hoge/hoge.jpg&quot; /></div> 上記のようなHTMLがあったときに、pic1クラスの子供のimg要素のid属性を取得するには、こうやってやる。 var key = $('.pic1 > img').attr('id'); 上記でid属性の値が取得できる。変数keyを宣言しつつ、keyにid属性の値を格納している様。

jQueryのAjaxの基本型

jQueryでAjaxを使う場合の基本型。 windowがloadされたら、get_pic()が呼び出される。 Ajaxでjson形式のデータを受け取りたい場合は、dataTypeをjsonにする。 指定されたURLにアクセスした結果をdataに格納する。 dataが空でなければ、dataの0番目をアラー…

GAEのcron

http://code.google.com/intl/ja/appengine/docs/python/config/cron.html cron.yamlに下記のように記載する。 cron: - description: daily summary job url: /tasks/summary schedule: every 24 hours - description: monday morning mailout url: /mail/we…

Python 文字列の最後の空白文字(改行文字)を削除する

http://memo.jj-net.jp/182 rstrip()は行末の空白文字を取除く.空白文字とはstring.whitespaceで定義されているように 't', 'n', 'r', 'v', 'f' である.本当に改行コードだけを削除する場合は,rstrip()に削除する文字を引数として渡せばよい. Horie(key_…

Mac eclipseでGAE開発する為のPydev(Python2.5)の設定

eclipseをインストールして、Pydevプラグインをインストールすれば、eclipse上でpython開発ができますね。最近のPydevはGAEプロジェクトもついているのでGAEの開発をeclipse上でPythonでできますね。 GAEはPython2.5しかサポートしてませんが、Mac OS X 10.6…

GAEのDatastoreのkey_name

すべてのエンティティは識別子を持っています。アプリケーションは、インスタンス コンストラクタに key_name 引数(str 値)を指定して、キーに使用するためにアプリケーション自身の識別子を割り当てることができます。 s = Story(key_name="xzy123") key_…

新・はてなブックマークボタンを Blogger に導入する方法

http://44attack.blogspot.com/2011/02/blogger.html