トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     import flash.filters.BlurFilter;の扱い
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ebi
Åê¹ÆNo.30082
投稿日時: 2006-11-17 18:20
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
import flash.filters.BlurFilter;の扱い
ebiです。

import flash.filters.BlurFilter; を、
2つ関数内で同じように書いたら、
シンタックスエラー!と怒られました。
だからってルートに置くとフィルタがかかりません。
どこに書けばいいんでしょうか。

というのが質問内容です。
詳しい(ムダが多い)事の顛末はこうです。

たまたまなのか、ここのとこ、フォーラム内で
import flash.ウンチャラカンチャラというのを
よく目にする機会がありました。

そういえば『おしFLA8AS』のどっかに書いてあったぞ と
読み返してみたらフィルターの項でした。
なるほど、省略するために書くもんだったのですね。

せっかくなのでフィルターの使い方も覚えようと
とりあえず「ぼかし」てみました。
なった! なった! ニヤニヤ いいぞ8!

で、応用で、もすこし複雑な事もしてみました。
function YURE(B) {
	B.XF = 10;
	B.YF = 10;
	B.FLT = [];
	B.onEnterFrame = function() {
		import flash.filters.BlurFilter;
		if (this.Fflg == 1) {
			this.FLT[0] = new BlurFilter(this.XF, 0, 1);
			this.XF--;
		} else {
			this.FLT[0] = new BlurFilter(0, this.YF, 1);
			this.YF--;
		}
		this.filters = this.FLT;
		if (this.XF == 0 || this.YF == 0) {
			delete this.onEnterFrame;
		}
	};
}


こんな感じに。Fflgによって横ぼかしか、縦ぼかしかを決め、ぼかす。
徐々にぼかしを弱め、0になったら終了というもの。
スクリプトの中身はともかくとして(=_=;)思惑通りになりました。
で、この関数を元に新しい関数を作ろうと思いました。
今度は逆にぼかしてぼかして、ある一定まで行ったら終了ってもの。

ところがぎっちょん、function YURE(B)をまるごとコピーして
その下の行にペースト、自動フォーマットしたら、
シンタックスエラーが出るじゃないですか。
で、探りをいれて import flash.filters.BlurFilter;
が、かぶってるのが原因だと分かりました。(この行だけ消したらOKだった)

でも、それじゃ、消した方の関数内のBlurFilterは使えないんじゃないかい?
System.useCodepage = true;みたいに、
どっかで一度設定すりゃいいって類いのものなのか? と思い、
両関数の import flash.filters.BlurFilter; を消して、
_root上に書いてみましたが、エラーヽ(`Д´)ノうわーん
(フィルタ効果がつかない)

いったい、どこに書けば、どちらの関数もちゃんとフィルタが
機能するんでしょうか?
また、省略って事は正式な書き方もあるんでしょうけど、
どう書けばいいのでしょう?
(正式な書き方すれば問題ない気がするんですが)
森 巧尚
Åê¹ÆNo.30087
投稿日時: 2006-11-17 19:23
モデレータ
居住地: 宝塚
投稿: 650
使用環境:
.5/CS4/Safari3
XP+2000//IE6
Re: import flash.filters.BlurFilter;の扱い
importという言葉を一度、英和辞典をご覧になられるのもいいですよ。なんかebiさんは前にもあったような(笑)。

importとは、「?を読み込む」「?を持ち込む」という意味ですが、この場合は「flash.filters.BlurFilter」というクラスを読み込んで使えるようにするということです。importすれば、以下のように完全修飾名で指定してアクセスしないでも使えるようになります。

【importなし:完全修飾名】
 this.FLT[0] = new flash.filters.BlurFilter(this.XF, 0, 1);

【importあり】
 import flash.filters.BlurFilter;
 this.FLT[0] = new BlurFilter(this.XF, 0, 1);


【importなし:完全修飾名】
 var p_1:flash.geom.Point = new flash.geom.Point(10, 10);

【importあり】
 import flash.geom.Point;
 var p_1:Point = new Point(10, 10);

引用:
いったい、どこに書けば、どちらの関数もちゃんとフィルタが
機能するんでしょうか?

「読み込む」わけですから、1つのアクションパネルの中では1回しか読み込んではいけません。
2回書くと、2回同じものを読み込むことになって重複エラーになるわけです。(既に読み込まれてます的なエラーが出てますよね)
そのアクションパネルの最初あたり(そのクラスを使用する場所の前)に1回だけ書きます。別の階層に適当に読み込んでも使えません。


----------------
森 巧尚
http://www.ymori.com

ebi
Åê¹ÆNo.30089
投稿日時: 2006-11-17 20:36
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
Re: import flash.filters.BlurFilter;の扱い
ebiです。

引用:
importという言葉を一度、英和辞典をご覧になられるのもいいですよ。なんかebiさんは前にもあったような(笑)。


(´?`;)ゞまだ、ぼんやりした輪郭をたどってるトコなのです。ご容赦。

引用:
importすれば、以下のように完全修飾名で指定してアクセスしないでも使えるようになります。


なるほどです。ちなみに完全修飾名の場合は、同じアクションパネル内に何度も書いても問題ないでしょうか?

引用:
そのアクションパネルの最初あたり(そのクラスを使用する場所の前)に1回だけ書きます。別の階層に適当に読み込んでも使えません。


こちらもなるほどです。おっしゃる通り
アクションパネル内でBlurFilterより前の行に書いたら
(実行される順番じゃなく行として前)難なくOKでした。

ありがとうございました。
永井勝則
Åê¹ÆNo.30092
投稿日時: 2006-11-17 23:52
職人
居住地: 白馬村
投稿: 796
使用環境:
Windows 7 :Flash CS4:
10.6.8 :Flash CS5.5
Re: import flash.filters.BlurFilter;の扱い
importとかいうと”例”の”クラス”というやつが必ず絡んでくるので、
正しく文字にしようとするとボロが出てきそうなのですが、
思い切って書き込みます。

まず、importする(あらかじめ読み込んでおく)のは、普通のままだと、
Flash(Flash Player)がそいつ(クラスのこと)を知らないからです。
ムービークリップなんかはFlashが普段から懇意にしているよく知った友達なので、
importする(もしくは完全修飾名で書く)必要はないです。

完全修飾名というのもわかりにくい日本語で、何かを飾るわけでも何でもなくて、
そいつ(そのクラス)のありか、住所、居場所を正確にFlashに教えているのです。
Flashをインストールしたディレクトリにclassというフォルダがあって、
(これを順番に開けていくと、整然と分けられたクラスがあります)
正確に教えないと、Flashはそいつのことを知らないので、
そんなもんしらんというエラーが出ます。

ですので、importせずに、毎回ながーい完全修飾名というやつを書いてもオーケーです。
しかしこれは面倒なので、初めにimportしておいて、Flashに紹介しておくと、
あとはFlashは一番最後のクラス名だけで、そのFLAファイル内では、そいつを理解します。

じゃあ、この転校生みたいなやつを初めから紹介しておけばいいじゃないかということですが、そのとおりです。
日本全国の転校生全員(全部のクラス)を初めから知らせておくと、Flashは文句を言いません。
しかし、図体がでかくなる。軽さが身上のFlashが、呼ぶ予定のないやつらまで抱え込むと、無駄にでかくなります。
なので、使いそうなやつだけを読み込むということになります。

で、読み込まれると、クラスというやつは(例の)インスタンスという、クラスのコピーとなってFlash内に登場します。
このインスタンス君はクラスとそっくりで、クラスと同じメソッドやプロパティをもっています。


----------------
永井勝則:
himco.jp :

ebi
Åê¹ÆNo.30093
投稿日時: 2006-11-18 0:19
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
Re: import flash.filters.BlurFilter;の扱い
ebiです。 ピキーン!!

永井さん、よく分かる解説ありがとうございます。
いろいろ合点がいきました。
引用:
Flashをインストールしたディレクトリにclassというフォルダがあって、
(これを順番に開けていくと、整然と分けられたクラスがあります)

確認しようと思いましたがclassフォルダが見つかりませんでした。
あるにはあったんですが、中身は●●.jsファイルばっかしです。これの事ですかね?
森 巧尚
Åê¹ÆNo.30094
投稿日時: 2006-11-18 0:29
モデレータ
居住地: 宝塚
投稿: 650
使用環境:
.5/CS4/Safari3
XP+2000//IE6
Re: import flash.filters.BlurFilter;の扱い
Classフォルダではなく、Classesフォルダで探してみましょう。
importで指定したのと同じような階層でasでありますよ。


----------------
森 巧尚
http://www.ymori.com

野中文雄
Åê¹ÆNo.30095
投稿日時: 2006-11-18 0:37
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: import flash.filters.BlurFilter;の扱い
いわゆるグローパルクラスパスというところに、Classesフォルダがあります(<言語>は、jaで読替えます)。
引用:
ebiさんは書きました:
確認しようと思いましたがclassフォルダが見つかりませんでした。


----------------
 

ebi
Åê¹ÆNo.30096
投稿日時: 2006-11-18 0:39
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
Re: import flash.filters.BlurFilter;の扱い
発見しました。
例のgeomもありました。
こっから呼んでくるわけですね。

ありがとうございました。
永井勝則
Åê¹ÆNo.30100
投稿日時: 2006-11-18 9:24
職人
居住地: 白馬村
投稿: 796
使用環境:
Windows 7 :Flash CS4:
10.6.8 :Flash CS5.5
Re: import flash.filters.BlurFilter;の扱い
失礼しました。
Classesです。AS2.0では大文字小文字の区別があるので、普段から注意が要ります、
自戒をこめて。
ここに分けられている.asファイルを書き換えたりすると、とたんに動作がおかしくなります。
こういうのは慣れるまでは隠しておいてもいいとは思うのですが、オープンになっています。


----------------
永井勝則:
himco.jp :

野中文雄
Åê¹ÆNo.30103
投稿日時: 2006-11-18 12:39
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: import flash.filters.BlurFilter;の扱い
「動作がおかしく」なったら、Flashを落として、問題のファイルを削除すれば大丈夫です。アプリケーションのFirst Runフォルダ階層下にClassesの原本があって、存在しないファイルや古いファイルは、Flashを起動したときFirst Runからコピーされて復帰できます。

逆にいえば、First Runの原本の方は、いじらないことをお勧めします。Classesフォルダの名前も中身も(当然)まったく同じなので、くれぐれも間違えないように。
引用:
永井勝則さんは書きました:
ここに分けられている.asファイルを書き換えたりすると、とたんに動作がおかしくなります。


----------------
 

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops