今日の目標 AS3に慣れよう クラスを書こう イベントリスナーを理解しよう クラスを使おう エラーに慣れよう

Similar documents
Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - prog04.ppt

Microsoft PowerPoint - å®�æ−•è©¦é¨fi3ㆮ対ç�Œ.pptx

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Java言語 第1回

PowerPoint プレゼンテーション

ガイダンス

Microsoft Word - CygwinでPython.docx

プログラミング入門1

第1章 ビジュアルプログラミング入門

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

プログラミング入門1

IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators

こんにちは! ふっさんです 今回は 時間で数万円を 今 稼ぐ方法をレポートにまとめたので公開します 僕がこのレポートを作った理由は 多くの人が抱える 2 つの悩みを解決するためです. 稼げる自信がなくて 不安です 2. 教材などを買って学びたいが お金を捻出するのが難しいです というものです まず

Outlook2010 の メール 連絡先 に関連する内容を解説します 注意 :Outlook2007 と Outlook2010 では 基本操作 基本画面が違うため この資料では Outlook2010 のみで参考にしてください Outlook2010 の画面構成について... 2 メールについて

ガイダンス

メソッドのまとめ

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

プログラミング基礎I(再)

数はファイル内のどの関数からでも参照できるので便利ではありますが 変数の衝突が起こったり ファイル内のどこで値が書き換えられたかわかりづらくなったりなどの欠点があります 複数の関数で変数を共有する時は出来るだけ引数を使うようにし グローバル変数は プログラムの全体の状態を表すものなど最低限のものに留

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

ガイダンス

Microsoft Word - VBA基礎(6).docx

PowerPoint プレゼンテーション

ガイダンス

/*Source.cpp*/ #include<stdio.h> //printf はここでインクルードして初めて使えるようになる // ここで関数 average を定義 3 つの整数の平均値を返す double 型の関数です double average(int a,int b,int c){

PowerPoint プレゼンテーション

今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順 ) になるよう 並び替えること

第1章 ビジュアルプログラミング入門

プログラミング実習I

また 初期化について 以下のサンプルコードのように指定すれば 定義時に値を代入できます * オマケ配列は同名で複数個の箱を用意出来ます 同名ではありますが それぞれは別々の個体であるわけです また この複数個の変数は メモリ上に連続で確保されます 2. 文字と文字列 C 言語では文字と文字列は異なる

PowerPoint プレゼンテーション

教材ドットコムオリジナル教材 0から始めるiアプリ (4) 0 から始める i アプリ (4) i アプリをプログラミングする際に必要なのは Java というプログラミング言語の基礎知識です 独自の命令や駆使してプログラミングをするわけですが Java というベースになっている言語を知らないでプログ

#include<math.h> 数学関係の関数群で sin() cos() tan() などの三角関数や累乗の pow() 平方根を求める sqrt() 対数 log() などがあります #include<string.h> 文字列を扱う関数群 コイツもまた後日に 4. 自作関数 実は 関数は自分

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

PowerPoint Presentation

メディプロ1 Javaプログラミング補足資料.ppt

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

第1章 ビジュアルプログラミング入門

Javaの作成の前に

Microsoft PowerPoint - prog09.ppt

Prog2_12th

Microsoft PowerPoint - prog09.ppt

JavaプログラミングⅠ

Boost.Preprocessor でプログラミングしましょう DigitalGhost

Prog2_9th

プログラミング入門1

数学2 第3回 3次方程式:16世紀イタリア 2005/10/19

Microsoft PowerPoint - 計算機言語 第7回.ppt

GEC-Java

<4D F736F F D2091E63589F182628CBE8CEA8D758DC08E9197BF2E646F6378>

デバッグの工夫

Microsoft PowerPoint ppt

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

Fortran 勉強会 第 5 回 辻野智紀

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

C#の基本

Javaプログラムの実行手順

分割コンパイル (2018 年度 ) 担当 : 笹倉 佐藤 分割コンパイルとは 一つのプログラムのソースを複数のソースファイルに分けてコンパイルすること ある程度大きなプログラムの場合ソースファイルをいくつかに分割して開発するのが普通 1

PowerPoint プレゼンテーション

コンテンツメディアプログラミング実習2

Method(C 言語では関数と呼ぶ ) メソッドを使うと 処理を纏めて管理することができる 処理 ( メソッド ) の再実行 ( 再利用 ) が簡単にできる y 元々はC 言語の関数であり 入力値に対する値を 定義するもの 数学では F(x) = 2x + 1 など F(x)=2x+1 入力値 (

レコードとオブジェクト

Microsoft Word - no11.docx

数のディジタル化

PowerPoint プレゼンテーション

2

Fusion360でCAD設計を覚えよう。

Microsoft PowerPoint - prog07.ppt

Microsoft PowerPoint pptx

プログラミング入門1

PowerPoint プレゼンテーション

Microsoft PowerPoint - ruby_instruction.ppt

PowerPoint プレゼンテーション

Microsoft Word - no06.doc

プラグイン導入 プラグインとは何かと言うと 簡単に言えば 拡張機能 のことです ワードプレスを多くの人が推奨する理由は このプラグインの存在が大きいと言えるでしょう 普通のワードプレスはその辺の ブログと何も変わらないようなものですが プラグインを導入することでかなり便利になります

Microsoft PowerPoint ppt

PowerPoint プレゼンテーション

GEC-Java

Microsoft Word - no202.docx

Week 1 理解度確認クイズ解答 解説 問題 1 (4 2 点 =8 点 ) 以下の各問いに答えよ 問題 bit 版の Windows8.1 に Java をインストールする時 必要なパッケージはどれか 但し Java のコンパイルができる環境をインストールするものとする 1. jdk

PowerPoint プレゼンテーション

Microsoft PowerPoint - sousa pptx

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

スライド 1

GEC-Java

ボタンイベントアプリイベント処理を含むアプリとして, ボタンをもち, ボタンを押すと文字列を表示するアプリを作る. このアプリは,HelloWorld アプリを改造して作成するため, アプリ作成の途中からの手順を示す. 1. ボタンの設置 (1) レイアウトにボタンを追加するパレットの フォーム ウ

サインイン 最初にサインインを行います サインインしたときとそうでないときでは 表示やメニューなどが少し違います アカウントがない場合 最初にアカウントを作りましょう サインインしていないとき サインインしたとき メッセージ 更新情報とお知らせがとどきます

基礎プログラミング2015

6 関数 6-1 関数とは少し長いプログラムを作るようになると 同じ処理を何度も行う場面が出てくる そのたびに処 理を書いていたのでは明らかに無駄であるし プログラム全体の見通しも悪くなる そこで登場す るのが 関数 である 関数を使うことを 関数を呼び出す ともいう どのように使うのか 実際に見て

目次. テーブルの定義 3. フォームウィザードでの画面作成 6 3. フォームの使い方 4. フォームの修正の行い方 5 5. フォームの修正の行い方 () 8 6. フォームの修正の行い方 (3) 7. 表形式でのフォーム作成 9 8. 表形式でのフォームの修正 データシート形式での

ていくことが可能となるわけです このようにあるべき姿を思い浮かべて それに適した 機能を検討していけば かなりの応用が利くことになりますし そもそもアクセスの機能 をすべて知らなくても その都度 調査をしていけばよいのです 最終的には アクセス開発を通じて 一般論としてのシステム開発手法なり そもそ

第32回_プレゼン資料_菅原(Unityはじめるよ~上半身だけ動かす2~)

データ構造とアルゴリズム論

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード]

Web データ管理 JavaScript (1) (4 章 ) 2011/12/7( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/21

第 5 章インディケータとテンプレート MetaTrader4 に標準装備されているインディケータの使い方 ここまでの作業で MetaTrader4 の基本的なチャート操作についてはマスターできたと思います ここからは MetaTrader4 に標準装備されている インディケータ という便利なテクニ

することができます通常は 開発現場ごとに 関数の説明として記述する内容や形式が決まっていること が多いです javadoc 内では コメントを記入する際にクラスやメソッドの役割を示す為のタグを使用します : : クラス

Transcription:

長居 AS3 勉強会第一回

今日の目標 AS3に慣れよう クラスを書こう イベントリスナーを理解しよう クラスを使おう エラーに慣れよう

今日の目標 AS3 を覚える ( 使う ) 理由 とにかく最新技術が使えてカッコイイ! やっとかないと何かヤバいのでは? という不安感 理由は様々ですが

今日の目標 AS3 にとって大事な考え方は下準備と段取り

今日の目標 スクリプトが複雑になる スクリプトは簡単でも後日に修正や手直しが発生する 納期直前に変更がある

今日の目標 どれだけ複雑でも流れを理解しやすい 修正や変更が容易になる 最終的な手直しにも強くなる

今日の目標 仕事が楽になるという事は細部まで突き詰められるという事

今日の目標 下準備や段取りは恐ろしく地味だしわからないことはつまらないし面倒 でも わからないところで止まる より わからないところをやる 方法でみんなで勉強すれば楽しいんじゃない? ということでやってみましょう

AS3 に慣れよう そもそも自分にとって AS3 の何が難しいのかを知る わからないところがわからないではダメ

AS3 に慣れよう とは言っても AS3 は簡単! とよく聞くけど とっかかり始めでは本当にわけが分からない 自分の場合

AS3 に慣れよう ステージにムービークリップを作成 インスタンス名に my_mc と入力 my_mc をクリックしたら回転し始めるスクリプトを AS3 で書きたい やってみよう

AS3 に慣れよう my_mc.addeventlistener(mouseevent.click, onmouseclickhandler); function onmouseclickhandler(event:mouseevent):void{ my_mc.addeventlistener(event.enter_frame, onenterframehandler); function onenterframehandler(event:event):void{ my_mc.rotation ++;

AS3 に慣れよう addeventlistener でイベント登録 かろうじてわかる Function の引数 event:mouseevent って? event:event ってのもあるしなんかややこしい! AS3 やる気なくすわ ~

AS3 に慣れよう 実は AS3 の世の中を支配しているのは全てクラス クラスのお約束に慣れることが AS3 に慣れる近道 クラスに慣れよう

AS3 に慣れよう その前に

AS3 に慣れよう 変数の型について やってみよう

a = 1 ; b = 3; c = a + b; trace(c); AS3 に慣れよう

a = マサムーネ ; b = 3; c = a + b; trace(c); AS3 に慣れよう

AS3 に慣れよう プログラムが複雑になればなるほど変数の中身が曖昧だと大変!!

var a:string = 1 ; var b:string = 3; var c:string = a + b; trace(c); AS3 に慣れよう

AS3 に慣れよう 変数の 型 についてここで覚える要素は 3 つ

AS3 に慣れよう 1. 変数を最初に使う場合 2. 変数の頭に var を付ける 3. 変数のお尻に : を付けて型を指定する

AS3 に慣れよう 1. 変数を最初に使う場合っちゅうのが現時点ではイマイチ曖昧ですが それはクラスを書く時に明確になります

AS3 に慣れよう とりあえず変数の 型 についてはさっきの 3 つの条件だけ覚えておけばあとはクラス書けばなんとかなります

クラスを書こう

クラスを書こう クラスを書くときの基本ルール大きく 3 つ

クラスを書こう デスノートのルールよりは簡単だし少ない

クラスを書こう とりあえず Fla ファイルと同じディレクトリに.as ファイルを作る ファイル名の最初は大文字のアルファベットにしておく このファイル名が今から作るクラスのクラス名になる

クラスを書こう package{.as ファイルの中身はとりあえず で囲む

クラスを書こう package の中はとりあえず public class < クラス名 >{ で囲む

クラスを書こう package{ public class < クラス名 >{ 最終的に次の形になる

クラスを書こう 基本ルールはたったこれだけです

クラスを書こう 次にそれを踏まえて実際に 動く クラスを書くためのルールを覚えます

クラスを書こう 手っ取り早く 動く クラスを作るには ドキュメントクラス を書くといいです

クラスを書こう Fla ファイルの シーンプロパティ の ドキュメントクラス にクラス名を入力します

クラスを書こう 基本ルールその 1 Fla ファイルと同じフォルダにクラスファイルを作る クラスファイル名とクラス名は同じ ファイル名 ( クラス名 ) の最初は大文字で を思い出して やってみよう

クラスを書こう package{ public class Main{ // この中にスクリプトを書いていきます! trace( ほげほげ );

クラスを書こう ここで 動く クラスのルールその 1 ドキュメントクラスは MovieClip クラスか Sprite クラスを継承しよう

クラスを書こう ちなみに MovieClip クラスか Sprite クラスのどちらを継承するかに関しては どっちでもいいですが 慣れないうちは MovieClip クラスを継承しておいた方がいいです ( 理由は口頭で説明 )

クラスを書こう 継承の仕方は class Main の後に extends MovieClip を付け足すだけ

クラスを書こう package{ public class Main extends MovieClip{ // この中にスクリプトを書いていきます! trace( ほげほげ );

クラスを書こう ここで 動く クラスのルールその 2 クラスに必要なクラスはインポートしなければならない

クラスを書こう ドキュメントクラス Main は MovieClip クラスを継承 MovieClip クラスが必要 package の中に必要なクラスをインポートします

クラスを書こう クラスって独立国家みたいなもの 自分のクラスに無いものはあらかじめインポート ( 輸入 ) しておく必要があるんですね

クラスを書こう どこにどうやって書く ( インポートする ) の?

クラスを書こう <body id= package > <div id= class name= Main > </div> </body> クラスの基本形はこれと良く似ています

クラスを書こう package の中に書きましょう 具体的には import flash.display.movieclip; と書いていきます

クラスを書こう package{ import flash.display.movieclip; public class Main extends MovieClip{ // この中にスクリプトを書いていきます! trace( ほげほげ );

クラスを書こう <body id= package > <h1 class= import >MovieClip</h1> <div id= class name= Main > </div> </body> 正確にはちょっと違うけど html だとこんなイメージ

クラスを書こう ここで 動く クラスのルールその 3 class と同じ名前の関数 (function) が一番最初に実行される この関数を コンストラクタ と呼ぶ

クラスを書こう どこにどうやって書くの?

クラスを書こう 書く場所は class に囲まれた中

クラスを書こう function Main():void{ 書き方は

クラスを書こう package{ import flash.display.movieclip; public class Main extends MovieClip{ function Main():void{ trace( ほげほげ );

クラスを書こう もうね 完璧

クラスを書こう とにかく基本さえ覚えればこれから複雑になってきても対応できるのでがんばって!

変数を使おう

変数を使おう クラスの中で変数を使うために 最初の方に 変数の型 でやったルール 1. 変数を最初に使う場合の解説に入ります

変数を使おう クラスで使う変数のルール クラスの中に直接作った変数は そのクラス内でどこでも自由に使えます 関数の中で作った変数はその関数の中だけで使えます

変数を使おう package{ import flash.display.movieclip; public class Main extends MovieClip{ var a:string = マサムーネ ; function Main():void{ var b:string = ほげほ げ ;

変数を使おう package{ import flash.display.movieclip; public class Main extends MovieClip{ var masamune:string = マサムーネ ; var kotoba:string = かっこいい!(^-^)v ; function Main():void{ trace(masamune + kotoba); mouikkai(); function mouikkai():void{ var kotoba:string = かっこわるい (><;) ; trace(masamune + kotoba);

変数を使おう 慣れてないと実に不思議というかややこしい動きをしているように見えますが 慣れてくると変数を調べるときに最初は関数内で var で宣言されていないか調べて なければクラス内で var されてないか調べればいいので とても合理的に作業が出来るようになります

変数を使おう ちなみに関数の戻り値に使う 型 はこんな感じ

変数を使おう function Main():void{ tracemasamune(); var modori:string = modosumasamune(); function tracemasamune():void{ trace( マサムーネムネムーネ ); function modosumasamune():string{ var masamune:string = 正宗の双子の弟です ; return masamune;

変数を使おう 引数を使う場合はこう

変数を使おう function Main():void{ tracemasamune( は 33 歳 ); tracemasamune( の好きな忍法帖はくノ一忍法帖 ) function tracemasamune(kotoba:string):void{ trace( マサムーネ + kotoba);

変数を使おう クラスで使う変数のルール クラスの中に直接作った変数は そのクラス内でどこでも自由に使えます 関数の中で作った変数はその関数の中だけで使えます を覚えておけば スクリプトが複雑になってもやっぱり基本的なルールの組み合わせだけで何とかなるようになります

イベントリスナーを理解しよう

イベントリスナー なんでもかんでも addeventlistener でイベントを登録!!

イベントリスナー my_mc をクリックしたらメッセージを表示するスクリプトを書いてみよう

イベントリスナー なにかムービークリップを作って インスタンス名 my_mc と入力しておきます

イベントリスナー package{ import flash.display.movieclip; public class Main extends MovieClip{ function Main():void{ my_mc.addeventlistener("click", onclickhandler); function onclickhandler(event:mouseevent):void{ trace(" あなた クリックしましたね!?");

イベントリスナー package{ import flash.display.movieclip; import flash.events.mouseevent; public class Main extends MovieClip{ function Main():void{ my_mc.addeventlistener("click", onclickhandler); function onclickhandler(event:mouseevent):void{ trace(" あなた クリックしましたね!?");

イベントリスナー fla ファイルのタイムラインに直接スクリプトを書いたときは インポートしなくてもよかったものが クラスの場合はいろいろインポートしないといけないわけですね

イベントリスナー addeventlistener(< イベント >, < 処理 >); (< 何が起こったら?>, < 何をする?>);

イベントリスナー < イベント >(< 何が起こったら?>) の部分は 例えば click とかでもいいんですが 例えば clik とか書き間違えたときエラーも出ないし動かないし 困ります

イベントリスナー さてここで一旦イベントリスナーから離れて

イベントリスナー fla ファイルや Main.as ファイルと同じフォルダに Test.as というクラスファイルを作って下さい ( 今まで覚えたルールをよ く思い出して )

イベントリスナー package { public class Test { function Test():void {

イベントリスナー Test クラスはドキュメントクラスではないので MovieClip の継承は行わなくていいんです 継承する必要がないのでインポートも今のところ必要ないです 引っかけじゃないんですが慣れてないと意地の悪いパズルみたいですね

イベントリスナー ふつう変数は ( さっきやったように ) そのクラス内だけで使いますが ここで Test クラスで作った変数を Main クラスで使ってみましょう

イベントリスナー package { public class Test { var CLICK:String = click ; function Test():void {

イベントリスナー 変数もいろいろな使い方があって スクリプトが実行されてるときに変数の中身が変わる変数 は普通なんですが 変数の中身が絶対に変わらない変数 という使い方もあります

イベントリスナー 前者 ( 中身が変わる ) は普通に var で宣言するんですが 後者 ( 中身が変わらない ) は 定数 と言って var のかわりに const で宣言します

イベントリスナー package { public class Test { const CLICK:String = click ; function Test():void {

イベントリスナー くどいようですが ふつう変数 ( や定数 ) はそのクラス内だけで使いますが 今回みたいに Main という外部から Test クラスの中の変数 ( や定数 ) を使いたい場合 var( や const) の前に public static を付けます

イベントリスナー package { public class Test { public static const CLICK:String = click ; function Test():void {

イベントリスナー さて ここまで意味の分からない事をさせてすみません Main クラスのイベントリスナーに戻りましょう

イベントリスナー package{ import flash.display.movieclip; import flash.events.mouseevent; public class Main extends MovieClip{ function Main():void{ my_mc.addeventlistener(test.click, onclickhandler); function onclickhandler(event:mouseevent):void{ trace(" あなた クリックしましたね!?");

イベントリスナー また新しいルール 同じフォルダにあるクラス同士は import しなくても使える! ( ただ何のクラスを使ってるのかあとあとわからなくなるので import してもいい つまりしてもしなくてもいい )

イベントリスナー こうしておくと click をスペルミスしてエラーも出ないし動かない なんてことがなくなります

イベントリスナー でも毎回 Test クラスみたいなの作るの面倒 Test クラスの中の click そのものがスペルミスしてたら意味ないし

イベントリスナー 実は今作った Test クラスの public const CLICK:String = click ; っての わざわざ作らなくてももうあるんです

イベントリスナー それが MouseEvent クラス

イベントリスナー package{ import flash.display.movieclip; import flash.events.mouseevent; public class Main extends MovieClip{ function Main():void{ my_mc.addeventlistener(mouseevent.click, onclickhandler); function onclickhandler(event:mouseevent):void{ trace(" あなた クリックしましたね!?");

イベントリスナー 一番最初に見た my_mc.addeventlistener(mouseevent.click, onmouseclickhandler); function onmouseclickhandler(event:mouseevent):void{ my_mc.addeventlistener(event.enter_frame, onenterframehandler); function onenterframehandler(event:event):void{ my_mc.rotation ++;

イベントリスナー こんなふうに いろんな簡単なルールの組み合わせで合理的に作業が出来るようになっているのが AS3 ということになります

クラスを使おう

クラスを使おう 独学できるようになるまであとちょっと クラスの使い方

クラスを使おう また Main.as と同じフォルダに TraceTest というクラスを作ってみましょう (Test クラスをコピペしてクラス名とコンストラクタをかえても OK)

クラスを使おう package{ public class TraceTest{ function TraceTest():void{ trace(" ほげほげ ");

クラスを使おう Main クラスではこういうふうに使います

クラスを使おう package{ import flash.display.movieclip; public class Main extends MovieClip{ function Main():void{ var t:tracetest = new TraceTest();

クラスを使おう クラスを使うときの基本ルールは 2 つ new でクラスをインスタンス化する そのインスタンスの型は基本的にクラス名と同じ型になる

クラスを使おう ちなみにクラスのコンストラクタに引数を渡すこともできます

クラスを使おう package{ public class TraceTest{ function TraceTest(moji:String):void{ trace(moji);

クラスを使おう package{ import flash.display.movieclip; public class Main extends MovieClip{ function Main():void{ var t1:tracetest = new TraceTest( ほねほね ); var t2:tracetest = new TraceTest( ロック );

クラスを使おう クラスってライブラリで言うシンボルみたいなもの 使うときは new でインスタンス化する って覚えときましょう

まとめ

まとめ 今回やったことは基本の基本のところでもあるし 逆にいきなり難しいところもしています また とりあえず動かせるようになるため説明が正確でないところもあります

まとめ ただ どんな複雑なスクリプトも ひとつひとつは簡単なルールの組み合わせなので先ずは大枠がつかめるよう とにかくルールに慣れる事から初めてみましょう

まとめ 難しい 面倒くさい段取りはあとあと楽になるための下準備です 是非 AS3 に慣れて 仕事のクオリティアップと飲みの時間を増やしましょう

まとめ おつかれさまでした