神代クロ のすべての投稿

ゲーム開発36:坂道の当たり判定2

当たり判定を全面的に作り直しました。

これまでは「壁に当たったらそれ以上動かない」という処理をしていました。これは簡単に計算できるのですが、移動量が大きいと壁に近づけない、壁に埋まると動けなくなるという欠点がありました。それの対策のために色々と条件式を詰め込んだら、それなりに動くようになったものの、ソースがぐちゃぐちゃになったり。まぁ俺の組み方が悪いんだろうけど。

今回は「壁に埋まったら戻す」にしました。これならとにかく壁に体当りして、埋まってしまったらその分戻すというだけなので、ややこしい計算はいりません。これならラクチンだと思ったのですが…複数の物体にぶつかった際に、どこにどれだけ戻せばいいのかわからない。

これに関してはあまり深く考えずに、複数当たっていても1個ずつ処理していく事にしました。このやり方には欠点があって、処理する順番によって結果が変わる可能性があるんだけど、今のところおかしく見えないからいいか。

…といった前提があって、ようやく坂道の処理です。上記の方法では、当たった場合にどれだけ戻せば良いかを計算する訳ですが、坂道の場合、横から当たろうが上から当たろうが、当たったら必ず上方向に戻します。

下記CheckHitSlope()ではキャラクタの右下と左下の点で坂道と当たっているかを計算し、当たっていたら戻りの大きい方を実際に使う値として返しています。slopeを変えることで上り坂も下り坂も、急な坂もなだらかな坂もこの関数で計算出来ます。ちょっと効率が悪かったり、intとLONGが混在してたりするのは気にしないw

思った以上に当たり判定作り直すのに時間かかってしまったので、スケジュール的にやばくなってきました(汗)

//—————————————————————————–
// 当たり判定(坂)
// charaRect:キャラクタの矩形
// myRect:坂道の矩形
// slope:坂道の傾き
// *ret_x:X方向に戻す値
// *ret_y:Y方向に戻す値
// 戻り値:接地したか
//—————————————————————————–
int CField::CheckHitSlope(RECT charaRect, RECT myRect, float slope, int *ret_x, int *ret_y)
{
 int  ret=FALSE, work_y=0;
 LONG top=0, left=0, right=0;

 // 左下の高さと戻す量
 if (myRect.left<=charaRect.left && charaRect.lefttop) {
   left=top-charaRect.bottom;
  }
 }
 // 右下の高さと戻す量
 if (myRect.left<=charaRect.right && charaRect.righttop) {
   right=top-charaRect.bottom;
  }
 }
 // 戻す量の大きい方を使う
 if (left>right) {
  work_y=right;
 }
 else {
  work_y=left;
 }

 // 接地している?
 if (work_y<0) {
  ret=TRUE;
 }

 *ret_x=0;
 *ret_y=work_y;

 return ret;
}

JCBザ・クラスを取得する

JCB THE CLASSを取得しました。黒いクレジットカードです。

去年に引き続き今年もザ・クラスのインビテーションが来てたんですよ。去年は放置したんだけど、今年は何となく申し込んでみました。そしたら何事も無くカードが届いたよ。

調べたら、今年の夏くらいから結構ばらまいてるみたいだね。昔は物凄く審査基準が厳しかったみたいだけど、今は俺みたいな不安定な職の人間にも配るんだなぁ。

まぁ、これまで通りAmazonで買い物するくらいにしか使わないんだけどね。

USB液晶ディスプレイでマルチモニタ

前に取引先に行った時、そこのPCのほとんどが液晶ディスプレイ2枚置いてマルチモニタ化してました。使わせてもらって便利だなぁと思ったけど、ウチの部屋では置く場所がない。

そんな訳でUSBで繋がる小さな液晶ディスプレイを買ってみました。こういうの2年くらい前に流行ってたよね。2年くらい前に見たわ。当時はサイズが4インチくらいだったけど。

買ったのはI-O DATAのLCD-USB10XB-Tです。10.1インチ(1024×600)でタッチパネルになってます。普通にノートPCサイズだから、これ単体でも作業できそうだね。俺はアプリの横幅をどれも1000ピクセルくらいにしてるから、そのまま持ってこれます。

実は最初電源入れた時、メインの液晶に比べて発色が悪いんで、失敗したかなぁと思ったけど、どうも視野角が狭いせいで位置によって極端に色見が変わるみたい。写真ではプリンタの上に載せてるけど、下に置いた方が綺麗に見えるかも。まだ位置調整中。

俺は10個くらいアプリ起動したまま作業する事が多いんで、ウィンドウをそれぞれに分散出来るのは良いです。あとデータとデータの比較がやり易くなるな。

色々試してみます。

迷惑電話対策にナンバーディスプレイを導入する

このところ迷惑電話がかかってきてムカツクので、ナンバーディスプレイを導入して拒否することにしました。

迷惑電話というのは不動産の営業です。数カ月おきくらいに「先週お宅を訪問して留守だったので」という決まり文句から始まり、いつも同じ内容の電話をかけてきます。ちなみに俺は自宅作業で日中ずっと家にいるけど、誰も来てないぞ。

断ったり電話切ったりすると怒り出して喚き散らす。しかも1日何回もかけてくる。こんなやり方でマンション買う奴なんていないだろ常考…

ナンバーディスプレイですが、116に電話したら「3~4時間で設定完了します」との事。申し込み1時間後に試してみたら、もう使えるようになってました。早いね。料金は工事費2100円、月額420円です。

電話機に非通知拒否があるのでそれを設定。前に調べたら非通知でかけてきてたので、これで拒否できます。もし番号通知でかけてきても30件まで拒否登録出来るので、まあ大丈夫でしょう。

これで一安心かな。

コミケ79受かりました(3日目東マ-31b)

コミケ受かりました。3日目の同人ソフトジャンルでです。配置は以下のとこ。

12/31(金) 東マ-31b

今回は今まで制作してた横スクロールアクションゲーム「緋袴きりり(仮)」を完成させるつもりで頑張ります。当初の想定よりかなり小じんまりとしたものになると思いますが(汗)

しかし大晦日か…

渋谷で打ち合わせと飲み

今日は渋谷で打ち合わせしました。広告代理店の人とかと打ち合わせです。なかなか魅力的な企画だったけど、スケジュールきついので果たしてどうするか。

その後、近くの居酒屋で飲みました。ここでも幾つかの新規案件について話し合ったけど、まぁ全部は出来ないから、どの案件をやるべきかちゃんと見極めないとね。

そうそう、居酒屋で食べた馬刺し美味しかったですw

Photoshop Elements 9を購入

今月1日にAdobe Photoshop Elements 9 日本語版が出てたんで買いました。Photoshop買うのは初代Elements以来の実に9年ぶりです。

まぁ画像加工なんてクライアントから貰ったデータを切り出して縮小する程度にしか使ってなかったから、別に初代でも問題なかったんだけどね。でもさすがにサポート切れてるだろうし、時代にも即してないなぁと思ったんで、1万円ちょっとだし買ってみた。

しかしいざ起動してみると、インターフェースが全然違うな(汗) 基本的な機能は初代と同じみたいだけど、カラーパレットの場所とかがわからず苦労したり。カラーパレットじゃなくてスウォッチって言うんだね。

とりあえず今までと同じ事は出来るようになりました。後は新機能をちまちまと試していこうと思います。

お絵かきも最近してないなー

AmazonのAPIを修正する

11月9日からAmazonのAPIことProduct Advertising APIの仕様が変更になります。具体的には今まで取れていたレビューが取れなくなり、代わりにレビューへのリンクだけが返されるようになります。

まだ時間はあるけど修正しました。修正と言ってもレビューをIFRAMEに置き換えるだけなんだけどね。PEARのServices_Amazonを使っているので、それを読み込む前に以下のようにバージョンを記述します。

define(“SERVICES_AMAZON_ECSVERSION”, “2010-09-01”);
require_once(“Services/Amazon.php”);

ItemLookup等で取得した連想配列のCustomerReviewsの中にIFrameURLが入っているので、それをページに貼り付ければ完了です。ついでに本の著者関連が変わってたので、その辺も修正しました(CreatorとかAuthorとか)。

しかしレビューが取れなくなったのはSEO的に痛いね。とは言え商品の評価を見たくてぐぐっても、Amazonのレビューが書かれたページが大量に引っ掛かって困ってたってのもあるんで、まぁ仕方ないか。

六本木でお仕事

今日は六本木で仕事してきました。取引先のパソコンとかネットの設定をいじる作業です。

昼から行ってちまちまと設定。未だにWindowsXPのSP2で各種アップデートを全然してないPCとかあったよ。オフィスは警備会社入ってて、社内に防犯カメラもあるというのに、杜撰すぎる。

まぁしかし儲かりまくってるようで羨ましい。六本木にオフィス構えてるだけでも凄いのに、今度新たに1フロア借りることになったとか言ってました。社員も1年前に来た時に比べて3倍くらいになってたし(今日は休日だから少なかったけど)。

俺が独立した後に出来た会社なのでちょっと悔しい。俺も負けられん。

串料理の店で飲む

今日は打ち合わせ後に串料理の店で飲みました。

メニューは当然串メイン。それをみんなでテキトーに注文しながら飲みました。豚串とかささみの梅じそ焼きとか美味しかった。ホントは日本酒で食べれれば良かったんだけど、まぁまだ平日だし、飲む人達じゃなかったのでビールにしといたよ。

思い切り飲んでみたいけど、最近は飲み仲間も減っちゃったからあんまり機会無いんだよなぁ。

まぁそのうち。