Create  Edit  Diff  Phillro Industries  Index  Search  Changes  History  Source  RSS  Note  wikifarm  Login

Phi::Animate

Animate オブジェクトは Windows アニメーションコントロールのラッパーです。

Animate オブジェクトを使うと,アニメーションコントロールをフォーム上に配置できます。アニメーションコントロールとは,Audio Video Interleaved(AVI)クリップをサイレントで表示するウィンドウです。AVI クリップは,映画のような一連のビットマップフレームで構成されます。AVI クリップはサウンドを持つことができますが,アニメーションコントロールはサウンドは扱いません。Animate は,伸長された AVI ファイルやランレングスエンコーディング(RLE)で圧縮された AVI クリップを扱います。 Animate がその AVI クリップを取得できるのは AVI リソースおよび AVI ファイルです。また,アプリケーションが Windows 95 または NT 4.0 環境で動作している場合には Shell32.dll からも取得できます。


ap-dev:1192 TAnimate 【Re: Apollo で mpeg を扱うには?】 T Sakurai

AVI を再生するコンポーネントが欲しかったので, 追加してみました.

なお,Animate#play は引数に何も与えないと最初のフレームから最後の フレームまでを Animate#stop を実行するまでずっと回るようにしています.

サンプルスクリプトをanimtest.rb として,animtest.rb で使う avi ファイルを ap.avi として添付してあります.


$(Apollo)/sample/animtest.rb にあります。

うまくいけば下のような窓がでて、絵が動きます。

1.png
require "phi"
require "methods_for_wiki"
puts Phi::Animate.methods_for_wiki

_dump => Phi::Component#_dump

action => Phi::Control#action

action= => Phi::Control#action=

action_change => Phi::WinControl#action_change

active

active=

active?

active プロパティは,アニメーションコントロールが AVI クリップを再生しているかどうかを示します。

active プロパティを true に設定すると,repetitions プロパティで指定された反復回数だけ,start_frame プロパティと stop_frame プロパティで指定されたフレームの間を繰り返し再生します。active を false に設定すると,AVI クリップを再生している場合には再生を中断します。 アニメーションコントロールが active になるには,その前に open プロパティが true に設定されていなければなりません。

adjust_client_rect => Phi::WinControl#adjust_client_rect

adjust_size => Phi::WinControl#adjust_size

adjusted_client_rect => Phi::WinControl#adjusted_client_rect

align => Phi::Control#align

align= => Phi::Control#align=

align_controls => Phi::WinControl#align_controls

align_disabled => Phi::WinControl#align_disabled

align_disabled? => Phi::WinControl#align_disabled?

anchors

anchors=

assign_to => Phi::WinControl#assign_to

auto_size

auto_size=

auto_size?

begin_drag => Phi::Control#begin_drag

bevel_width => Phi::WinControl#bevel_width

bevel_width= => Phi::WinControl#bevel_width=

border_width => Phi::WinControl#border_width

border_width= => Phi::WinControl#border_width=

bottom => Phi::Control#bottom

bottom= => Phi::Control#bottom=

bring_to_front => Phi::Control#bring_to_front

can_auto_size => Phi::WinControl#can_auto_size

can_focus => Phi::WinControl#can_focus

can_resize => Phi::WinControl#can_resize

center

center=

center?

center プロパティは,アニメーションコントロールで AVI クリップのフレームを中央に配置するかどうかを指定します。

center プロパティは,frame_height が client_height と同じでないか frame_width が client_width と同じでない場合にアニメーションコントロールで AVI クリップのフレームの位置を示します。center が true の場合,フレームはコントロールのクライアント領域で縦横の中央に配置されます。center が false の場合,フレームの左上隅がクライアント領域の左上隅に合わせて配置されます。

change_scale => Phi::WinControl#change_scale

client_origin => Phi::WinControl#client_origin

client_rect => Phi::WinControl#client_rect

client_to_screen => Phi::Control#client_to_screen

color

color=

common_avi

common_avi=

common_avi プロパティは,アニメーションコントロールが Shell32.dll で提供される組み込みの Windows AVI クリップの 1 つを表示するかどうかを示します。

セットできる値は Phi-CommonAVI をご覧ください。

common_avi プロパティは,組み込みの Windows AVI クリップの 1 つをアニメーションコントロールで表示するために使われます。common_avi が AVI_NONE のときは file_name プロパティに指定された AVI クリックが表示されます。 common_avi プロパティを設定すると,file_name が空の文字列に,res_handle と res_id が 0 に,res_name が空の文字列に自動的に設定されます。

注意 common_avi は,NT 3.51 で実行しているときは使用できません。

component_count => Phi::Component#component_count

components => Phi::Component#components

constrained_resize => Phi::WinControl#constrained_resize

constraints

constraints=

contains_control => Phi::WinControl#contains_control

control_at => Phi::WinControl#control_at

control_at_pos => Phi::WinControl#control_at_pos

control_count => Phi::WinControl#control_count

control_extents => Phi::WinControl#control_extents

control_state => Phi::Control#control_state

control_state= => Phi::Control#control_state=

control_style => Phi::Control#control_style

control_style= => Phi::Control#control_style=

controls => Phi::WinControl#controls

controls_aligned => Phi::WinControl#controls_aligned

create_handle => Phi::WinControl#create_handle

create_wnd => Phi::WinControl#create_wnd

ctl3d => Phi::WinControl#ctl3d

ctl3d= => Phi::WinControl#ctl3d=

ctl3d? => Phi::WinControl#ctl3d?

cursor => Phi::Control#cursor

cursor= => Phi::Control#cursor=

custom_align_insert_before => Phi::WinControl#custom_align_insert_before

def_wnd_proc= => Phi::WinControl#def_wnd_proc=

define_properties => Phi::WinControl#define_properties

destroy_handle => Phi::WinControl#destroy_handle

destroy_window_handle => Phi::WinControl#destroy_window_handle

destroy_wnd => Phi::WinControl#destroy_wnd

device_context => Phi::WinControl#device_context

disable_align => Phi::WinControl#disable_align

do_close

do_open

do_start

do_stop

dock_client_count => Phi::WinControl#dock_client_count

dock_drop => Phi::WinControl#dock_drop

dock_site => Phi::WinControl#dock_site

dock_site= => Phi::WinControl#dock_site=

dock_site? => Phi::WinControl#dock_site?

double_buffered => Phi::WinControl#double_buffered

double_buffered= => Phi::WinControl#double_buffered=

enable_align => Phi::WinControl#enable_align

event_handle

extend => Phi::Persistent#extend

file_name

file_name=

file_name プロパティは,アニメーションコントロールで表示される AVI クリップが入っているファイルの名前を示します。

file_name プロパティは,ファイルに格納された AVI クリップをアニメーションコントロールに表示するために使われます。file_name は,AVI クリップが入ったファイルの名前でなければなりません。

注意 file_name を設定すると,common_avi プロパティが AVI_NONE に,res_handle と res_id が 0 に,res_name が空の文字列に自動的に設定されます。

find_child_control => Phi::WinControl#find_child_control

find_next_control => Phi::WinControl#find_next_control

fixup_tab_list => Phi::WinControl#fixup_tab_list

flip_children => Phi::WinControl#flip_children

focused => Phi::WinControl#focused

focused? => Phi::WinControl#focused?

frame_count

frame_count プロパティは,AVI クリップ内のフレームの合計数を示します。

frame_count プロパティを使うと,アニメーションコントロールで表示可能なフレーム数を取得できます。アニメーションコントロールは,AVI クリップ内のすべてのフレームを再生したり,あるいは一部を映したりできます。

frame_height

frame_height プロパティは,AVI クリップ内の各イメージのピクセル単位の高さを示します。

frame_height プロパティを使うと,AVI クリップのフレームを完全に表示するのに必要な高さを設定できます。auto_size が true の場合,アニメーションコントロールは自動的にそのサイズを変更して frame_height の値に合わせます。

frame_width

frame_width プロパティは,AVI クリップ内の各イメージのピクセル単位の幅を示します。

frame_width プロパティを使うと,AVI クリップのフレームを完全に表示するのに必要な幅を設定できます。auto_size が true の場合,アニメーションコントロールは自動的にそのサイズを変更して frame_width の値に合わせます。

handle => Phi::Control#handle

handle_allocated => Phi::WinControl#handle_allocated

handle_needed => Phi::WinControl#handle_needed

height => Phi::Control#height

height= => Phi::Control#height=

help_context => Phi::Control#help_context

help_context= => Phi::Control#help_context=

help_keyword => Phi::Control#help_keyword

help_keyword= => Phi::Control#help_keyword=

help_type => Phi::Control#help_type

help_type= => Phi::Control#help_type=

hide => Phi::Control#hide

hint => Phi::Control#hint

hint= => Phi::Control#hint=

ime_mode => Phi::WinControl#ime_mode

ime_mode= => Phi::WinControl#ime_mode=

ime_name => Phi::WinControl#ime_name

ime_name= => Phi::WinControl#ime_name=

insert_control => Phi::WinControl#insert_control

invalidate => Phi::Control#invalidate

key_press => Phi::WinControl#key_press

left => Phi::Control#left

left= => Phi::Control#left=

loaded

name => Phi::Control#name

name= => Phi::Control#name=

on_close

on_close=

on_context_popup => Phi::Control#on_context_popup

on_context_popup= => Phi::Control#on_context_popup=

on_open

on_open=

on_start

on_start=

on_stop

on_stop=

open

open=

open?

open プロパティは,AVI クリップがメモリにロードされているかどうかを示します。

open プロパティを読み出すと,AVI クリップがロードされていて再生の準備が整っているかどうかを判定できます。AVI クリップが common_avi,file_name,res_name,または res_id プロパティを使って指定されているときは,アニメーションコントロールが自動的に開かれます。open が true の場合,アニメーションコントロールは,active プロパティまたは play メソッドを使ってクリップが再生されるまで start_frame プロパティで指定されたフレームを表示します。 open を false に設定すると,AVI クリップで使われたリソースを解放できます。アニメーションコントロールが開いていないときは,どのフレームも表示できせません。

注意 open プロパティが false から true に変更されると,start_frame プロパティが 1 にリセットされ,stop_frame プロパティが frame_count にリセットされます。

paint_controls => Phi::WinControl#paint_controls

paint_window => Phi::WinControl#paint_window

palette_changed => Phi::WinControl#palette_changed

parent => Phi::Control#parent

parent= => Phi::Control#parent=

parent_color

parent_color=

parent_color?

parent_ctl3d => Phi::WinControl#parent_ctl3d

parent_ctl3d= => Phi::WinControl#parent_ctl3d=

parent_ctl3d? => Phi::WinControl#parent_ctl3d?

parent_form => Phi::Control#parent_form

parent_handle => Phi::WinControl#parent_handle

parent_show_hint

parent_show_hint=

parent_show_hint?

parent_window => Phi::WinControl#parent_window

parent_window= => Phi::WinControl#parent_window=

perform => Phi::Control#perform

play

prop_info => Phi::Component#prop_info

read_state => Phi::WinControl#read_state

realign => Phi::WinControl#realign

recreate_wnd => Phi::WinControl#recreate_wnd

rect => Phi::Control#rect

rect= => Phi::Control#rect=

refresh => Phi::Control#refresh

reload_docked_control => Phi::WinControl#reload_docked_control

remove_control => Phi::WinControl#remove_control

repaint => Phi::Control#repaint

repetitions

repetitions=

repetitions プロパティは,フレームのシーケンスを繰り返す回数を指定します。

repetitions プロパティは,active プロパティが true に設定されているときに AVI クリップ内のフレームの再生を繰り返す回数を示します。指定された回数だけ再生が繰り返されると,active の値が再び false になります。 1 度だけ再生するには,repetitions を 1 に設定します。repetitions を 0 に設定すると,無限に再生を繰り返すことを示します。repetitions が 0 の場合,active プロパティまたは stop メソッドを使ってアニメーションを中断します。

注意 play メソッドは,count パラメータとして渡される値で repetitions をオーバーライドします。

res_handle

res_handle=

res_id

res_id=

res_name

res_name=

reset

reset_ime => Phi::WinControl#reset_ime

right => Phi::Control#right

right= => Phi::Control#right=

scale_by => Phi::WinControl#scale_by

scale_controls => Phi::WinControl#scale_controls

screen_to_client => Phi::Control#screen_to_client

scroll_by => Phi::WinControl#scroll_by

seek ( frame:Fixnum )

seek メソッドは,シーケンス内で指定されたフレームを表示します。

seek メソッドを呼び出すと,AVI クリップ内の特定のフレームにジャンプできます。frame パラメータはフレームを指定しますが,1 ではシーケンスの最初のフレーム,2 では 2 番目のフレームとなります。frame は,frame_count の値以下でなければなりません。 アニメーションコントロールが開いていないときに seek メソッドを呼び出すと,seek は open プロパティを true に設定します。

select_first => Phi::WinControl#select_first

select_next => Phi::WinControl#select_next

send_to_back => Phi::Control#send_to_back

set_bounds => Phi::Control#set_bounds

set_child_order => Phi::WinControl#set_child_order

set_focus => Phi::WinControl#set_focus

set_ime => Phi::WinControl#set_ime

set_z_order => Phi::WinControl#set_z_order

show => Phi::Control#show

show_control => Phi::WinControl#show_control

show_hint

show_hint=

show_hint?

showing => Phi::WinControl#showing

showing? => Phi::WinControl#showing?

site_info => Phi::WinControl#site_info

start_frame

start_frame=

stop

stop_align => Phi::WinControl#stop_align

stop_frame

stop_frame=

tab_order_list => Phi::WinControl#tab_order_list

tab_stop => Phi::WinControl#tab_stop

tab_stop= => Phi::WinControl#tab_stop=

tab_stop? => Phi::WinControl#tab_stop?

timers

timers=

timers?

timers プロパティは,フレームがタイマーを使って表示されるかどうかを指定します。

timers プロパティ設定すると,AVI クリップ内のフレームをタイマーメッセージへの応答として変更するかどうか,シーケンスの進行を個別の実行スレッドで非同期にするかどうかを指定できます。timers が true の場合,フレームはタイマーメッセージへの応答として進行します。これは,アニメーションシーケンスをサウンドトラックの再生などのほかのアクションと同期させるときに役立ちます。timers が false の場合,AVI クリップは個別のスレッドで再生されます。

top => Phi::Control#top

top= => Phi::Control#top=

top_parent_handle => Phi::WinControl#top_parent_handle

transparent

transparent=

transparent?

transparent プロパティは,フレームの背景色を color プロパティに一致させるかどうかを指定します。

transparent プロパティを true に設定すると,AVI ファイルに格納された背景色を color プロパティの値で置き換えることができます。ただし,parent_color の値が true の場合には親コントロールの色になります。transparent を false に設定すると,AVI クリップに格納された背景色が表示されます。

update => Phi::Control#update

update_control_state => Phi::WinControl#update_control_state

use_dock_manager => Phi::WinControl#use_dock_manager

use_dock_manager= => Phi::WinControl#use_dock_manager=

use_dock_manager? => Phi::WinControl#use_dock_manager?

visible

visible=

visible?

visible_dock_client_count => Phi::WinControl#visible_dock_client_count

width => Phi::Control#width

width= => Phi::Control#width=

window_handle => Phi::WinControl#window_handle

window_handle= => Phi::WinControl#window_handle=

write_res_file => Phi::Component#write_res_file

Last modified:2004/11/21 19:06:16
Keyword(s):
References:[AVI] [Phi-Classes] [Phi-Constants] [animtest.rb] [image_of_controls]