忍者ブログ
授業メモ
×

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

私用で申し訳ございませんが、
今日授業後飲みに行ってしまい今帰宅したので
今日の講義で見せたasについては明日アップします。
ごめんなさい。
代わりに、とりあえず
上手くコンパイルできなかった人+エラーが出てしまった人+プログラムのコツについて教えます。 



 *****
まず、コンパイルの段階でエラーが出てしまってコンパイルできなかった人へ。
flash developを保存した時点で画面上部にエラーが出てしまった人がいると思いますが、
以下の理由があります。
■ファイル名、クラス名、コンストラクタ名は同じにしなければならない。
これは自分の説明不足でした。すみません。
具体的には
ファイル名をMain.asにするならば
package src
{
public class Main extends Sprite
{
public function Main()
{
}
}
}
と書かなければなりません。
赤がファイル名。青がクラス名、緑がコンストラクタ名です。
これは、Mainじゃなくても構いません。大文字、小文字、数字など使えます。
任意の名前に出来ますが、3つとも同じ名前でなければいけません。



次にコンパイルできたけどエラーが出てしまう人へ。
このエラーとはflashCS3やCS4の出力パネルでメッセージが出てしまうことです。
エラーのメッセージにもよりますが
①変数定義が重複している
②プロパティ(メソッド)がない
が主にあげられます。
①については、今日の提出物で多く見られたのはfor文に関してです、。
同じ関数の中・・・publick function 関数名(){}の{}の中でvar 変数 と記述する場合
{}の中で同じ名前の変数を宣言してはいけない決まりがあります。
今日はコンストラクタのみで提出している人が多かったのですが、
for文を複数使用している人は、最初のfor文、2つめのfor文・・・・で使用する変数の名前を変えましょう。
例では、iを使用していますが、2つめ以降でiを使用せずに他の名前を使用するようにしてください。
②に関しては、ただのスペルミスです。出力パネルに具体的に何が無いか書いてあるので、自分で探してみましょう。


次に、授業後にあったpriveta var と var についての質問について説明です。
大きく言うと private var はグローバル変数。var はローカル変数になります。
宣言する場所と使用できる範囲が異なります。
private var はclass内部で宣言します(関数外部)
グローバル変数はクラスの中ならば、どの関数内でも使用できます。
次に var ですが、これは関数内部で宣言し、宣言した関数内でしか使用できないローカル変数です。
関数とはpublic function 関数名(){} やprivate function 関数名():void{}のことです。
その内部とは{}で囲まれた中ということです。


次にプログラムのコツについてです。
参考に見せたasやネット上のasなど自分以外の人が作ったものを見ても
最初は分かりにくいものです。これは誰もが通る道なので諦めないでください。
ですが、自分で作る場合は、コツを掴めばどんどん分かっていくものです。

みなさん参考のプログラムを見ながら漠然と作っている人が多いと思いますが
まず、スケッチを描いてみましょう。ノートでもチラシの裏でも構いません。
静止画なら構図。動画ならコンテのような物を書きます。
次にその1つ1つをどうプログラムするか考えます。
画面上のランダムの位置に円を描きたいならば
①ランダムな座標を変数で作る
②円を描く
③円を先ほど作ったランダムな位置へ移動する。
こう考えれば、さほど難しくないと思います。

今日、参考に見せた円が壁に当たって跳ね返りながら動くプログラムも
①円を描く
②円を毎フレーム、x方向にa、y方向にb動かす
③円が壁に当たったらaやbの符号を反転する。
このように考えてください。
①ならshapeのdrawcircleで描く
②はEnterFrameでshapeのxとyにaとbを加算し続ける
③はshapeの座標が壁に当たった時・・・if文で壁に当たる座標を条件に、a,bの符号反転はa = a * -1やb = b * -1で書くことができます。
それぞれのプロパティ、メソッドについては参考書のビジュアルリファレンスを、構文については参考書のプログラ入門を見れば書いてあります。

それを踏まえて、関数を作るならば

public function コンストラクタ()
{shapeの生成。EnterFrameの宣言}

private function 関数名(e:Event):void
{座標にa,bを加算する式。座標が壁に当たったら符号を反転する式}

と簡単に流れを書いて。
次にこれを実際にプログラムしてみます。


要は
①スケッチを書く
②何が必要か考える
③大まかにプログラムの流れを書く
④実際にプログラムしてみる。

となります。
いきなりプログラムできるにこした事はないですが、まずは上記の流れで作ってみましょう。
①は誰でもできると思います。
もし②、③、④で悩む事があればメールしてください。
ヒントやアドバイスを必ず返信します。
普段の勉強ならば、自分ひとりの力で調べてみる事も大事ですが、
週一回の授業だけでプログラムを覚えるのは時間的に厳しいです。
毎日数時間やれば不可能では、ありませんが
プログラムを綺麗に書くコツや、構文のコツは自分ひとりでは時間的に中々見つけられないと思います。
他の人や俺に相談しながら作るように心がけてください。



今日の授業内容については、まだアップできないので
明日の夜には授業内容と、今日提出してくれたasを訂正した物をアップできるようにします。
それから、このブログも更新は不定期ですが、なるべく毎日チェックするようにしてください。


PR
この記事へのトラックバック
この記事にトラックバックする:
[24] [23] [22] [21] [20] [19] [18] [17] [16] [15] [14]
カレンダー
06 2025/07 08
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
フリーエリア
最新コメント
最新トラックバック
プロフィール
HN:
Wataru Inaba
性別:
非公開
バーコード
ブログ内検索
P R
忍者ブログ / [PR]
/ Template by Z.Zone