[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 05/19 02:53 / Filesize : 240 KB / Number-of Response : 671
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ActionScript 誰かが物凄い勢いで解答するスレ30



1 名前:Now_loading...774KB mailto:sage [2011/12/25(日) 02:37:34.48 ID:APghLI2o]
AcitonScriptのことなら
初歩的な質問でもなんでもおk

見れない、保存したい、flashを作りたいはスレ違い
下記の関連スレ、超基本的な質問へ。

●質問する時は自分の環境を書く(AS2,AS3の別も)
●質問はものすごい勢いじゃなくて結構
●できるだけコードも示す
●まず自分がやりたいことを明確に書く。そのために試してみた処理を書く

前スレ
ActionScript 誰かが物凄い勢いで解答するスレ29
toro.2ch.net/test/read.cgi/swf/1309349827/

関連スレ
Flashの超基本的な質問はここでしろ! part42
hibari.2ch.net/test/read.cgi/swf/1305783143/
※初心者は↑こちら推奨

ActionScript ライブラリ総合
hibari.2ch.net/test/read.cgi/swf/1308658905/


95 名前:Now_loading...774KB mailto:sage [2012/01/15(日) 11:53:08.77 ID:yivFxBfV]
ていうかどっちの関数もMOUSE_OVERにaddしてるっていう

96 名前:Now_loading...774KB mailto:sage [2012/01/15(日) 11:56:41.51 ID:ptj4quGH]
>>94
ハクヒンさんと言っても初心者は知らないのでは?
ということでURL ttp://hakuhin.jp/as3.html



97 名前:90 [2012/01/15(日) 12:37:43.03 ID:7i+f/Epu]
>>94-96
ありがとうございます。
何度も何度もすみません、有り難うございます。
ハクヒンさんの見ても同じ文になってしまい…メンバ変数というのは
var sound_obj : Sound = new soundmusic();
var channel : SoundChannel = sound_obj.play();
channel.stop();
ではできていないのでしょうか?
sound_obj.play()の中に入る0,3は開始時間と繰り返す回数ですよね。
あとMOUSE_OVERが二つあるのは直しました。

98 名前:Now_loading...774KB [2012/01/15(日) 13:47:15.51 ID:SlJtb9Gt]
>>97
var channel : SoundChannel
関数の中で変数を宣言してるのでchannel変数はローカル変数になり
スコープ{}の外からアクセスできない

onOverで再生してonOutで停止しようと思ったら
どちらからでもアクセス可能な場所にchannel変数を用意する必要がある

addEventListener(MouseEvent.MOUSE_OVER, onOver);
addEventListener(MouseEvent.MOUSE_OUT, onOut);

var channel : SoundChannel = null;

function onOver (e:MouseEvent):void {
var sound_obj : Sound = new soundmusic( );
channel = sound_obj.play();
}

function onOut (e:MouseEvent):void {
if(channel){
channel.stop();
channel = null;
}
}

99 名前:90 mailto:sage [2012/01/15(日) 15:35:48.05 ID:7i+f/Epu]
>>98
ありがとうございました!できました
前の書き方だとOnOutしかアクセスできなくて駄目だった…ということでしょうか?
アクションスクリプト勉強します
本当に有り難うございました

100 名前:Now_loading...774KB mailto:sage [2012/01/15(日) 16:07:01.89 ID:yivFxBfV]
SoundChannelはSound.play()するたびに個々の音に対応したものが作られるが
>>93ではonOutの中で新しくSoundChannelを作っていて、そっちを操作してて
onOverの中で再生を始めた音の操作ができていなかった

101 名前:Now_loading...774KB mailto:sage [2012/01/15(日) 20:09:10.00 ID:3NoyEflf]
>>88 ありがとうございました!いけました

もうひとつ質問があります
同じくAS、CS3
ステージ上には10個のボタンが配置されており、それぞれ対応する10個のMCがremoveChildで非表示になっている
「1」のボタンを押すと「1」のMCがaddChildされ、最後のフレームまで再生されてそこでstop
その状態で例えば「5」のボタンを押すと「1」のMCがremoveChildされ、「5」のMCがaddChildされ、最後のフレームまで再生され、そこでstop

これの「5」のボタンを押したとき、既にステージ上に存在する「1」のMCをremoveChildさせる方法がわかりません
ステージに表示されてるMCの数を取得し、1以上ならremoveChildさせる変数を
作ればいいのかなと試みたのですが、上手く動きません

102 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 00:00:33.33 ID:r7QLj38L]
AS1.0のサウンドオブジェクトの再生について質問です
var sound_obj = new Sound();
sound_obj.attachSound("bgm");
sound_obj.start(1.2); //1.2秒後から再生
このstart()メソッドの開始時間(1.2)はPCの処理能力によってズレたりしますか?

103 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 01:13:04.20 ID:Tk7Ev53z]
>>101
削除対象を参照するMCを var sakujyoMC:MovieClip とかで定義して
予め sakujyoMC = addChildされたMC と記録しておいて、他のボタンが押された時に
removeChild(sakujyoMC) とすれば?
でも sakujyoMC = null にしないと本当に削除されたことにはならないよ。


>>102
AS1.0でのバッファ読み込みは分からんが、対象音源の大きさも関係すると思う。
※AS3ならバッファ時間を指定できる。





104 名前:Now_loading...774KB [2012/01/16(月) 01:19:58.57 ID:Tk7Ev53z]
チェックボックス(fl.controls.CheckBox)で選択状態を再現出来なく困ってます。
環境はFlashCS4,XP,AS3です。

MC内に4つのチェックボックス(chBox0〜chBox3)があり、それぞれは操作後に選択情報を
オブジェクト(propSet)に記録します。 そして親のMCを一旦消して再度生成してステージに
置いた時に下記の記述で再現しようとしました。

chBox0.selected = propSet.linkF;// propSet.〜は trueまたはfalse
chBox1.selected = propSet.commF;
chBox2.selected = propSet.kasenF;
chBox3.selected = propSet.boldF;

しかし困ったことに、各chBoxのselectedは2つ以上true設定していると1個しか再現できません。
(※まるでラジオボタン状態)
また、chBox0.selected に至っては true 設定していた場合は false で再現され、『マウスでなぞると』
本来のtrue(選択状態)になります。

つまり、●を選択状態とすると ○○●○ か ○●○○ しか再現出来ず、左端のchBox0は
(MouseEvent.ROLL_OVERみたいに)マウスを上に乗せた時に記録した情報の通りに
チェックマークが入ります。

問題点は @複数のチェック状態の再現 AchBox0.selectedとマウスオーバーとの関係
です。 すいませんがアドバイス願います。


105 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 02:45:22.93 ID:CHux3ODh]
その説明じゃイマイチわからんな
>そして親のMCを一旦消して
消したってどういう風に?
フレームを移動させて静的配置のを消したのか 単にremoveChildでリストから削除したのか
わからんけど最初の操作時のインスタンス変数が生きていて再度の生成時に悪さしてるような感じがした

106 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 03:40:12.15 ID:tzj2e9hg]
>>103
ありがとうございます
恥ずかしながら超初心者で
sakujyoMC = addChildされたMC
の部分の書き方が分かりません
色々書いてみても強制変換型に失敗しました、などとエラーが出てしまいます


107 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 04:02:13.66 ID:Tk7Ev53z]
>>105
レス有難うございます。
「インスタンス変数が生きていて」がヒントになり、解決できました。

問題点は、CS4のオーサリングで予め設置しておくとダメみたいで、chBox0〜chBox3は
親が生成される度に

var chBoxN:CheckBox = new CheckBox();
// X,Yの位置指定
addChild(chBoxN);

のようにスクリプトで設置したらOKでした。 ・・・ newするのがポイントかも。

なお、親のMCを消す際にはremoveChildを使っていますが MC = null にしていても不十分なようで
CheckBoxは上記のように毎回初期化する必要があるみたいです。



108 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 04:03:45.94 ID:Tk7Ev53z]
>>106
ヒント: >>88-89



109 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 12:41:55.78 ID:CHux3ODh]
>>106
型変換覚えないとこの先辛いだろw ちなみにキャストよりもas演算子での型変換の方が速いそうだ

var mc:MovieClip = new MovieClip();
mc.name = "abcdefg";
var obj:DisplayObject = mc as DisplayObject;//as演算子による型変換
var obj:DisplayObject = DisplayObject( mc );//キャストによる型変換
//var obj:DisplayObject = new DisplayObject();//エラー DisplayObjectはコンストラクタが無いのでインスタンス化できない
//obj = mc as DisplayObject;
trace("name:"+obj.name );
var sp:Sprite = new Sprite();//コンストラクタがあるクラスならインスタンス化後の型変換可能
sp = mc as Sprite;
trace("name:"+sp.name );
型変換できるかどうかはクラスの継承関係による MovieClipの親の親の親の親にDisplayObjectが
あるので型変換可能 継承してないクラスへの方変換は不可能
MovieClip→Sprite→DisplayObjectContainer→InteractiveObject→DisplayObject→EventDispatcher→Object

110 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 14:04:43.86 ID:xiCkIEfm]
>>106
そもそも、型が違うって状況を理解してないんじゃ?
状況を理解してないから、同じ問題に出くわしても型変換という発想にならない

>>109が親切に書いてくれているけど、それでもよく判らないなら
いったんクラスの概要について、基本的な解説を読んどいたほうがいいよ
継承構造を知らないと、この先何度も同じようなとこで躓くことになる

111 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 16:38:59.80 ID:0glqET1v]
>>110
横レスで補足:
継承ってのは進化というかバージョンアップと解釈できる。つまり、
旧ザグ→量産ザグ→湿地帯用ザク って感じ。

型変換にも関わるけど、同じジオンでもリックドムの動力部分をそのままアッガイに
転用しようとするとエラーになるのと同じ。 変換が必要。



112 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 19:05:25.59 ID:gA6iDCyZ]
下手な例えほど理解を妨げるものは無いな

113 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 20:33:01.54 ID:JQxN1/Ms]
asの方が遅えってどっかで読んだ気がしたんだけどどっちだっけ…



114 名前:Now_loading...774KB [2012/01/17(火) 15:04:04.18 ID:jhCompjR]
FlashCS5,AS3,AIR2.0ですが、パブリッシュすると下のメッセージが出て困ってます。
uproda11.2ch-library.com/331375krZ/11331375.png

AIRの中身は3つのコンポーネント(ボタン,テキストエリア,テキストインプット)で構成され、
ローカルのHTMLファイルを読み込んでテキスト表示し、これを別名で保存するというものです。
※ASファイルは読み込み&開き、及び保存用の2つだけです。

CS5でのプレビューは問題なく出来ますが、AIRとしてパブリッシュしようとすると上のようになります。
試しにテキストエリアを単なるテキストフィールドにしてみても同じでした。

XMLのAIR アプリケーション記述ファイルに間違いがあるという意味のメッセージですが、このXML
自体はCS5から自動生成されるのでどうしようもありません。

考えられる原因は何でしょうか?



115 名前:114 mailto:sage [2012/01/17(火) 15:19:56.67 ID:jhCompjR]
(自己レス)
すいません。(確定ではないのですが)原因が推測出来ました。

ファイル名(AIR名)の先頭に半角の [ を付けていた為だと思われます。
日本語と半角(2バイト+1バイト)文字の混在自体はOKですが、先頭の半角は
ダメのようです。



116 名前:Now_loading...774KB mailto:sage [2012/01/17(火) 21:12:07.84 ID:1+mk6Te8]
>>103
ありがとうございます
AS3の勉強してみます

117 名前:Now_loading...774KB mailto:sage [2012/01/17(火) 22:08:29.30 ID:kHhiCCjy]
AS3でxmlから読み込んだスライドショーを作っています。cs5winxp
画像をすべて読み込んで表示したい画像をalphaで調整しています。

(ボタンを作成しボタンをクリックすると対応する画像を表示することはできました。)
あとはタイマーで画像を自動的に変えたいのですがその部分がうまくいきません。エラーは出ないけど動かない状況です。
はしょってますがソースは
var selectNowPage:Number = 0; // 現在表示されているページを格納する変数

//スライドショーのために用意した変数
var nn:int = 1;

//関数「moveA」を定義
function moveA(e):void {
if( nn == selectNowPage ){
//対応する画像を表示、それ以外を非表示 imageObject_mc.getChildByName("img"+nn).alpha = 1;
selectNowPage = nn;
}else{
imageObject_mc.getChildByName("img"+nn).alpha = 0;
}
//(ここでトレースするとnnの値は表示されます)
//もしnnが写真の総枚数より少ない場合nnに1を加算
//写真の総枚数であれば1にする
nn = (nn < totalCount) ? nn+1 : 1;

}

var tmerA:Timer = new Timer(2000,0);
tmerA.addEventListener(TimerEvent.TIMER, moveA);
//タイマースタート
tmerA.start();

です。どこがおかしいですか。

118 名前:Now_loading...774KB mailto:sage [2012/01/17(火) 22:18:28.62 ID:bag6xnZ4]
>var selectNowPage:Number = 0;
これで、

>var nn:int = 1;
>nn = (nn < totalCount) ? nn+1 : 1;
これでは、(nn == selectNowPage)がtrueになることはないんじゃないか?

119 名前:117 mailto:sage [2012/01/17(火) 23:11:51.44 ID:0gMwQPqH]
>118
すみませんはしょってしまいました。
>var selectNowPage:Number = 0;

>var nn:int = 1;
の間にXMLから画像を読み込んで表示する記述があり、はじめに表示した画像(つまりvar selectNowPage:Number = 1;)になっていました。
ややこしくして申し訳ありません。

120 名前:117 mailto:sage [2012/01/17(火) 23:16:19.46 ID:0gMwQPqH]
var selectNowPage:Number = 1; ではなく
selectNowPage = 1;
です。さらに書き間違えてすみません。

121 名前:Now_loading...774KB mailto:sage [2012/01/17(火) 23:33:16.87 ID:bag6xnZ4]
なるほどね・・・

動作を予想すると、一回目にifの中に入った後にnnは2になるけどselectNowPageは1のままで
次にif文に入るのはnnが一周した時だな
表示したいページをalpha=1に、それ以外をalpha=0にしたいなら、
ループで回してやらないとダメなんじゃね?

122 名前:117 mailto:sage [2012/01/17(火) 23:53:12.33 ID:kHhiCCjy]
ありがとうございます。
ループでやってみます。

123 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 01:43:57.65 ID:vminT5AC]
AS3・CS3winXP
画面にボタンが3つ、押すとそれぞれ別の外部swfファイルを読み込ませたいです
読み込ませたい場所に空のMC、emptyを配置しておき

varloader_obj:Loader=newLoader();
empty.addChild(loader_obj);

btn1.addEventListener(MouseEvent.CLICK,function(event){
varurl:URLRequest=newURLRequest("1.swf");
loader_obj.load(url);
});

btn2.addEventListener(MouseEvent.CLICK,function(event){
varurl:URLRequest=newURLRequest("2.swf");
loader_obj.load(url);
});

btn3.addEventListener(MouseEvent.CLICK,function(event){
varurl:URLRequest=newURLRequest("3.swf");
loader_obj.load(url);
});

このスクリプトだと「定義urlにコンフリクトが存在します」というエラーが出てしまいます
どうすれば解決できるのでしょうか…



124 名前:123 mailto:sage [2012/01/19(木) 01:54:15.09 ID:vminT5AC]
何だか半角スペースが妙な感じに変換されてしまいました…
勿論元のスクリプトには・はついてないです
あともう1つ、読み込んだMCがなぜかレイヤーの一番下で再生されてしまいます
emptyを一番上のレイヤーに置いてみても変わりません
何が悪いのでしょうか

125 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 03:38:49.45 ID:L94+xSMJ]
>>124
通常のWebブラウザから書き込んでるの? 2ch専用ブラウザ(無料)を使ったら?

あと毎回urlを宣言するんじゃなくて。
var loader_obj:Loader = new Loader();
empty.addChild(loader_obj);

// n番目の場合 ボタンがStageにあるとき
this["btn"+n.toString()].addEventListener(MouseEvent.CLICK,
function(event){
loader_obj.load(new URLRequest(n.toString()+".swf"));
}
);

では? これなら同じ様なスクリプトが1個で済む あと、レイヤーの一番下になる原因は推測できん。



126 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 04:05:00.82 ID:O2W//Sbm]
>>123
いい加減な酔っ払いだけど適当に答えてもいいのかな

暇だったからコピペして「・」消してemptyっていうインスタンス名のmcとbtn1〜4作って
作業フォルダに適当なswf置いてそれをURLRequestで指定してやってみたら普通に動いたよ
ASの記述他、一通り見直すしかないんじゃない?
ちなみにコンフリクトが存在しますっていうのはこういうのもあるみたい↓
www.nanlow.com/blog/archives/2009/01/140124.php

ただ、蛇足になるけどこの記述だけだとロードしたswfをremoveやunloadする記述がない
ボタンを押せば押した数だけ同じ動画や画像がloadされて重なって表示される事になる
音声付の動画ならわかりやすいんだけど、音も重なっていくメモリもガンガン食う
その都度、loader_obj.の中身を空にしてからloadしたほうがいいように思う
一番下で再生されるって言うのも言ってる事がよくわからないが
そういう風にすればそういう事もなくなるんじゃない?かな

127 名前:123 mailto:sage [2012/01/19(木) 06:55:14.00 ID:eTox4xg+]
ありがとうございます
CS5.5で同じファイルをひらいたらエラーは出ませんでした
レイヤーの一番下に配置される問題も解決できたのですが今度は別の問題が…
swfファイルの座標指定が効かずとんでもない場所に表示されてしまいます
この場合などんな原因が考えられるでしょうか?
空のムービークリップの位置を動かしても関係ありません

128 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 14:17:06.49 ID:Dm78EKPI]
>>127
結局、ASはなにも変更してないってこと?
エラーは、「同じ名前の変数を複数つくるな!」って意味
少なくとも、それぞれvar url、var url2、var url3とかにすれば
エラーも出ないし、問題なく動作する
まずはそこをクリアするべき

この先を考えれば、>>125>>126のアドバイスに従って、書き換えたほうがいい

129 名前:Now_loading...774KB [2012/01/19(木) 21:11:51.40 ID:QOnzQ8HN]
AS3,XP,AIR2.0

MC(mc0)内部のLoader(loaderObj)にSWF(タイムラインの単純ムービー)を読み込んで表示
させていますが、この再生を停止・再開する方法が分かりません。

※SparkプロジェクトのForcibleLoaderを使ってPlayer8以前のSWFも読み込めるようにしています。

var mc0:MovieClip = 対象オブジェクト as MovieClip; でキャストして出来たmc0でPlayer8
以前のSWFでは trace(mc0.loaderObj.content)は [object AVM1Movie] と表示されswf本体に
アクセスできるのですが、mc0.loaderObj.content.stop() はエラーになります(下記)

Player8以前のSWFでは
 Error #1069: Property stop not found on flash.display.AVM1Movie and there is no default value.

Player9以降(AS3)のSWFでは
 Error #1009: Cannot access a property or method of a null object reference.

どうしたものでしょうか?



130 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 21:53:03.26 ID:uX+s1HDW]
テキトーなレスで申し訳ないが

var mc0:MovieClip = 対象オブジェクト.content as MovieClip;
mc0.stop();
でもだめ?

131 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 23:46:26.59 ID:+5+GyZ+w]
>>130
レス有難うございます。
「対象オブジェクト,対象オブジェクト.content」はtraceすると、[object Loader], [object AVM1Movie]
となって間違いは無いようですが、as MovieClipするとnullになってしまいます。
※AVM1Movie型を持っているが、キャストするとnullになる。


132 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 00:12:06.95 ID:qUxySH46]
だただらと長かったプログラムを
for文使ってすっきりさせてパブリッシュ
出来上がったファイルは元より容量が増えていた
そんなもんなのだろうか

133 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 01:00:30.76 ID:ro6eMvMY]
>>132
よくあるな
モバイルFlashの時はそれで困ってたわ



134 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 01:22:55.90 ID:LTDCjMYr]
>>129
ここみれ ttp://mogmet.blog20.fc2.com/blog-entry-11.html

private function swfComplete(event:Event):void{
this.mc = event.currentTarget.content as MovieClip;//←これで変換されるっぽい
trace( this.mc );
}

135 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 02:02:11.83 ID:ayL74Alu]
>>131
自分の環境では、>>130の方法で動作している
キャストするタイミングが違うとかでないなら、そちら固有の問題
(たとえば、ForcibleLoaderなど)に原因があるのだと思う

136 名前:129&131 mailto:sage [2012/01/20(金) 08:49:58.91 ID:pWZx6SRu]
>>134-135
レスさんきゅう。 対象オブジェクト.content as MovieClip; はやっぱりnullです。

しかし更に検証する、となんと実はForcibleLoaderは適用されていなくて(!)、 実際に使うと
SecurityError: Error #3015 が発生し、
 Loader.loadBytes() is not permitted to load content with executable code.
at flash.display::Loader/_loadBytes()

が出ます。
う〜ん分からん。



137 名前:129&131&136 mailto:sage [2012/01/20(金) 09:57:16.55 ID:pWZx6SRu]
(自己レス)
セキュリティエラーに関しては ttp://d.hatena.ne.jp/ichiro_j/20081120 を元に
ForcibleLoaderのASを修正し回避できました。
しかしやっぱり 対象オブジェクト.content as MovieClip; はnullです。

一応、他の機能は実現しているのでこのまま進めます。


138 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 11:16:20.09 ID:LTDCjMYr]
いよお ウチでもForcibleLoader使って試してみた これは元々libsparkさんトコのじゃねーか
勝手にパッケージ簡略化してはいかんw(参照先のやつ)

ウチでは問題なくMX時代のクソ古いSWFをMovieClipに変換できて stop() gotoAndStop() で制御できたお
同じようにAirでセキュリティエラーが出てその記事の修正当てたら直った
ウチの環境はCS5.5 AS3 通常パブリッシュはFlash Player10.2 AirはAIR2.6だ

まずは無改造でそこのURL>>134のサンプル通りにやってみ
出来ないなら…もうわからんw

139 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 00:50:21.81 ID:5z1wOgRR]
>>133
やっぱりあるんだ、やる気なくすなぁ
forじゃなくてwhileとかを使った方がいいのかな

140 名前:Now_loading...774KB [2012/01/21(土) 01:27:39.90 ID:RDkx9xL3]
環境:AS3,CS4,AIR1.5

凄く単純なところでつまづいています。
dataTというテキストフィールド内の文字列全部をマウスイベントでのsetSelectionで
選択状態にしたいのですが何も選択されません。

private function _onClick(e:MouseEvent) {
trace("長さ= "+dataT.length);
dataT.setSelection(0, dataT.length);
}

traceはちゃんと文字列長を示すので、これで上手くイクはずなのですが・・・
文字列は優に30個を越えているので試験的にdataT.setSelection(0, 30); としても
何も選択されないという不思議な症状です。

明示的にdataT.selectable = true; にしてもダメでした。
このような経験はありますか?


141 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 09:04:08.50 ID:N6chXOoX]
>>139
ループ系は容量増えやすいからあまり変わらないと思う

142 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 09:56:49.31 ID:N+CnCGA4]
AS3です

MP3の音楽の再生を任意の位置で停止して、その停止した時の音を鳴らし続けたいのですが
方法を知ってたら教えてください。よろしくお願いします


143 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 14:22:21.09 ID:z+03vdra]
paraflaで使える文字のサイズが小さくても読みやすいフォントってありますか?
アンチエイリアスがかからないデバイスフォントがドンピシャなんですけど
環境によって使われるフォントが変わる(=デザインが崩れる)と聞いたので・・・
ビットマップフォントって使えないですよね?



144 名前:143 mailto:sage [2012/01/21(土) 14:22:38.47 ID:z+03vdra]
すみません誤爆しました

145 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 15:13:47.79 ID:ut2CQ6AY]
>>142
> その停止した時の音

この部分の意味と、実際に出来ることをもっと具体的に。

実際は、停止した時点で音はないと思うので
おそらくは、停止した瞬間から、そのちょっと前までという短い間の音楽を
ループさせたいということではないかと推測するのだが、どうだろうか?


146 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 17:58:26.91 ID:pk2B3+WL]
>>145
レスありがとう。その通りです
具体的に言うと、「あいうえお」という曲があって「う」の時に停止したらずっと「うーーーー」と音が出て欲しいです

今、音を止めた時のpositionから1フレームだけの再生をループさせてみたのですが
うぇうぇうぇうぇ、という感じになってしまって出来なかったです


147 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 11:17:23.05 ID:ikXf6l8r]
>>142
おもいつきだけどフレームレートを変えてみたらどうでしょうか。

148 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 14:42:31.96 ID:sW95RgOE]
actionscript 2.0を使用しています。

test=Array["mc_1","mc_2","mc_3"];
↑このような配列があります。

配列の中に納めたムービークリップ名を抜き出して、
使いたいと考えています。

//現在作成中のサンプル
test[1].onRelease = function() {
trace("test");
}

↑このままでは、何も反応が起こらない状態です。
どのような記述を行えば良いでしょうか?

149 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 15:12:49.39 ID:6eiFF332]
>>148
配列アクセス演算子

150 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 17:03:32.16 ID:LvqEXknq]
おすすめの無料効果音素材サイトはありますか?
欲しいのは
コントでスリッパで「スパン!」とぶん殴る効果音
(みなさまのおかげですでチェッカーズの歌歌って殴るあの音)
とか


151 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 17:25:51.20 ID:sW95RgOE]
>>149
解決しました!ありがとうございます。

Flash板は5年生の先輩から教えてもらったんですが、
こんな物知りなFlash使いの人達がいる掲示板があったのは初めて知りました。
今後も利用させていただきます。
ありがとうございました!

152 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 22:36:59.79 ID:HUhtOMON]
配列アクセス演算子って何回回答したかね。
まあググれるワードじゃないから仕方ない

153 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 23:03:44.85 ID:nFAGLJEL]
AS3でちょっとした疑問なんだけど
親Sprite
┣MovieClip
┣Sprite
┣・・・

こういうかんじでオブジェクトをaddChildしてる時、
親Spriteだけremoveしちゃえば、子オブジェクトは全部解放されるの?
それとも子オブジェクトそれぞれremoveしないと解放されない?



154 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 00:26:48.67 ID:jwTnhMEo]
解放というのがガベージコレクションという意味ならどちらも表示リスト外れようが他に参照持たれてたらされない

他に参照持たれてなければ親がremoveChildされた時点で子もGC対象になる

155 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 00:50:43.42 ID:SA/v59S7]
>>150
出来れば俺がお前の頭を

156 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 04:06:54.92 ID:R9zntuVO]
>>142
簡単なやり方だと、1つMovieClip作ってその中に、サウンドをストリーミング配置して、切りたい音のポイントごとにラベルで切るのとフラグ用に変数立てて、サウンド停止時に flag=true;みたいにする
んで切ったラベルの最後に if(flag)this.gotoAndPlay(“う“); みたいにすればいけると思う

157 名前:Now_loading...774KB [2012/01/23(月) 08:38:48.65 ID:F9CY73VL]
一つのアプリケーション内で複数のstageを持つことってできますか?

stage上x-y平面で動かしたオブジェクトの座標を取得して
そのオブジェクトの動作を3D表示できるようにしたいです。

3Dライブラリとしてpapervision3Dを利用しようと思っていますが、
3D表示用のstageを確保しなければならないのではと思い上記の質問しました。


158 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 09:17:57.12 ID:75ziPXDc]
>>154
ガベージコレクションでなくその場で即刻解放 というわけにはいかないか

もう一つ質問だけど
mcとかObjectはdelete使えないってのは知ってるが
delete mcとかやってもエラー出ないんだけど、これは特になにも処理されてない ってことでいいのかな

159 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 10:48:17.08 ID:+vchNyJM]
>>157
Stageは1個だけだい >3D表示用のstage ってのはDisplayObjectを継承した描画用クラスなら何でも可じゃないかな
たぶんpapervision3Dで用意されてる

>>158
deleteは参照切るだけ delete mc;実行後に参照するとnullエラーが出る

160 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 11:06:20.93 ID:+vchNyJM]
すまん deleteで削除できるのは「動的に定義されたプロパティだけ」だそうだ
実行後に参照するとnullではなくてundefainedが入ってた
普通はインスタンスだろうが固定プロパティだろうがnull入れればおkなんだ
deleteは単にMX時代からの遺物だね

>その場で即刻解放
しないね

161 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 14:57:39.02 ID:75ziPXDc]
>>160
なるほどサンクス

deleteでエラー出なくて、null入れるとエラー出るといったんだけど、なんだか
MC内で delete thisと入れた場合はエラー出ず
親Sprite上で delete mcとやるとエラーが出る
MC内で this=nullとやるとエラー出て
親Sprite上でmc=nullとやるとエラー出ない

という感じになった。
わかりそうでよくわからんが、この辺は適当にやるよ。

162 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 18:06:23.85 ID:jwTnhMEo]
上記の現象はMCはダイナミッククラスってのが関係してんじゃね

下記のは自分をnullにはできないってことで

基本的に参照切るならnullを使う
即時削除(明示的なGC)はFPでは基本的にはできない(デバッグプレイヤーなら可、裏技あり)
AIRなら出来たかな
ただしBitmapDataのみ即時解放ができる

163 名前:142 mailto:sage [2012/01/23(月) 18:57:55.37 ID:kekHgWc7]
>>147>>156
ありがとう。やってみたのですが、どうも「プツ」っという音が入ったりして上手くいかなかったです
なので諦めました。ごめん



164 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 20:30:56.57 ID:SA/v59S7]
早期に諦めるというのも一つのテクニックだな。

165 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 21:24:10.40 ID:75ziPXDc]
>>162
詳しくサンクス

166 名前:Now_loading...774KB [2012/01/24(火) 00:32:00.89 ID:t+zu2/RW]
spriteのrotationXorYorZを変化させると
spriteのクオリティが下がってすこしぼやけた感じになってしまうのですが
これは仕方がないのでしょうか

167 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 02:31:21.06 ID:VCNBilr4]
>>166
それはクオリティが下がってるんじゃなくてベクタからラスタに変換されてるの。
最初から大きいベクタを用意して操作すれば、ある程度は軽減される。

168 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 12:22:35.94 ID:/jTi9mue]
>>159
ありがとうございます!3D表示できました。

追加質問なのですが、>>157の状態で各オブジェクト視点のカメラ設定ってできますか?



169 名前:Now_loading...774KB [2012/01/24(火) 14:03:20.55 ID:JFNBQGyk]
CS4(AS3,Player10.0) WinXP
extends MovieClip でMC化したCheckBox(チェックボックス)をメインのタイムラインの
2フレ目で出したいのですが下記エラーが出てしまいます。

 TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。
   at fl.controls::CheckBox/drawLayout()
   at fl.controls::LabelButton/draw()
   at fl.core::UIComponent/callLaterDispatcher()


流れとしては、1フレ目で外部SWFを5秒間実行した後に、2フレ目でフレームアクションに
var chBox:MovieClip = new CheckBox_01(パラメーター);
addChild(chBox);

と書いています。 クラスCheckBox_01の中身を抜粋すると
var chBox:CheckBox = new CheckBox();

public function CheckBox_01(引数) {

// 引数をパラメーターとして処理

chBox.label = "選択・非選択";
chBox.addEventListener(Event.CHANGE, showData);
addChild(chBox);// これを無効化するとエラーは出ませんが・・・ (泣)
}

private function showData(event:Event):void {
// 選択時の処理
}

単純にCheckBoxをステージにaddChildするのとほぼ近い記述なのですがエラーがでます。
どうしたものでしょうか?

170 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 14:06:47.31 ID:/J1+/BR8]
できないと3Dの意味ないだろ オブジェクトの位置と見たい方向をカメラにブッ込めば可能のはず
papervision3Dのヘルプ見れ 日本語のがあったはず

171 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 14:11:33.68 ID:/J1+/BR8]
>>169
とりあえずデバッグモードで走らせてエラー出た行番号のコードを確認
変数が複数あるなら「デバッグパネルの変数」のとこ見てnullの変数を確認
なぜnullになるのかわからなかったらもう1回質問してくれ

172 名前:169 mailto:sage [2012/01/24(火) 20:29:22.65 ID:aJ0wywHx]
>>171
レス有難うございます。 原因が分かりそうです。
通常、CS4では使用するコンポーネントを一旦ステージに置いてライブラリ化(ライブラリウインドウ内
に表示)して使用するのですが、このライブラリ化したものを一旦削除して再度ライブラリ化するとOK
でしてた(つまり更新しました)。

CS4をメインで使っていますが、このところCS5も併用していたので、もしかしたらですがCS5の
コンポーネントを何らかの形で(意図せずコピペしたりして)利用していたのが原因かも知れません。
(不適切なfl.controls.ComboBoxを使っていた??)



173 名前:Now_loading...774KB [2012/01/24(火) 23:19:17.67 ID:8KydtSY4]
環境)WinXP,AIR1.5,CS4

特にAIRとかCSシリーズに限定した話ではないのですが、EventDispatcherを継承した
クラスをインスタンス化して内部の記述が実行されたことを感知するEventクラスの
パブリック定数には何がありますか?

つまり、public class Test01 extends EventDispatcher として、このコンストラクタが実行
されたとします。 ここで予めコンストラクタ中に適切なイベント Event.XXYY を考慮して
addEventListener(Event.XXYY, doneFunc); を含めておいて、リスナー関数
function doneFunc(evt:Event):void {
try {
// 処理内容
trace("実行されますた");
removeEventListener(Event.XXYY, doneFunc,);
} catch (errorEvt:Error) {
trace(errorEvt.message);
}
}

によりEventDispatcherを継承したクラスTest01の実行終了を他のインスタンスに通知したいです。
※ここで求める処理はXMLを読み込んで解析することです。

試しに、Event.XXYYをEvent.ACTIVATE,Event.COMPLETE にしましたがリスナー関数は実行
されませんでした。




174 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 23:43:28.12 ID:/J1+/BR8]
>内部の記述が実行されたことを感知する
うーんイマイチ意味がわからんな インスタンスに通知ってどーゆー事だ…
フラグ用意してゲッターで他のクラスに渡すってのとは違うのか
ていうかそのカスタムイベントはちゃんと動いてるのかい
ここ参考にしてみ
ttp://feb19.jp/blog/archives/000115.php

175 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 00:41:09.12 ID:1fL8G1rX]
ああもしかして カスタムイベントクラスのコンストラクタの実行時で反応が無いって事かな?
dispatchEventはコンストラクタじゃイベントを送信しないぽい カスタムイベントクラス内の何かのメソッドで
条件を満たしたら以下を実行で インスタンス.addEventListener(Event.XXYY, doneFunc);が反応するお

dispatchEvent( new Event( Test01.XXYY ) );//イベントをイベントフローに送出

176 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 00:45:46.22 ID:1fL8G1rX]
ああごめん インスタンス側の記述はこうだな
var e:Test01 = new Test01();
e.addEventListener( Test01.XXYY, doneFunc );

177 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 21:04:12.14 ID:n7jyUYkI]
AS3で質問。
●class Super
┗public var num
●class Sub extends Super
●Sprite
┗var sub = new Sub();

とやった時、sub.numと参照できないんだが・・・
Subクラスの中にpublic var n = super.numとかやれば
sub.nって感じで参照できるっぽいが、なんか気持ち悪い。
sub.numを使えるようにするにはどうすればいいだろう?

178 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 21:20:42.76 ID:n7jyUYkI]
ああ getterとかもなるべくなら使いたくないんだけど
そういうのしか手はないんだろうか

179 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 23:55:30.19 ID:Qe34xAUd]
>>177
うーん?普通に出来てるけど
public class Superとかpublic class Subにしてみるとか?


180 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 00:11:43.66 ID:uPkFU8/W]
子SWFロード方式において、子SWFをアンロードする時に、参照が残っていると
ガーベジコレクションが行われないということは、色々なWEBページを見て理解しましたが、
以下の場合はどうなるのでしょうか?

子SWFが以下だったとします。
public class Child extends MovieClip {
var obj:Object;
var array:Array;

public function Child (){
obj = new Object();
array = new Array(2);
}
}

子SWFをロードして、以下でアンロードした時に、
子SWFのobjや、arrayはガーベジコレクションの対象になるのでしょうか?

親SWFのアンロード時の処理
loader.unloadAndStop();
removeChild(loader);
loader = null;

unloadAndStop()を使って子SWFをアンロードする時に、
リスナーを削除する以外に、何をしないといけないのでしょうか?
上記のような、インスタンス変数にオブジェクトを格納している場合も、
明示的にnullをセットしておかないと、子SWFは解放されないのでしょうか?

181 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 02:13:54.69 ID:17ONX9mB]
loaderにnullをいれてんのは参照切るためだよ
loaderに別のインスタンス入れてももとのオブジェクトの参照は切れるよ

182 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 08:28:54.60 ID:sARG6wIg]
>>179
え できるのか・・・ なんか忘れてることがあるのかな
177では省いてたけどclassもpublicにしてるし・・・

183 名前:174 mailto:sage [2012/01/26(木) 16:12:47.63 ID:V23ba8rS]
>>174-176
レス有難うございます。 目的の流れは、
EventDispatcherを継承したカスタムクラス(XML.as)でXMLを読み込んで解析 
→ 「完了しました」の情報を別クラス(AB.as)(インスタンス)に通知

としています。 XML解析はXML.asのコンストラクタ内で終わらせてこれを通知
できれば良いのでコンストラクタ内のaddEventListener(Event.XXYY, doneFunc);
には拘っていません。 
※処理完了を示すEvent.XXYYを探していましたので

ということで、dispatchEventを使ってご紹介頂いたリンクや
ttp://d.hatena.ne.jp/kamip/20091017/1255804628 のコードでとりあえず通知させる
仕組みは出来ました。

色々有難うございました。





184 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 16:27:59.24 ID:1tKvjhIF]
>>182
出来ないわけ無いから、最低限のソース全部貼った方が早いと思うが。

185 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 19:00:55.99 ID:Beh08/YE]
あの〜、
Stage.scaleMode = "noScale"; でMCサイズが拡大縮小しないようにしてるのですが
ブラウザのウィンドウサイズが一定の大きさより小さくなった場合に
MCを縮小するってことはできるのでしょうか?

186 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 22:59:27.47 ID:sARG6wIg]
>>184
改めて試したんだができるようになってたわ・・・
なんかすまんかった
なんで前はエラーでたんだろう・・・

187 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 00:07:51.02 ID:AY8qNyZU]
>>181
回答ありがとうございました。

もう一ついいですか?

1.親でaddChild()して子を追加。
2.子でaddChild()して適当な描画オブジェクトを追加。

こういった場合に、親の参照を切れば、メモリリークの心配はないのでしょうか?
それとも、親にぶら下がっている全てのオブジェクトを調べて、
全部removeChild()しないとメモリリークになるのでしょうか?

188 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 01:54:36.84 ID:rWDTRw7N]
>>187
>>154で言ったとおり親の参照が表示オブジェクトツリーから切れても他に持たれていたら親が残る
よってその子も残る
親が他から参照なければ子も表示オブジェクトツリーからの参照は切れる
でも子が他から参照持たれてたら子は残る
その場合たぶん子のparentには親が入ったままだから親も残るかもね

質問の答えとしては
親が子の参照を持ち、子が親の参照を持つだけの状態で表示オブジェクトツリー以外の参照がない場合、親をremoveすれば子もGC対象になるよ
他から参照なければね

189 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 02:28:45.25 ID:jzyOmjeZ]
>> 188
回答ありがとうございました。
大変勉強になります。
今、作っているコンテンツが、
どうもリークしているようで、
調査に苦戦してます。

回答いただいた内容を参考に、引き続き
調査してみます。


190 名前:Now_loading...774KB [2012/01/27(金) 08:46:59.84 ID:xzIvTLon]
FlashProCS5 ver.110を使用(CS4からのアップグレード版)

AS自体の質問ではないのですが、CS5のタイムライン記述(フレームスクリプト)での語彙
検索機能(文字列検索機能)で質問です。

CS5のアクションパネル(フレームスクリプトのパネル)に普通にコードを書いて、普通にコード内の
文字列を検索しよいうと思い、パネル上部の検索アイコン(「ターゲットパス挿入」の左隣の虫眼鏡マーク)
を押して『置換して検索』ウインドウを出しました。

ここまではCS4以前と変らないのですが、検索文字欄に文字列を入れて『検索』ボタンを押すと
同一タイムライン記述内に他に同じ文字列があるにも関わらず何も検索されず、更には開いていた
タイムラインのスクリプト欄も閉じてしまいます。
(質問したらイジけて引き篭ったような状態。 ASファイルだと無問題)

MX2004からCS4まで使っていたのですが、こんな酷い検索機能は初めてで悶絶しそうです。
(検索なんて基本機能中の基本なのに・・・)

そこで質問です。
Q1) このアホ検索機能はCS5のデフォですか?
Q2) CS5でデフォならCS5.5では改善されてますか?

すいません、宜しくお願い致します。



191 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:00:49.89 ID:shQ/bgLM]
そんな事ねえだろうw
うちはCS5.5だが当然無い CS5でも大丈夫だと思う
再インスコしてもダメならAbodeに報告するしかないな

192 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:10:00.92 ID:shQ/bgLM]
だいたい超基本的な質問スレが無いのがいかん
次スレ立たないうちから埋めやがってもうアフォかと…

というわけで立てといたお
ttp://toro.2ch.net/test/read.cgi/swf/1327630120/l50

193 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:23:42.26 ID:SIdMewnp]
CS5で試してみたけど普通に検索できたよ。



194 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:27:27.16 ID:2IjPgFvU]
俺もまだCS5だけど、OK

195 名前:190 mailto:sage [2012/01/27(金) 13:59:10.92 ID:xzIvTLon]
>>191-194
再インストールしましたけど症状は同じでした。
因みにOSはWindowsXP-Pro(SP3)でメモリー3.3GB,CPU:Core2DuoのE6550です

ググりましたが同じような症状の報告が無いので、もうちょっと調べてからAdobeに聞きます。
最悪、CS5.5を入れるかも知れませんが・・・


>>192
スレ立て有難うございます。
超基本的な質問スレが無かったのでここで聞きました。








[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<240KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef