神代クロ のすべての投稿

エコポイントをEdyで受け取る

9月に地デジテレビを買った際に付いてたエコポイントが、ようやく交換できました。

エコポイント登録サイトでEdyを選択。数週間後にメールが来たので、Edyに投げる用の携帯メールアドレス等の登録をしました。

それから数週間後、EdyギフトIDが届きました。しかしよく考えてみたら、Edyを持っていない事に気づきw 知人のアドバイスを元にANAマイレージクラブのEdy付きを申し込む。

それからさらに数週間後、ANAからカードが送られてきたので、それを使っておサイフケータイのEdyを登録、ようやくエコポイントをゲットできました。

長かった。Edyはコンビニで使えるから、たぶん効率が良いね。

…あれ? EdyはJCBのクレジットカードが登録できないぞorz

ゲーム開発30:坂道との当たり判定

坂道との当たり判定だいぶ間があいたけど、いくつかの処理を追加しました。

マップチップをシンプルに
ドット絵をあれこれいじくり回してたけど、結局シンプルな形にしてしまいました。地味だけど仕方ない。そのうちマップチップを増やして、奥行きを表現したいです。

縦スクロール対応
今までは横スクロールしかしませんでしたが、マップエディタ導入を機にマップサイズを可変にし、縦にもスクロール出来るようにしました。横と違い、staticな変数を持って、ゆっくりスクロールするようにしてます。縦が激しいと酔う。

坂道に対応
坂道を上り降り出来るようになりました。方法は線分の交差判定を使ってます。キャラクタの足元を横一直線の線分とし、坂道の線分との重なりで当たり判定を取っています。この方法なら複雑な地形も簡単に作れるなぁ。実装はネット上にあったコードを参考に組んでます。

処理落ち(汗)
大した事してないはずなのに処理落ち(フレームスキップ)が起きてました。ちなみに50fpsだと大丈夫なのに、60fpsだと処理落ち。もしかしたら単にフレームレートの計算ミスの可能性もあるけど、何にしても原因を特定しなきゃなぁ。

引き続き坂道の処理を作ります。実はまだちょっと挙動がおかしい。

//-----------------------------------------------------------------------------
// 交差判定
BOOL CField::CrossLine(POINT p1, POINT p2, POINT q1, POINT q2)
{
 float A, B, C, D;
 BOOL ret=TRUE;

 A=(float)(p2.y-p1.y);
 B=(float)(p1.x-p2.x);
 C=-(A*p1.x+B*p1.y);
 D=(A*q1.x+B*q1.y+C)*(A*q2.x+B*q2.y+C);

 if (D>0) {
  ret=FALSE;
 }
 else {
  A=(float)(q2.y-q1.y);
  B=(float)(q1.x-q2.x);
  C=-(A*q1.x+B*q1.y);
  D=(A*p1.x+B*p1.y+C)*(A*p2.x+B*p2.y+C);

  if (D>0) {
   ret=FALSE;
  }
 }
 return ret;
}

Google日本語入力を導入する

Google日本語入力Google日本語入力が公開されたので、早速インストールしてみました。

これまでIMEはずっとマイクロソフトのを使ってました。ずっとってのはWindows95の初代の時からで、実質13年くらいかなぁ。そんなに困ってなかったしね。でもなんか妙にネット上で話題になってたから試しにw

インストールしたら、最初日本語入力が出来なくなってしまい、焦ったり。どうも「詳細なテキストサービスをオフにする」にチェックを入れてるとダメっぽい。なのでチェックを外して再起動。問題なく入力出来るようになりました。

普通に使う分には全く問題ないね。まぁMS-IMEで学習してたのは、また学習し直しだけど。このIMEのキモは固有名詞です。ネットからデータを引っ張ってくるお陰で、常に最新の変換をしてくれます。

せいけん→聖剣の刀鍛冶
のぎざ→乃木坂春香の秘密
こいひ→恋姫無双
とある→とある科学の
ちょうで→超電磁砲

素晴らしいw

もうこのまま使い続けても良いかな。

VirtualBoxでAndroidを動かしてみる

VirtualBoxでAndroidを動かしてみるノートPCにVirtualBoxを入れたので、今更ながらGoogle Androidを動かしてみた。

ここから2ファイルダウンロードして
COPY /B liveandroidv0.3.iso.001 +liveandroidv0.3.iso.002 liveandroidv0.3.iso
で結合。LiveCD版なので、後はそのままVirtualBoxに突っ込んだら動きました。

言語を日本語に変えてテキトーにいじってみる。操作系が携帯電話を想定したものなので、最初戸惑ったけど、軽快に動作するね。ただ日本語の入力自体は出来ないみたい。

あとアットマークが表示できなくて困ったり。これは単にキーボードの設定をしてないだけで、Shift+2キーで表示できた。

ブラウザは普通にYahoo!Japanとか見れるね。ただFlashが入ってないのと、GMailはじめ幾つかのサイトはモバイル仕様だった。Javacriptが完全じゃないのかな。

メーラーもアカウント設定したら普通に受信して読めたよ。ただメール内画像や添付ファイルが開けなかった。

レースゲームが入ってたんだけど、画面が結構グリングリン回転するね。あとスーパーマリオのエミュが入ってたんだけど、いいのかこれ(汗) アプリ名が中国語っぽかったけど。

ともかく、これなら色んなアプリが作れそうですね。Javaだから当たり前といえば当たり前か。

余裕が出来たらAndroidで何か組んでみようかな。まぁ実機が無いと虚しい気もするけどねw

スポーツクラブに行く(11日目)

久しぶりのスポーツクラブです。

前回行った際に爪が剥がれてしまい、痛いのでしばらく行く気が起きなくて…しかしこの2週間で1/3ほどの所で剥がれてた爪も、何とか復活したよ。まだ完全とはいえないけど、なかなかの回復力だね。

日曜の昼間なのでランニングマシンなどは予約待ち状態の混み具合でした。そんな訳でマシンが空いてすぐに使い始めたんだけど、なんかオッサン臭い…やっぱり人が使った直後はダメだわ。

平日の空いてる時間帯に行きたいけど、最近よく仕事電話がかかってくるから、昼間はPCの前にいないと困るかな。

マッチョダンディーへの道は遠い。

無線LANルータを買う

I-O DATA IEEE802.11g/b 無線LANルーター WN-G54/R4を買いました。これも今まで使ってたのが6年前に買ったやつで、いい加減古かったから。あと安かったし。

その古いのは暗号化方式がWEPなんだけど、これってザルみたいなセキュリティで1分あれば解析できてしまうらしい。よくもまぁ使い続けてたものだ。

今回のはルータではあるんだけど、既にルータはあるので、ハブアクセスポイントとして使います。普通にアクセスポイント単体で買うより安かったしね。

ちょいちょいと設定したら、問題なく動作しました。勿論ダブルワイヤレスなんていうセキュリティの穴は塞いであります。

ちゃんとPS3WPA2で接続できました。これでわざわざゲームのアップデートに有線を使わなくて済みます。

アニメ関連会社の社長と飲む

今日は数ヶ月ぶりにアニメ関連会社の社長さんと飲みました。

アニメ業界は不況の真っ只中だと思ってたら、その人の会社は堅調らしい。羨ましいね。最近は某パンツアニメにちょっとだけ関係してたとか。

色々話してるうちにiPhoneAndroidの話題が出ました。

思い起こせば2年前。「iPhoneでアプリ作らない?」という誘いがあったけど「Appleのケータイなんて流行るわけ無いだろ」と断ってしまったんだよね。その後日本でも発売され、大ヒットに。当時参入してれば今頃儲かってたかもなぁ…

iPhoneとAndroid。自分には関係ないやと思ってたけど、ビジネスとして考えたら面白そうではあるね。とりあえずそれぞれの技術書でも調べてみるか。

ノートPCのメモリを増設する

文章を簡潔に書けるようになりたい>挨拶
---

091120_194448俺はPCを使う際、複数のアプリを立ち上げたまま作業する事が多いので、メモリが少ないとスワップが発生して処理が重たくなってしまいます。

ウチのノートPCはWindowsXPでメインメモリが1GBなんですが、よくよく調べてみたらオンボードGPUがメインメモリから224MBも取って行ってました。つまり800MBで動いてたのか。

いくらXPでもこれじゃ足りないと、買ってから結構経つのに今更メモリを増設する事にしました。でも今って1GBが3000円しないんだね。精密ドライバーが無かったので100円ショップにて購入、PCを裏返してネジを外し、メモリを差し込んだら問題なく認識しました。

PCをしばらくいじってみたら、アプリの起動は当然前と同じだけど、アプリからアプリに切り替える時のスワップ発生が無くなりました。重たい処理をした後に固まるのも、ほぼ無くなったかな。

快適です。これでコタツでお仕事が出来ます。

コタツを出す

最近寒いですね。

今年はコタツを出さずに過ごそうなんて考えてました。しかし寒さでくしゃみが止まらなくなるは、エアコンつけても足元は寒いは、エアコンのせいで空気が悪くなってきて頭が痛くなるはと、厳しい住環境になってしまいました。古いエアコンだからかなぁ。

ともかく、結局コタツを出したよ。コタツはコタツで猫背になったり足が痛くなったりの弊害があるんだよね。あーでも暖かくて良いなぁ。

このブログもコタツに入りながら書いてます。せっかくイスを買ったけど、今後は仕事もコタツでやる事になりそうです。

ゲーム開発29:マップ表示

名称未設定 1前回読み込んだマップデータを表示させました。

スプライト表示用のモジュールは既にあるので、並べて表示するだけです。とりあえずマップデータのレイヤー0を背景、レイヤー1をキャラクタ配置として、各所の初期化部分を書き換えました。

マップデータの読み込みは以下のようになります。

MapData= new CMapData;
MapData->File("stage01map.fmf");

そしてマップ表示はこんな感じ。map_chip=255は透明なので表示しません。

for (i=0; i<MapData->GetHeight(); i++) {
 for (j=0; j<MapData->GetWidth(); j++) {
  map_chip=MapData->Get(0, j, i);
  if (map_chip!=255) {
   g->DrawSprite(spr_no[map_chip], (j*48), (i*48), 0.9f, 0, 0);
  }
 }
}

ただ、これだと表示されない場所まで描画するので、クリッピングする必要があります。あと画面スクロールにも対応させないとね。

上記の処理で表示する事が出来ました。んーやっぱりブロックのグラフィックが不自然な気がするなぁ…

表示はしたものの、当たり判定が入っていないので、今はゲーム開始直後に下に落ちてゲームオーバーになりますw

そんな訳で、次回は大ざっぱな当たり判定を入れてみます。