SlideShare a Scribd company logo
1 of 31
氷
海さんぽ 1
目次
1.表紙
2.目次
3.仕様
4.仕様するクラス
5〜9.ofAppクラス
10〜20.flozenクラス
21〜26.使用した書き方一覧 2
仕様
マウスをクリックすると、
クリックした場所から氷が結晶を撒き散らして出てくる。
マウスクリックを止めると、
氷が透明になって消えていく。
3
使用するクラス
ofApp.h
ofApp.cpp<基となるクラス>
flozen.hpp
flozen.cpp<氷についてのクラス>
crystal.hpp
crystal.cpp<結晶についてのクラス>
4
ofApp.h
変数と配列を宣言する。
• int型
• COUNT(静的変数)<配列mCrystalsの個数>
• bool型
• mIsJump<マウスがクリックされたかどうか
>
• 自作クラスを参照する型
• mFlozens<flozenクラスを参照する変数>
• mCrystals[]<crystalクラスを参照する配列>
5
ofApp.cpp/setup
• フレームレートを60回/秒にする。
• 背景を青色にする。<RGBのB = 255>
• flozenクラスのsetupFlozen関数を呼び出す。
• crystalクラスのsetupCrystal関数を
10回呼び出す。
6
ofApp.cpp/update
• マウスの座標を測定して、
変数mousePositionに入れる。
• flozenクラスのupdateFlozen関数を
呼び出す。
• crystalクラスのupfateCrystal関数を
10回呼び出す。
7
ofApp.cpp/draw
• flozenクラスのdrawFlozen関数を呼び出す。
• crystalクラスのdrawCrystal関数を10回
呼び出す。
8
ofApp.cpp/mousePressed
ofApp.cpp/mouseReleased
[mousePressed]
<マウスがクリックされた時に呼び出される>
• mIsJumpにtrueを代入する
[mouseReleased]
<マウスが放された時に呼び出される>
• mIsJumpにfalseを代入する
9
flozen.hpp
引数を指定する。
• updateFlozenにmIsJump,mousePosiitonを
ofAppから引数として持ってくる。
変数を宣言する。
• ofImage型
• mIce1<割れる前の氷の画像>
• mIce2<割れた後の氷の画像>
10
• int型
• mWidth<氷の画像の幅>
• mHeight<氷の画像の高さ>
• mAlphaBlending<氷の画像の透明度>
• mCount<マウスをクリックしている間のカウント>
• i<氷が割れている間の音量>
• ofSoundPlayer型
• mFlozenSound<氷が出来る音>
• mBrokenSound<氷が割れる音>
• ofVec2f型
• mSubPosition<クリックした瞬間のマウスの座標>
• mPosition<氷の画像を表示する座標>
11
flozen.hpp(続き)
flozen.cpp/setupFlozen
• フレームレートを60回/秒に設定する。
• 変数mIce1とmIce2でofImageクラスのloadメソッド
• 変数mFlozenSoundとmBrokenSoundでofSoundPlayer
クラスのloadメソッド
12
• 変数mBrokenSoundでofSoundPlayerクラスのpsetVolumeメソッドとplayメソッドとsetLoopメソッド
• 変数mWidth,mHeightの初期値を0、変数mAlphaBlendingのの初期値を255とする。
• 変数mCountの初期値は0<クリックしていない間は0>
• 変数iの初期値は100<氷が割れる音が聞こえる時、初めの音量は100>
13
flozen.cpp/setupFlozen
flozen.cpp/updateFlozen
主に画像の大きさと透明度について
 もしmIsJumpがtrueなら
 氷が割れる音の音量は0に設定
14
 もし氷が拡大途中の大きさなら
半透明または透明なら初期化
氷が割れる音は音量0に設定
氷拡大
氷の登場音の音量を100に設定
 もしそうでない<氷が最大>なら
半透明または透明なら初期化
不透明なら透明度は255
15
flozen.cpp/updateFlozen(続き)
flozen.cpp/updateFlozen
続き
 もしそうでない<mIsJumpがfalse>なら
 もし氷があるなら
もし不透明または半透明なら
透明にしていく
氷が割れる音の音量を100に
設定する
もしそうでない<透明>なら
初期化
 もしそうでない<氷の大きさが0>なら
初期化
16
flozen.cpp/updateFlozen
カウントについて
 もしmIsJumpがtrueなら
 カウントする
 もしカウントが1ならmSubPositionに
マウスの座標を代入
 もしそうでない<mIsJumpがfalse>なら
 カウントは0
17
氷の画像表示をする座標について
 mPositionに、mSubPositionと氷の大きさを考慮した値を入れる
<マウスの中心から氷を登場させる>
18
flozen.cpp/updateFlozen(続き)
flozen.cpp/drawFlozen
 ofSetColorで、透明度には変数
mAlphaBelndingを使う
 もしmIsJumpがtrueなら
 割れる前の氷の画像を表示
 もしそうでないなら
 割れた後の氷の画像を表示
19
crystal.hpp
変数を宣言する。
• ofImage型
• mCrystals1〜7<氷の結晶1~7の画像>
• ofVec2f型
• mPosition<氷の結晶の画像の座標>
• mVelocity<氷の結晶の画像の動きの速度>
• mSubPosition<クリックした瞬間のマウスの座標>
• Int型
• mAlphaBlending<氷の結晶の画像の透明度>
• mCount<マウスをクリックしている間のカウント>
• mRandom<氷の結晶の種類をランダムに決める>
20
crystal.cpp/setupCrystal
• フレームレートを60回/秒に設定する
• 変数mCrystals1~7でofImageクラスのloadメソッド
• 画像の動く速度のx座標vxとy座標vyを宣言して、
そのそれぞれについてランダムメソッド、ofVec2f型
の変数mVelocityに代入する
• 変数mAlphaBlendingの初期値は0<透明>
• 変数mCountの初期値は0
<クリックしていない時のカウントは0>
• 変数mRandomの値でランダムメソッド 21
crystal.cpp/updateCrystal
画像の座標と透明度について
 もしmIsJumpがtrueなら
 不透明
 カウントする
 もしカウントが1なら
結晶の種類を再設定
結晶が出てくる座標を決める
 もしそうでない<mIsJumpがfalse>なら
 もし不透明または半透明なら
透明化
 カウントは0
22
crystal.cpp/updateCrystal
結晶の動きについて
 もし結晶が画面の端にきたなら
 反射させる
 座標と速度を足して結晶を移動させる
23
crystal.cpp/drawCrystal
 もし不透明または半透明なら
 ランダムで決めた種類の結晶を表示する
24
完成!
25
クリックしている時 クリックしていない時
使用した書き方一覧①
 変数の宣言 : 型 変数名;
 *型の例1. intは整数型、floatは実数型、ofVec2fは2次元のベクトルデータ型、boolは真偽値を入れる型
 *型の例2.ofImage型はofImageクラスを使う変数の型
 *型の例3.ofSoundPlayer型はofSoundPlayerクラスを使う変数の型
 *型の例4.自分が作ったクラスを使う変数の型の名前はクラス名
26
使用した書き方一覧②
 静的変数であることの宣言 : static const 型 変数名;
 配列の宣言 : 型 変数名[個数];
 関数orメソッドの宣言 : 型 関数orメソッド名(引数);
 *C++にはプロパティという機能はない。
27
使用した書き方一覧③
 クラスの関数orメソッドを呼び出す : <クラス名型の>変数名 関数orメソッド名(引数);
 *関数の例<ofAppクラスの場合> : setup、update、draw
 *メソッドの例<ofImageクラスの場合> : load<ファイル読み込み>、draw<表示>
 *メソッドの例<ofSoundPlayerクラスの場合> :
setVolume<音量調節>、play<サウンド再生>、setLoop<ループ再生するかどうか>
28
使用した書き方一覧④
 フレームレートの指定 : ofSetFrameRate<1秒間に何回実行するか>;
 背景の指定 : ofSetBackgroundColor(R, G, B); : *RGBの各値は0〜255
 ランダムな値の取得 : ofRandom(最小値, 最大値); : * 最小値と最大値の間の乱数を取る
 2次元のベクトルデータの値の指定の例 : 「<ofVec2f型の>変数.x 」 が変数のx座標を表す
29
使用した書き方一覧⑤
 透明度をつける<AlphaBlendingをONにする>: ofEnableAlphaBlending();
*OFバージョン0.8.0以降はデフォルトでONになっている
 描画色と透明度の設定 : ofSetColor(R, G, B,透明度); : * RGB、透明度の各値は0〜255
 演算子の例 :&&は「かつ」、||は「または」を意味する。
++は「+1」、変数 += 数は「変数に数を足した値を、変数に代入する」の意味。
30
使用した書き方一覧⑥
 条件分岐(if文): if(条件){
処理
}else if(条件){
処理
}else(条件){
処理
}
 繰り返し処理(while文):while(条件){
処理
}
条件に当てはまる間は繰り返し処理を実行
31

More Related Content

More from Atelier Frameworks

More from Atelier Frameworks (20)

unityでNuitrackを使う 
unityでNuitrackを使う unityでNuitrackを使う 
unityでNuitrackを使う 
 
unity sprite animation (ハルフル)
unity sprite animation (ハルフル)unity sprite animation (ハルフル)
unity sprite animation (ハルフル)
 
unity 画像の移動 (ハルフル)
unity  画像の移動 (ハルフル)unity  画像の移動 (ハルフル)
unity 画像の移動 (ハルフル)
 
カラフルゴーストバスターズ「kinectでのモーション検出」
カラフルゴーストバスターズ「kinectでのモーション検出」カラフルゴーストバスターズ「kinectでのモーション検出」
カラフルゴーストバスターズ「kinectでのモーション検出」
 
カラフルゴーストバスターズ「得点の計算」
カラフルゴーストバスターズ「得点の計算」カラフルゴーストバスターズ「得点の計算」
カラフルゴーストバスターズ「得点の計算」
 
カラフルゴーストバスターズの演出「ゴースト」
カラフルゴーストバスターズの演出「ゴースト」カラフルゴーストバスターズの演出「ゴースト」
カラフルゴーストバスターズの演出「ゴースト」
 
カラフルゴーストバスターズの演出「バルーン」
カラフルゴーストバスターズの演出「バルーン」カラフルゴーストバスターズの演出「バルーン」
カラフルゴーストバスターズの演出「バルーン」
 
海さんぽ演出「波」
海さんぽ演出「波」海さんぽ演出「波」
海さんぽ演出「波」
 
海さんぽ演出「サメ」
海さんぽ演出「サメ」海さんぽ演出「サメ」
海さんぽ演出「サメ」
 
海さんぽ演出「サカナが寄ってくる」
海さんぽ演出「サカナが寄ってくる」海さんぽ演出「サカナが寄ってくる」
海さんぽ演出「サカナが寄ってくる」
 
海さんぽ演出「光道と動画再生」
海さんぽ演出「光道と動画再生」海さんぽ演出「光道と動画再生」
海さんぽ演出「光道と動画再生」
 
海さんぽ演出「メッセージボトル」
海さんぽ演出「メッセージボトル」海さんぽ演出「メッセージボトル」
海さんぽ演出「メッセージボトル」
 
海さんぽ演出「長靴」
海さんぽ演出「長靴」海さんぽ演出「長靴」
海さんぽ演出「長靴」
 
海さんぽ演出「サーフィンとカメ」
海さんぽ演出「サーフィンとカメ」海さんぽ演出「サーフィンとカメ」
海さんぽ演出「サーフィンとカメ」
 
個人制作「球をよけるゲーム」
個人制作「球をよけるゲーム」個人制作「球をよけるゲーム」
個人制作「球をよけるゲーム」
 
Find the ball
Find the ballFind the ball
Find the ball
 
えさやり
えさやりえさやり
えさやり
 
個人制作「もぐらたたき」
個人制作「もぐらたたき」個人制作「もぐらたたき」
個人制作「もぐらたたき」
 
ヒカリノアトリエ演出「アバターと手から粒子」
ヒカリノアトリエ演出「アバターと手から粒子」ヒカリノアトリエ演出「アバターと手から粒子」
ヒカリノアトリエ演出「アバターと手から粒子」
 
ヒカリノアトリエ演出「ヒカリの球を描く」
ヒカリノアトリエ演出「ヒカリの球を描く」ヒカリノアトリエ演出「ヒカリの球を描く」
ヒカリノアトリエ演出「ヒカリの球を描く」
 

Recently uploaded

The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
 

Recently uploaded (7)

ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 

海さんぽ演出「氷」