忍者ブログ

マドノマグラの初心者自作ゲーム制作日誌 迷走モード

プログラミング初心者が自作ゲームを作成してみようとする動きを記す。現在迷走中。

ブログ履歴

2010/11/06: HSP3.22の環境を整えてみる
2009/11/09: Rubyで適当版自分用関連記事リンク作成プログラムを作る
2009/06/04: Visual C++(DXライブラリ使用)の環境を整えてみるも休止状態に
2009/03/17: ActionScript勉強の環境を整えるも結局休止状態に
2006/07/15: とりあえず分岐型ゲームを作る グリーンタワーVer1.2 ダウンロード(zip)
2006/07/02: ブログスタート。NScripterで何かを作ろうとする

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

脱出ゲームにありがちな画面レイアウトを、Graphics クラスを用いて描写

プログラマのためのFlash遊び方:第2回 お絵かきしながら学ぶActionScript 3.0(前編)で書かれていた、円・直線・四角・曲線の描き方を参考にして、脱出ゲームにありがちな、画面レイアウトを作ってみることにした。

一つ目の四角は、大きな画面を囲う青い四角。二つ目は右部分。黒線の四角で、水色で塗りつぶし。

直線で描いているのは、大きな画面での黒線全てと、右部分の横一本の黒線。

円で描いているのは、赤色でひいた円。

曲線で描いているのは、円の中にある楕円部分・上下別。

graphics一族の、

lineStyle(線の太さ, 線の色)
drawRect(開始x, 開始y, 終点x, 終点y)
beginFill(塗りつぶし色, 透明度:defaultで1.0の不透明)
endFill()、moveTo(移動先x, 移動先y)
lineTo(開始点から線を引く終点x, 開始点から線を引く終点y)
drawCircle(中心点x,中心点y,半径)
curveTo(制御点x, 制御点y, 終点x, 終点y)

が、今日の学習ポイントだろう。

PR

ランタイムエラーって嫌ですねえ

本の3-3まで打ち込んでみたところで、コンパイル時にはエラーが無かったものの、ファイル起動でエラーが起こるという、初心者泣かせのランタイムエラーが発生したのだった。

ただ、Flash Player 10 Projector content debugger が、何行目が怪しいですよというアナウンスをしてくれたので、事なきを得た。

配列[]の[]の中がnullになってしまっていたとのこと。変数の打ち込み間違いをしたために起こったのだった。

ランタイムエラーって嫌ですねえ。

画像ファイルの表示編

本を片手にうんぬんとはいったものの、そのまんま同じっていうのもつまらないので、本筋とは関係ない部分は少しずつ変えていくことにした。

3-1に載っている、画像ファイルの表示を行うことにした。

表示オブジェクトといっても、

Loader:ファイルから画像を読み込んで表示
MovieClip:コマアニメーションを表示
Sprite:動かない絵を表示
TextField:文字表示

なんてものがあるけれど、Flashを使わずにswfファイルを作ろうと計画しているので、コマアニメなんて作れやしないってわけで、Loaderを使っちゃえってことになった。

この章は、一応、アクションゲームを作ってみようという話なんだけれど、本に付属しているCDを開けるのも面倒くさいということで、リンゴ回収ゲーム ver1.1 を作成しながらプログラミングを学ぶにて、Ruby/SDL で始めるゲームプログラミング【後編】でダウンロードした、画像ファイル・サウンドファイルを、流用することにした。

プログラムを動かした際のフラッシュプレーヤーの大きさを480×360にする作業を行っていたため、表示させようとしたファイル(640×480)がはみ出ていたので、JTrimを使ってリサイズを行い作成したファイルを使用することにした。(本との変更点はその部分だけ)

しかし、今後、ネット上にアップという話になったときに、swfファイルだけを上げると、URLRequestやら、loadしたところで、画像表示できないわなあ。あらら、どこかのサーバーを借りないといかんのかね。

14歳からはじめる ActionScript オンラインゲームプログラミング教室を片手に学んでみることにする

FlashDevelopを使用するタイプの初心者プログラミング本を本屋で探してみた。しかし、大半がFlash CS なんたらを使用するタイプの初心者本なので、私にはマッチしない。

ということで、FlashDevelop がらみで見つけたのが、14歳からはじめる ActionScript オンラインゲームプログラミング教室ぐらいであった。

とりあえずは、この本をお手本に地道に学んで行くことにするのだった。

Hello World! を表示させるswfファイルを作成

毎度おなじみ Hello World! の表示で、作成したHello World!をコンパイルすることにした。

Flash Developは、仮再生も、デバッグモードのビルドも、リリースモードのビルドも、GUI(だっけ?)でできるようなので非常に便利。

結果、testpower.swfなんていう、ヘンテコな名前のファイルができた。(もちろん、testpowerっていうプロジェクト名で作ったため)

毎度おなじみ Hello World! の表示

プログラマのためのFlash遊び方:第1回 無料でFlash作りに挑戦!Flex 3 SDKを導入してみようを参考に、毎度おなじみ、Hello World! の表示を行った。

一文字増えて行くタイプのソースコードをコピペで完成。

どうやら、道具の入ったパッケージを import させておいて、各々の道具(クラス)をチマチマつかっていくという感じなんだろうね。知らんけど。

今回のケースでは、flash.display パッケージに入っている、炭酸飲料の Sprite でタイムラインなしのグラフィック表示をさせているみたい。

flash.text パッケージの中の人である、TextField 君は、text さんの縄張りを保持する人。いうなれば、花見の陣取りのバイト君なんだね。

flash.utils パッケージの、setInterval() は、ms単位で間隔事に仕事をしてくれる律儀な人。setInterval(関数A, ミリ秒単位の間隔, 関数Aに渡す引数) ってことらしい。

あと、substr()は、Stringさんちのメソッドだそうな。substr(開始位置、文字数)で、開始位置から文字数までを返すのだそうだ。

そういえば、変数宣言として var をつけないといけないらしい。面倒くさいなあ。この点では、Rubyって楽なんだけどなあ。

ってことで、プログラマのためのFlash遊び方:第1回 無料でFlash作りに挑戦!Flex 3 SDKを導入してみようのコードは、100ミリ秒ごとに文字が一つずつ増えていくやつで、終点の方で、割り算部分のあまり値部分が0に戻るから、また最初の1文字表示に戻るっていう手法を使っているようだ。

(もちろん、以上の解釈は間違っている可能性があるので、鵜呑みにしないように)

デバッグ版のFlashPlayerのインストール再び

ActionScriptを必死で勉強するBlog:FlashDevelopの環境構築手順を参考に、デバッグ版のFlashPlayerの、プラグイン版(Firefoxなど用)とActiveX版(IE用)のインストールを行った。

Adobe Flash Playerから、the Windows Flash Player 10 ActiveX control content debugger (for IE)、the Windows Flash Player 10 Plugin content debugger (for Netscape-compatible browsers) をダウンロードし、インストールした。

ちなみに、the Windows Flash Player 10 Projector content debugger は、以前に導入している。

ActionScriptコンパイラまでのパスを通す

何をどうすればいいのかわからないので、Flashの基礎を無料で習得! ActionScript入門(1):手順【5】コンパイラまでの「パスを通す」を参考に、mxmlc.exeを、全てのディレクトリから実行できるようにした。

これは、過去にはRubyでやったパス通しと同じやり方。XPのシステムの詳細設定から、環境変数のPathに追記するパターン。

ただ、Flash Developには、コンパイラボタンらしきものがついているので、これをやる必要があったのかどうかは不明。

ActionScript の学習前の道具揃え

去年、Rubyでゲームを作ろうとしたのだが見事に挫折。Rubyでゲームを作成するには、私にでも理解できる参考資料っていうものがあまりにも少なすぎたのである。

さて、どうしようかと考えたとき、ひょっとしたらひょっとする? と思われたのが ActionScript である。Flash を扱うときに使うアレである。

それじゃあ、勉強しようか! と思ったときに、私には、flash作成のためのツールを買う金なんて出せねーよ! ってことになるのである。

フリーソフトの中には、ParaFlaや、Suzukaなど、フリーのFlash作成ツールはあるけれど、今回は、ゲームの作成よりも、ActionScript を学ぶというほうが上位の目的ということで、今回は、別ルートで何とかするようにした。

そこで、参考にしたのは、イクケン:Flex SDKとFlashDevelopのインストール - Flash/ActionScript入門に書かれていた方法。

Adobe Open Sourceから、Open Source Flex SDK(3.3.0.4852)をダウンロード。FlashDevelop.orgから、FlashDevelop 3.0.0 RC2をダウンロード。Adobe Flash Playerから、Download the Windows Flash Player 10 Projector content debugger をダウンロードした。

さらに念のため、java.comで、Version 6 Update 12 をダウンロードしておいた。


FlashDevelopを起動、New Project をクリック。次に出てくる画面で、テンプレートを AS3 Project へと選択。プロジェクト名、フォルダは、任意のものを選んだ。

右側に表示される Project の src」> Main.as をダブルクリックし、表示されたコードに対して、イクケン:Flex SDKとFlashDevelopのインストール - Flash/ActionScript入門に書かれているコードに変え、そこに書かれている通りの結果が出た。

ということで、前段階は終了。今後は、本を購入して学習していく予定である。しかし、あくまで趣味の範囲での勉強なので、かなり不定期なブログ更新になると考えられる。

ランダムな壁とスキマをつくるまで MyGame でどうくつ探検ゲーム作成作戦

12歳からはじめるHSPわくわくゲームプログラミング教室(ただし私が持っていたのは 3.0)のp79までの話を参考に、ランダムを利用して壁の高さと、あいだのスキマの幅の調整を行った。

次からは、自機の設定ですな。

PR

カテゴリー

最新記事

アーカイブ

プロフィール

HN:
マドノマグラ
性別:
非公開
職業:
趣味:
駄文書き
自己紹介:
ゲームを作ろうとしているうちに、言語学習に飽きていく。典型的なダメな人パターンに陥るアホな人

リンク

ブログ内検索

バーコード

RSS

忍者ブログ │ [PR]