Graphics/2020/ex13
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*グラフィックス基礎及び実習 2020年度 第13回 [#e9701092]
#contents
//&color(#ff0000){''工事中''};
**ex13 課題A [#kadaiA]
//&color(Red){''工事中''};
''提出期限: 0703金 18:30''
*** Step0 準備 [#q674c80a]
Graphics20XYフォルダ/ディレクトリで作業しているひとと,g...
''Graphics2020フォルダ/ディレクトリで作業してるひとは''
[[DoraPaneSample.class>Graphics:DoraPaneSample.class]] [...
上記リンク先の2つクラスファイルをダウンロードして Graphic...
''gr2020プロジェクトで作業してるひとは''
[[G12DoraSample.jar>Graphics:G12DoraSample.jar]]
上記 jar ファイルをダウンロードして gr2020/lib に置き,実...
jar ファイルの実行の仕方については,[[Graphics/2020/ex12#...
***Step1 観察 [#hea170c4]
G12DoraSample の動作をよく観察しよう
+ アプリケーションウィンドウへ/からマウスカーソルが入る...
+ より正確には,どの領域へのカーソルの出入りでイベントが...
+ 上記の領域内でクリックするとどうなる?
+ クリックする位置によって違いはないだろうか?
&color(blue){&size(8){ これはいったい誰でしょう? (1) ド...
***Step2 G12Dora ver.1 [#v122eb43]
G12DoraSample と同じことをするクラス G12Dora を作ろう(ve...
まずは,以下をそのまま作って動かしてみよう.
このプログラムは,DoraPaneSample クラスを利用している.
DoraPaneSample クラスは後述のように Pane のサブクラスであ...
- Graphics2020フォルダ/ディレクトリで作業してるひとは,...
- gr2020 プロジェクトで作業してるひとは,以下を src/ に作...
#pre{{
import javafx.application.Application;
import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.*;
//import javafx.event.*;
public class G12Dora extends Application {
@Override
public void start(Stage pstage) {
DoraPaneSample dora = new DoraPaneSample();
Label label = new Label();
BorderPane root = new BorderPane();
root.setCenter(dora);
root.setBottom(label);
Scene scene = new Scene(root);
pstage.setScene(scene);
pstage.setTitle("G12Dora");
pstage.sizeToScene();
pstage.show();
}
public static void main(String[] args) {
launch(args);
}
}
}}
***Step3 G12Dora ver.2 [#j9a257c4]
G12DoraSample と同じことをするクラス G12Dora を作ろう(ve...
G12Dora を修正して,G12DoraSample と同じ動作をさせよう.
以下に示す [[DoraPaneSample クラスのAPI仕様>#DoraPaneSamp...
ただし,このAPI仕様に示されたすべての項目を使用すること.
ヒント:
+ イベントハンドラは,dora に対して設定すればよい
+ クリック時のカーソルのXY座標を取得して鼻の領域内かどう...
if (ほげ.onNose(X, Y)) ...
+ プログラム中に "ばいばい" とか自分で書かない.API仕様を...
***Step4 提出 [#n8b7443a]
提出しよう
完成した G12Dora.java をこの科目の Moodle コース上の当該...
***DoraPaneSample のAPI仕様 [#DoraPaneSample]
''[[javafx.scene.layout.Pane>https://docs.oracle.com/java...
- ''コンストラクタ''
>
:DoraPaneSample()| 「Dora」が描かれた Pane のインスタンス...
<
- ''メソッド''
>
:boolean onNose(double x, double y)| 座標 (x, y) が「Dora...
<
- ''フィールド''
>
:String mEntered| "ぼくどらちゃん"
:String mClicked|"どらやき食べたい"
:String mOnNose|"いたい!いたい!"
:String mExited|"ばいばい"
<
注: DoraPaneSampleでは,鼻の領域は (150, 150) を中心とす...
**ex13 課題B [#kadaiB]
//&color(Red){''工事中''};
%%''提出期限: 0710金 4講時開始後少し経ったら''(正確な時...
→ ''提出期限: 0710金 15:50''
***Step1 Doraを描く [#g9529a1f]
+ 次の内容のソースファイル DoraPane.java を作ろう.
#pre{{
import javafx.scene.layout.*;
import javafx.scene.canvas.*;
import javafx.scene.paint.*;
public class DoraPane extends Pane{
public DoraPane(){
Canvas canvas = new Canvas(300, 300);
this.getChildren().add(canvas);
this.setStyle("-fx-background-color: white;");
this.draw(canvas);
}
private void draw(Canvas c){
// 今はまだ空っぽ
}
}
}}
+ 次の内容のソースファイル G13Dora.java を作ろう.
#pre{{
import javafx.application.Application;
import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.*;
public class G13Dora extends Application {
@Override
public void start(Stage pstage) {
DoraPane dora = new DoraPane();
BorderPane root = new BorderPane();
root.setCenter(dora);
Scene scene = new Scene(root);
pstage.setScene(scene);
pstage.setTitle("G13Dora");
pstage.sizeToScene();
pstage.show();
}
public static void main(String[] args) {
launch(args);
}
}
}}
+ G13Dora.java をコンパイルして G13Dora を実行しよう.こ...
+ draw メソッドの中身を書いて,Doraを描こう.ただし,
-- ソースには,どこがどの部分を描いているのか分かるように...
-- ''Dora は DoraPaneSample のものより簡略化しないこと....
-- ''顔の部品を描く順序に注意しよう.特に,目の部分''
*** Step2 仕上げよう [#v3a4aee7]
+ [[課題AのDoraPaneSampleのAPI>#DoraPaneSample]] を参考に...
+ G12Dora で DoraPaneSample を使っているところを DoraPane...
***Step3 提出しよう [#n8b7443a]
完成した DoraPane.java (のみ)をこの科目の Moodle コース...
*** 悪い教員に唆されて青春の無駄遣いをしてしまったTAのみ...
の成果を見ます?
- [[2017年度TAのみなさん>Graphics:G11Dora-ta2017.png]]
- [[2018年度TAのみなさん>Graphics:G12Dora-ta2018.png]]
- 大学院楽しいよ
**ex13 課題S(omake) [#kadaiS]
//&color(#ff0000){''工事中''};
期限: 0710金23:59.これはおまけ課題です.やらなくても減点...
[[DoraFukuSample.jar>Graphics:DoraFukuSample.jar]]
上記リンク先の jar ファイルをダウンロードして,実行してみ...
これと同じ動作をするプログラムを作ろう.次のように考えた...
+ Shape クラスのサブクラスを使って Dora の図を描くプログ...
+ 右目を表す楕円オブジェクトに対してイベントハンドラを設...
+ その他の図形オブジェクトに対しても同様にイベントハンド...
終了行:
*グラフィックス基礎及び実習 2020年度 第13回 [#e9701092]
#contents
//&color(#ff0000){''工事中''};
**ex13 課題A [#kadaiA]
//&color(Red){''工事中''};
''提出期限: 0703金 18:30''
*** Step0 準備 [#q674c80a]
Graphics20XYフォルダ/ディレクトリで作業しているひとと,g...
''Graphics2020フォルダ/ディレクトリで作業してるひとは''
[[DoraPaneSample.class>Graphics:DoraPaneSample.class]] [...
上記リンク先の2つクラスファイルをダウンロードして Graphic...
''gr2020プロジェクトで作業してるひとは''
[[G12DoraSample.jar>Graphics:G12DoraSample.jar]]
上記 jar ファイルをダウンロードして gr2020/lib に置き,実...
jar ファイルの実行の仕方については,[[Graphics/2020/ex12#...
***Step1 観察 [#hea170c4]
G12DoraSample の動作をよく観察しよう
+ アプリケーションウィンドウへ/からマウスカーソルが入る...
+ より正確には,どの領域へのカーソルの出入りでイベントが...
+ 上記の領域内でクリックするとどうなる?
+ クリックする位置によって違いはないだろうか?
&color(blue){&size(8){ これはいったい誰でしょう? (1) ド...
***Step2 G12Dora ver.1 [#v122eb43]
G12DoraSample と同じことをするクラス G12Dora を作ろう(ve...
まずは,以下をそのまま作って動かしてみよう.
このプログラムは,DoraPaneSample クラスを利用している.
DoraPaneSample クラスは後述のように Pane のサブクラスであ...
- Graphics2020フォルダ/ディレクトリで作業してるひとは,...
- gr2020 プロジェクトで作業してるひとは,以下を src/ に作...
#pre{{
import javafx.application.Application;
import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.*;
//import javafx.event.*;
public class G12Dora extends Application {
@Override
public void start(Stage pstage) {
DoraPaneSample dora = new DoraPaneSample();
Label label = new Label();
BorderPane root = new BorderPane();
root.setCenter(dora);
root.setBottom(label);
Scene scene = new Scene(root);
pstage.setScene(scene);
pstage.setTitle("G12Dora");
pstage.sizeToScene();
pstage.show();
}
public static void main(String[] args) {
launch(args);
}
}
}}
***Step3 G12Dora ver.2 [#j9a257c4]
G12DoraSample と同じことをするクラス G12Dora を作ろう(ve...
G12Dora を修正して,G12DoraSample と同じ動作をさせよう.
以下に示す [[DoraPaneSample クラスのAPI仕様>#DoraPaneSamp...
ただし,このAPI仕様に示されたすべての項目を使用すること.
ヒント:
+ イベントハンドラは,dora に対して設定すればよい
+ クリック時のカーソルのXY座標を取得して鼻の領域内かどう...
if (ほげ.onNose(X, Y)) ...
+ プログラム中に "ばいばい" とか自分で書かない.API仕様を...
***Step4 提出 [#n8b7443a]
提出しよう
完成した G12Dora.java をこの科目の Moodle コース上の当該...
***DoraPaneSample のAPI仕様 [#DoraPaneSample]
''[[javafx.scene.layout.Pane>https://docs.oracle.com/java...
- ''コンストラクタ''
>
:DoraPaneSample()| 「Dora」が描かれた Pane のインスタンス...
<
- ''メソッド''
>
:boolean onNose(double x, double y)| 座標 (x, y) が「Dora...
<
- ''フィールド''
>
:String mEntered| "ぼくどらちゃん"
:String mClicked|"どらやき食べたい"
:String mOnNose|"いたい!いたい!"
:String mExited|"ばいばい"
<
注: DoraPaneSampleでは,鼻の領域は (150, 150) を中心とす...
**ex13 課題B [#kadaiB]
//&color(Red){''工事中''};
%%''提出期限: 0710金 4講時開始後少し経ったら''(正確な時...
→ ''提出期限: 0710金 15:50''
***Step1 Doraを描く [#g9529a1f]
+ 次の内容のソースファイル DoraPane.java を作ろう.
#pre{{
import javafx.scene.layout.*;
import javafx.scene.canvas.*;
import javafx.scene.paint.*;
public class DoraPane extends Pane{
public DoraPane(){
Canvas canvas = new Canvas(300, 300);
this.getChildren().add(canvas);
this.setStyle("-fx-background-color: white;");
this.draw(canvas);
}
private void draw(Canvas c){
// 今はまだ空っぽ
}
}
}}
+ 次の内容のソースファイル G13Dora.java を作ろう.
#pre{{
import javafx.application.Application;
import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.*;
public class G13Dora extends Application {
@Override
public void start(Stage pstage) {
DoraPane dora = new DoraPane();
BorderPane root = new BorderPane();
root.setCenter(dora);
Scene scene = new Scene(root);
pstage.setScene(scene);
pstage.setTitle("G13Dora");
pstage.sizeToScene();
pstage.show();
}
public static void main(String[] args) {
launch(args);
}
}
}}
+ G13Dora.java をコンパイルして G13Dora を実行しよう.こ...
+ draw メソッドの中身を書いて,Doraを描こう.ただし,
-- ソースには,どこがどの部分を描いているのか分かるように...
-- ''Dora は DoraPaneSample のものより簡略化しないこと....
-- ''顔の部品を描く順序に注意しよう.特に,目の部分''
*** Step2 仕上げよう [#v3a4aee7]
+ [[課題AのDoraPaneSampleのAPI>#DoraPaneSample]] を参考に...
+ G12Dora で DoraPaneSample を使っているところを DoraPane...
***Step3 提出しよう [#n8b7443a]
完成した DoraPane.java (のみ)をこの科目の Moodle コース...
*** 悪い教員に唆されて青春の無駄遣いをしてしまったTAのみ...
の成果を見ます?
- [[2017年度TAのみなさん>Graphics:G11Dora-ta2017.png]]
- [[2018年度TAのみなさん>Graphics:G12Dora-ta2018.png]]
- 大学院楽しいよ
**ex13 課題S(omake) [#kadaiS]
//&color(#ff0000){''工事中''};
期限: 0710金23:59.これはおまけ課題です.やらなくても減点...
[[DoraFukuSample.jar>Graphics:DoraFukuSample.jar]]
上記リンク先の jar ファイルをダウンロードして,実行してみ...
これと同じ動作をするプログラムを作ろう.次のように考えた...
+ Shape クラスのサブクラスを使って Dora の図を描くプログ...
+ 右目を表す楕円オブジェクトに対してイベントハンドラを設...
+ その他の図形オブジェクトに対しても同様にイベントハンド...
ページ名: