Download presentation
Presentation is loading. Please wait.
1
RAD Studio 勉強会@大阪 14/09/27 TEffectを使った綺麗なForm
appmethod含む RAD Studio 14/09/27 TEffectを使った綺麗なForm システムプランベネックス 毛利
2
自己紹介 毛利と申します
3
XE7から*.fmxが複数作られます 注意点 マスタ以外のform名は、いじらない(理解できているなら大丈夫です)
*.fmxが増えるだけなのでfmxファイルに書き込まれるファイルは プロパティはそれぞれで別です Platformごとの *.fmxはこんな感じです Form1.iPhone4in.fmx ←iPhone Form1.LgXhdpiPh.fmx ←Android5インチ Form1.SmXhdpiPh.fmx ←Android3.5インチ Form1.Macintosh.fmx ←MacOS Form1.pas ←マスタ(Win)
4
Unit1.pasに呼出すfmxファイルが書かれています
{$R *.fmx} {$R *.iPhone4in.fmx IOS} {$R *.LgXhdpiPh.fmx ANDROID} {$R *.SmXhdpiPh.fmx ANDROID} {$R *.Macintosh.fmx _MACOS} なので解っていれば特にこの規則に従わなくても大丈夫だと思います
5
C++Builderの場合は #pragma resource "*.fmx" #pragma resource ("*.NmXhdpiPh.fmx", _PLAT_ANDROID) #pragma resource ("*.iPhone4in.fmx", _PLAT_IOS)
6
試してみます マスタ以外でEffectコンポーネントを別のTPanelコンポーネントの上に置くと置けません
*. iPhone4in.fmxでは移動できません でもマスタは移動できます
7
コンポーネントの削除もマスタから 他のfmxファイルから削除すると ご注意ください
8
Timageも同じくfmxファイルが違うので結果は違います
*. iPhone4in.fmxはこんな感じです
9
⇒ 配置の順番を変えると マスタ側で先に画像まで埋め込んだTimageを作るとほかも反映されます いじってたらマスタfmx以外壊れたりして
*. iPhone4in.fmxはこんな感じです ⇒ いじってたらマスタfmx以外壊れたりして 空っぽになったりしました(・_・;)XE7のバグ?
10
ターゲットデバイスが1種類なら Android/iPhoneなどターゲットが固定ならマスタだけで設計しても問題無いと思います
マスタだけを使う場合Formのサイズだけを気にするようにすれば良い
11
複数*.fmxでの注意まとめ 何事もマスタで関係性だけを作ります
それ以外のプロパティなどはそれぞれのfmxファイルのプロパティを変更してOKです あまりにもfmxどうしが違うと壊れてマスタだけの情報になったりしました(・_・;)
12
TEffect 業務用アプリとしては使わないのでしょうか 業務用タブレットでも楽しい動きが欲しい
13
TShadowEffectデモ 実行⇒ コードは1行も書かなくてOKです これC++もDelphiも同じです できました完成ですww
14
次は動きのあるEffectコンポーネントを使ってみます
動画に動きがあるものです デモります
15
TDissolveTransitionEffectを使って画像を変化させてみましょう
実行⇒ パワポではわかりにくいですが 実行すると 初音ミクとIAの画像が混ざって行く様子がわかります
16
AnimateFloatメソッドを 使って動きのある処理に変えてみましょう
AnimateFloat()は TFmxObjectからあるメソッドなので TFmxObject継承されているFire Monkyのコンポーネントはほとんど実装できます 内部的にTFloatAnimationをCreateしてくれて勝手にStartしてくれます
17
AnimateFloatメソッドを 使って動きのある処理に変えてみましょう
コンパイル時にこんな注意が。。。 でも僕は使いますw TTrackBarのvalueで警告は良いんですけど Tefectにも出てくるなんて
18
AnimateFloat使い方 FireMonkyのVisualコンポーネント上で例えばTbutton: Button1の場合 Button1.AnimateFloat(‘Position.Y’, 0, 2); こんだけ書いておけば Button1が一番上(Position.Y:=0)に2秒間使って移動します
19
先ほどのミクとIAが混ざるEffect処理を AnimateFloat使ってみましょう
タイマーコンポーネントの イベントハンドラーから DissolveTransitionEffect1.AnimateFloatを 実行してみます Buttonを実装してボタンイベントでもOKです 実行してみます
20
DissolveTransitionEffect1.AnimateFloatが動いているのが確認できます
21
実装も簡単です タイマーイベントにほんの数行の処理だけです
22
Effectかけたあとのデータって保存したいですよね?
可能です Tbitmapを作ってImage1の内容をコピーします その後そのEffectで DissolveTransitionEffect1.ProcessEffect(); メソッドを実行すれば目的のTbitmapにEffect処理がかけれます ProcessEffectメソッドはTeffectで実装されているので 継承されているクラスならすべて持っています
23
TMultiViewは便利です デモ実行します これTpanelで実装してたと思いますがかなり使えそうです
設定も簡単ですボタンをプロパティに入れるだけです コード書く必要が無いので TMultiView貼ったら実行してみますw デモ実行します
24
以上 ありがとうございました
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.