プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門

Slides:



Advertisements
Similar presentations
スライドの挿入・移動・削除 ◎スライドの挿入 挿入メニュー → 新しいスライド ◎スライドの移動 表示メニュー → スライド一覧 に入り 移動したいスライドをドラッグ&ドロップする ◎スライドの削除 表示メニュー → スライド一覧 に入り 削除したいスライドを選択後 キーで削除 ( 注 ) 表示メニュー.
Advertisements

初年次セミナー 第13回 2次元グラフィックス(1).
社会人学習講座 「Javaプログラミング概論」
初年次セミナー 第14回 2次元グラフィックス(2).
GridLayout オブジェクト(省略)
プログラミング 平成22年10月20日 森田 彦.
プログラミング 平成24年10月16日 森田 彦.
TTimer タイマーコンポーネント 一定時間ごとにイベントを起こして処理をおこなう.
第3回:ボールを上下に動かそう! (オブジェクトの移動、一次元)
情報処理入門A・B 第7回 ワープロソフト入門(2)
Applet 岡部 祐典 鈴木 敬幸.
プログラミング実習(Java) グラフィクス処理とGUIプログラミング 講師:坂口 利裕(横浜市立大学)
班紹介 描画班一同.
JAVA GUIプログラミング 第6回 TextFieldとLabel.
情報処理入門A・B 第8回 プレゼンテーション支援ツール
アプレット (Applet)について.
1.Java 概要 2.簡単なアプレット 3.動画を表示するアプレット 4.アプレットの改良 5.開発環境の利用(データベース)
Javaでゲーム  山本拓弥.
第4回:ボールを画面内で弾ませよう! (オブジェクトの移動、二次元)
地理情報システム論 第3回 コンピュータシステムおける データ表現(1)
JAVA.
画像の作成と編集.
プログラミング演習3 第4回 ミニプロジェクト.
第3回 スプライトと音楽 05A1030 佐々木和也.
第3回:ボールを上下に動かそう! (オブジェクトの移動、一次元)
JAVA GUIプログラミング 第5回 ボタンとそのイベント処理.
CGプログラミング論 平成28年4月27日 森田 彦.
プログラミングIII演習 第1回目.
情報コミュニケーション入門b 第4回 ワープロソフト入門(2)
プログラミング演習3 第2回 GUIの復習.
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
オーサリングツール&ブラウザの 技術的トピック
基礎プログラミング演習 第10回.
TCanvas BCB:TCanvasクラスでグラフィックを扱う。 TFormなどもプロパティとして持っている。
シーケンス図を用いて実行履歴を可視化するデバッグ環境の試作
プログラミング演習3 第2回 GUIの復習.
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
諸連絡 USBメモリの販売について 日時:6月23日(月)授業開始前 商品:プリンストン社製32MBのUSBメモリ
ゲームプログラミング講習  第3章 ゲーム作成 ブロック崩しを作ります ゲームプログラミング講習 第3章 ゲーム作成.
プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~
・タイプ別のフレームワーク ・デジタルTips(小技テクニック情報)
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
プログラミング基礎a 第11回 Java言語による図形処理入門(3) アニメーション入門
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~
プログラミングⅠ 平成30年10月22日 森田 彦.
情報コミュニケーション入門e 第9回 Part1 ワープロソフト入門(2)
情報コミュニケーション入門b 第11回 Web入門(2)
情報基礎演習I(プログラミング) 第11回 7月12日 水曜5限 江草由佳
情報コミュニケーション入門e 第12回 Part1 Web入門(2)
情報コミュニケーション入門e 第9回 Part1 ワープロソフト入門(2)
JAVA入門後期④ イベント、AWT、の基本構造、スレッド
第8回放送授業.
JAVA GUIプログラミング 第3回 イベント処理① マウスイベント.
地理情報システム論(総)/ 国民経済計算論(商)
プログラミング基礎a 第4回 C言語によるプログラミング入門 条件判断と反復
計算機プログラミングI 第3回 プリミティブ値 クラスメソッド クラス変数 式と演算 変数の利用
画面への描画 Graphics オブジェクト 紙 ペン Pen オブジェクト Brush オブジェクト 画面のピクセルをカプセル化
情報コミュニケーション入門e 第12回 Part1 Web入門(2)
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
第2回 Webサーバ.
図や表の作成 ここでの目標.
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
データ構造とアルゴリズム論 第9章 連結リスト
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
プログラミング実習(Java) グラフィクス処理とGUIプログラミング 講師:坂口 利裕(横浜市立大学)
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
5-5 文字列の描画 (1)基本的な文字列描画 A.手順
Presentation transcript:

プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門 2012.01.18 プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門 坂口利裕

Javaによるアニメーション表現 アニメーションの原理 プログラミング上の技法 GUIによる制御 Threadクラスによるマルチスレッド化 プログラミング基礎a 2012.01.18 Javaによるアニメーション表現 アニメーションの原理 プログラミング上の技法 Threadクラスによるマルチスレッド化 sleepによる動作の一時停止 GUIによる制御 2012.01.18 プログラミング基礎a 坂口利裕

アニメーションの原理 コマ 少しずつ変化する 絵を連続的に描画 残像に残る程度の時間間隔を空ける。 2012.01.18 プログラミング基礎a 2012.01.18 アニメーションの原理 コマ 少しずつ変化する 絵を連続的に描画 残像に残る程度の時間間隔を空ける。 2012.01.18 プログラミング基礎a 坂口利裕

マルチスレッド Threadクラスの オブジェクトによ り,同時進行で きる別の“流れ” を生成 init() start() run() イベント処理 リスナなど stop() paint() イベント待ちのループ 2012.01.18 プログラミング基礎a

練習(1) プログラム内容を比較してみなさい 静止画による表現 jprog06 アニメーションによる表現 jprog07 2012.01.18 プログラミング基礎a

jprog07のポイント init()メソッド run()メソッド paint ()メソッド プログラムが呼び出される時に1度だけ実行 反復内容の記述 repaint()による描画図形の表示→ 変数 t の更新→ (残像を発生させるために)一定時間動作を休止 paint ()メソッド アニメーションの1コマ分に相当する図形の描画 t に依存して位置を決定→ 描画メソッドを用いた描画処理 2012.01.18 プログラミング基礎a

練習(2) 円軌道の中心からボールの中心まで線分を描くようにし,1点を中心に回っていることを強調させる メソッド paint () を修正 座標の考え方は,右図を参照 400 x -y 半径 400 2012.01.18 プログラミング基礎a

面白みを増すための改造の例 動きを複雑にする ボールの動きに応じて色を変化させる ボール以外の図形を回転させる プログラミング基礎a 2012.01.18 面白みを増すための改造の例 動きを複雑にする ボールを増やす 逆向きに動くようにする 楕円軌道で動くようにする ボールの動きに応じて色を変化させる 1周ごとに色が変化 じょじょに色が変化 軌跡に色づけ ボール以外の図形を回転させる 円以外の図形描画を使用 画像ファイルを使用 ボタンなどのGUIを追加して動作を制御できるようにする Stop/Startを制御 回転の向きを制御 運動の半径やボールの大きさ・色を指示 2012.01.18 プログラミング基礎a 坂口利裕

練習(3) 回転するボールを独自の画像に変更する 「ペイント」で画像を作成 Imageクラスの変数を用意 drawImageで描画 キャンバスの大きさを50×50に変更 PNG形式でJavaプログラムと同じフォルダに保存 Imageクラスの変数を用意 初期化メソッドinit()で画像情報をファイルから読む drawImageで描画 描画メソッドpaint()でfillOvalの代わりに使用 2012.01.18 プログラミング基礎a

練習(4) GUIを追加して停止・実行できるように改良 リスナー ActionListenerを追加 プログラミング基礎a 2012.01.18 練習(4) GUIを追加して停止・実行できるように改良 リスナー ActionListenerを追加 動作状態を boolean型変数(たとえばisRunning)で保持 回転中→true,停止中→false Buttonオブジェクト(たとえばbtn1)を生成し画面上に登録しリスナーを追加,動作状態を初期化 イベント処理用メソッドactionPerformedを追加 ボタンがクリックされたら 動作状態を反転 動作状態に応じて Buttonのラベルを setLabel(“…”)メソッドで変更 動作状態に応じて角度の更新を行うように run を修正 2012.01.18 プログラミング基礎a 坂口利裕