技術ノート奈良橿原にある子どもプログラミング教室(大人は教えないとは言ってない)のブログです。レッスン内容やインストラクターの技術メモなど。この広告は、90日以上更新していないブログに表示しています。XAMPPについてたやつです。いくつか原因があるようですがー。自分のケースは結局解決方法がググっても見つからず、試行錯誤でなおしました。ログとして残しておきます。表示されるエラーは以下のとおり。ここでエラー!と、まったく同じ操作を、rootならできるのに新規作成したユーザでできないのでした。原因は、my.iniの文字コードまわりの設定。次のようにUTF8を使う際の設定がコメントアウトされていたので、これのコメントを全部はずして利用していたわけですが......。utf8\'これがNGだったようです。この行だけ元通りコメントアウトしたらエラー消えました。コメントアウトしたことによる文字コードまわりへの影響も今のところ特にないです。試してみたhttps://developers.google.com/appengine/docs/php/GAEがPHP対応したそうなのでさっそく試してみました。導入のドキュメントはこちら。これを見ながら順に進めていきます。OSはWindowsです。バージョンのZIPファイルをダウンロードして展開。ここでは、E:\ProgramFiles\phpということにしておきます。続いて、SDK本体のダウンロード。こっちもZIP形式なので展開して適当に配置。先ほど配置したPHPランタイムの配置場所との位置関係は特に気にする必要ないです。ここでは、E:\ProgramFiles\appengine-php-sdkということにしておきます。HelloWorldとりあえずHelloWorldを表示するスクリプトを書いてみます。スクリプトの配置場所はSDKの場所とは関係ないです。ここでは、E:\temp\php\helloworld\helloworld.phpということにしておきます。?>続いて、アプリケーションのURLなどを定義する設定ファイルapp.yamlを書きます。これは、アプリケーションのフォルダに置かないといけないので、今回の場合、配置場所は次のようになります。E:\temp\php\helloworld\app.yaml内容を編集。以下はGAEのドキュメントそのままです。どんなURLにアクセスがあっても、すべてhelloworld.phpでハンドリングする設定になってます。helloworld.php以上が書けたら、コマンドプロンプトを起動して、SDKのディレクトリへ移動。Pythonはいってないので・・・今日はこのへんで・・・。SDK」ボタンを押してダウンロード。SDKと名前がついてますが、ただのjsライブラリです。Startをやってみました。iio.start(Helloiio);</script></body>最初、いつものクセでbody要素を省略していたのですが、それだと動いてくれませんでした。上記のようにiio.startにアプリ関数しか指定しない場合、body要素いっぱいに広がったcanvasが自動的に配置されるのですが、iio.startメソッドには、body要素いっぱいにcanvasを自動配置するcanvas要素のidを指定するcanvasの親となる要素のidを指定するという3通りの使い方があります。それぞれ、次のようにパラメータを指定して利用します。第3・第4引数があるかないかで、idがキャンバス自体を指すのかその親要素を指すのか意味が違ってくる、ちょっとわかりにくいAPIです。canvasの親指定ただ、3つ目の親要素指定にはバグがあるようで、iioEngine.jsの2188行目(v1.2.2の場合)を次のように編集してあげる必要があります。document.getElementById(attachId).appendChild(this.cnvs[i])図形などを配置してみるキャンバス中央に四角形を描いてみます。5));};iio.start(app);配置場所は座標で指定することもできます。1));円とか多角形も表示してみます。http://www.programming-academy.jp/samples/iioengine/addObj03.htmlまずは円。ついでですが、位置指定はこんなかんじで中心を起点に算出することもできます。.5)"));続いて多角形。正五角形を描いてみました。多角形の位置座標は、その多角形を包含する矩形の左上頂点でした。多角形の中心座標とか言われてもピンとこないですしね。画像は、矩形オブジェクトを作成してそこに設定します。位置がわかりやすいように矩形に枠線をつけておきました。.addImage(img));};図形を動かすオブジェクトにはenableKinematicsメソッドがあって、これを呼び出すことでsetVelとsetTorqueが使えるようになります。移動速度、setTorque(deg)で回転速度を指定できます。あとはフレームレートを設定すれば、オブジェクトは動き始めます。io.setFramerate(50);};iio.start(app);オブジェクトごとに別々のフレームレートを設定することも可能。io.setFramerateメソッドは第2引数にオブジェクトを指定することで、オブジェクトの追加とフレームレートの設定を同時に実行します。rect2);};iio.start(app);とりあえずざっと触ってみただけですが、これからも折を見て使ってみる予定です。物理演算のサンプルもちらっと見ましたが、ほとんどbox2dをそのまま使ってるだけのようなコードで、enchant.jsを使ったほうが簡単に書けそうな印象。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。