ActionScript 誰かが物凄い勢いで解答するスレ30at SWF
ActionScript 誰かが物凄い勢いで解答するスレ30 - 暇つぶし2ch100:Now_loading...774KB
12/01/15 16:07:01.89 yivFxBfV
SoundChannelはSound.play()するたびに個々の音に対応したものが作られるが
>>93ではonOutの中で新しくSoundChannelを作っていて、そっちを操作してて
onOverの中で再生を始めた音の操作ができていなかった

101:Now_loading...774KB
12/01/15 20:09:10.00 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
12/01/16 00:00:33.33 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
12/01/16 01:13:04.20 Tk7Ev53z
>>101
削除対象を参照するMCを var sakujyoMC:MovieClip とかで定義して
予め sakujyoMC = addChildされたMC と記録しておいて、他のボタンが押された時に
removeChild(sakujyoMC) とすれば?
でも sakujyoMC = null にしないと本当に削除されたことにはならないよ。


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



104:Now_loading...774KB
12/01/16 01:19:58.57 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みたいに)マウスを上に乗せた時に記録した情報の通りに
チェックマークが入ります。

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


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

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


107:Now_loading...774KB
12/01/16 04:02:13.66 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
12/01/16 04:03:45.94 Tk7Ev53z
>>106
ヒント: >>88-89



109:Now_loading...774KB
12/01/16 12:41:55.78 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
12/01/16 14:04:43.86 xiCkIEfm
>>106
そもそも、型が違うって状況を理解してないんじゃ?
状況を理解してないから、同じ問題に出くわしても型変換という発想にならない

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

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

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



112:Now_loading...774KB
12/01/16 19:05:25.59 gA6iDCyZ
下手な例えほど理解を妨げるものは無いな

113:Now_loading...774KB
12/01/16 20:33:01.54 JQxN1/Ms
asの方が遅えってどっかで読んだ気がしたんだけどどっちだっけ…

114:Now_loading...774KB
12/01/17 15:04:04.18 jhCompjR
FlashCS5,AS3,AIR2.0ですが、パブリッシュすると下のメッセージが出て困ってます。
URLリンク(uproda11.2ch-library.com)

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

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

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

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



115:114
12/01/17 15:19:56.67 jhCompjR
(自己レス)
すいません。(確定ではないのですが)原因が推測出来ました。

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



116:Now_loading...774KB
12/01/17 21:12:07.84 1+mk6Te8
>>103
ありがとうございます
AS3の勉強してみます

117:Now_loading...774KB
12/01/17 22:08:29.30 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
12/01/17 22:18:28.62 bag6xnZ4
>var selectNowPage:Number = 0;
これで、

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

119:117
12/01/17 23:11:51.44 0gMwQPqH
>118
すみませんはしょってしまいました。
>var selectNowPage:Number = 0;

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

120:117
12/01/17 23:16:19.46 0gMwQPqH
var selectNowPage:Number = 1; ではなく
selectNowPage = 1;
です。さらに書き間違えてすみません。

121:Now_loading...774KB
12/01/17 23:33:16.87 bag6xnZ4
なるほどね・・・

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

122:117
12/01/17 23:53:12.33 kHhiCCjy
ありがとうございます。
ループでやってみます。

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

var��loader_obj:Loader��=��new��Loader()��;��
empty.addChild(loader_obj);��

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

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

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

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

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

125:Now_loading...774KB
12/01/19 03:38:49.45 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
12/01/19 04:05:00.82 O2W//Sbm
>>123
いい加減な酔っ払いだけど適当に答えてもいいのかな

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

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

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

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

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

129:Now_loading...774KB
12/01/19 21:11:51.40 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
12/01/19 21:53:03.26 uX+s1HDW
テキトーなレスで申し訳ないが

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

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


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

133:Now_loading...774KB
12/01/20 01:00:30.76 ro6eMvMY
>>132
よくあるな
モバイルFlashの時はそれで困ってたわ

134:Now_loading...774KB
12/01/20 01:22:55.90 LTDCjMYr
>>129
ここみれ URLリンク(mogmet.blog20.fc2.com)

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

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

136:129&131
12/01/20 08:49:58.91 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
12/01/20 09:57:16.55 pWZx6SRu
(自己レス)
セキュリティエラーに関しては URLリンク(d.hatena.ne.jp) を元に
ForcibleLoaderのASを修正し回避できました。
しかしやっぱり 対象オブジェクト.content as MovieClip; はnullです。

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


138:Now_loading...774KB
12/01/20 11:16:20.09 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
12/01/21 00:50:21.81 5z1wOgRR
>>133
やっぱりあるんだ、やる気なくすなぁ
forじゃなくてwhileとかを使った方がいいのかな

140:Now_loading...774KB
12/01/21 01:27:39.90 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
12/01/21 09:04:08.50 N6chXOoX
>>139
ループ系は容量増えやすいからあまり変わらないと思う

142:Now_loading...774KB
12/01/21 09:56:49.31 N+CnCGA4
AS3です

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


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

144:143
12/01/21 14:22:38.47 z+03vdra
すみません誤爆しました

145:Now_loading...774KB
12/01/21 15:13:47.79 ut2CQ6AY
>>142
> その停止した時の音

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

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


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

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


147:Now_loading...774KB
12/01/22 11:17:23.05 ikXf6l8r
>>142
おもいつきだけどフレームレートを変えてみたらどうでしょうか。

148:Now_loading...774KB
12/01/22 14:42:31.96 sW95RgOE
actionscript 2.0を使用しています。

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

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

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

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

149:Now_loading...774KB
12/01/22 15:12:49.39 6eiFF332
>>148
配列アクセス演算子

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


151:Now_loading...774KB
12/01/22 17:25:51.20 sW95RgOE
>>149
解決しました!ありがとうございます。

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

152:Now_loading...774KB
12/01/22 22:36:59.79 HUhtOMON
配列アクセス演算子って何回回答したかね。
まあググれるワードじゃないから仕方ない

153:Now_loading...774KB
12/01/22 23:03:44.85 nFAGLJEL
AS3でちょっとした疑問なんだけど
親Sprite
┣MovieClip
┣Sprite
┣・・・

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

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

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

155:Now_loading...774KB
12/01/23 00:50:43.42 SA/v59S7
>>150
出来れば俺がお前の頭を

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

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

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

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


158:Now_loading...774KB
12/01/23 09:17:57.12 75ziPXDc
>>154
ガベージコレクションでなくその場で即刻解放 というわけにはいかないか

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

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

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

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

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

161:Now_loading...774KB
12/01/23 14:57:39.02 75ziPXDc
>>160
なるほどサンクス

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

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

162:Now_loading...774KB
12/01/23 18:06:23.85 jwTnhMEo
上記の現象はMCはダイナミッククラスってのが関係してんじゃね

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

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

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

164:Now_loading...774KB
12/01/23 20:30:56.57 SA/v59S7
早期に諦めるというのも一つのテクニックだな。

165:Now_loading...774KB
12/01/23 21:24:10.40 75ziPXDc
>>162
詳しくサンクス

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

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

168:Now_loading...774KB
12/01/24 12:22:35.94 /jTi9mue
>>159
ありがとうございます!3D表示できました。

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



169:Now_loading...774KB
12/01/24 14:03:20.55 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
12/01/24 14:06:47.31 /J1+/BR8
できないと3Dの意味ないだろ オブジェクトの位置と見たい方向をカメラにブッ込めば可能のはず
papervision3Dのヘルプ見れ 日本語のがあったはず

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

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

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



173:Now_loading...774KB
12/01/24 23:19:17.67 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
12/01/24 23:43:28.12 /J1+/BR8
>内部の記述が実行されたことを感知する
うーんイマイチ意味がわからんな インスタンスに通知ってどーゆー事だ…
フラグ用意してゲッターで他のクラスに渡すってのとは違うのか
ていうかそのカスタムイベントはちゃんと動いてるのかい
ここ参考にしてみ
URLリンク(feb19.jp)

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

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

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

177:Now_loading...774KB
12/01/25 21:04:12.14 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
12/01/25 21:20:42.76 n7jyUYkI
ああ getterとかもなるべくなら使いたくないんだけど
そういうのしか手はないんだろうか

179:Now_loading...774KB
12/01/25 23:55:30.19 Qe34xAUd
>>177
うーん?普通に出来てるけど
public class Superとかpublic class Subにしてみるとか?


180:Now_loading...774KB
12/01/26 00:11:43.66 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
12/01/26 02:13:54.69 17ONX9mB
loaderにnullをいれてんのは参照切るためだよ
loaderに別のインスタンス入れてももとのオブジェクトの参照は切れるよ

182:Now_loading...774KB
12/01/26 08:28:54.60 sARG6wIg
>>179
え できるのか・・・ なんか忘れてることがあるのかな
177では省いてたけどclassもpublicにしてるし・・・

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

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

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

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



184:Now_loading...774KB
12/01/26 16:27:59.24 1tKvjhIF
>>182
出来ないわけ無いから、最低限のソース全部貼った方が早いと思うが。

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

186:Now_loading...774KB
12/01/26 22:59:27.47 sARG6wIg
>>184
改めて試したんだができるようになってたわ・・・
なんかすまんかった
なんで前はエラーでたんだろう・・・

187:Now_loading...774KB
12/01/27 00:07:51.02 AY8qNyZU
>>181
回答ありがとうございました。

もう一ついいですか?

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

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

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

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

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

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


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

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

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

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

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

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

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



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

192:Now_loading...774KB
12/01/27 11:10:00.92 shQ/bgLM
だいたい超基本的な質問スレが無いのがいかん
次スレ立たないうちから埋めやがってもうアフォかと…

というわけで立てといたお
スレリンク(swf板)l50

193:Now_loading...774KB
12/01/27 11:23:42.26 SIdMewnp
CS5で試してみたけど普通に検索できたよ。

194:Now_loading...774KB
12/01/27 11:27:27.16 2IjPgFvU
俺もまだCS5だけど、OK

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

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


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



196:Now_loading...774KB
12/01/27 21:41:22.45 0iPwdIwk
AS3で数日ハマっているので質問させてください。

やりたいことは親swfから外部の子swfを読み込んで、
その子swfが外部の.pngを読み込む。それを親swfで表示する。
なのですが、,pngが表示されません。
子swfのシーンに乗ってるものは親swfで表示してます。
子単体では正常に表示してます。

もしかして子swfから外部画像を読み込んだものを
親swfで表示するのはそもそもできないのですか?

197:Now_loading...774KB
12/01/27 23:50:13.67 Sg/LpXuS
>>196
要は子が参照しているPNGを親で見るってこと?
ならば、子のPNG変数(URL)を親に渡すってことで、 SWF 親 子 変数 アクセス 
でググると吉かも。

注意点は、親子SWFが同じAS3なら良いけど、万が一、子がAS2の場合は変数に
アクセスできない。 その場合はライブラリ「ForcibleLoader」とかを使う。


198:Now_loading...774KB
12/01/28 00:04:45.23 BelXmZ6i
>>196
普通に表示できるよ
ロードや表示に関するASやflaを晒さないと原因はわからんが
どこかで間違ってるか何かを勘違いしてるのだと思う

199:196
12/01/29 13:46:14.22 TwlN1FpD
>>197,198
レスを参考に試行錯誤してみます。
どうしもだめな場合はダメASを披露しにきますw
ありがとうござました。

200:196
12/01/29 17:52:14.17 TwlN1FpD
解消できなかったのでご教授お願いしにきました。>>196です。
//親swf1フレーム目
var mc:MovieClip = new MovieClip();
var req :URLRequest = new URLRequest("01/01.swf");
var loader:Loader = new Loader();
loader.load(req);
loader.contentLoaderInfo.addEventListener( Event.COMPLETE, onLoadComplete );
function onLoadComplete( e:Event ) {
mc = loader.content as MovieClip;
container.addChild(mc);
mc.gotoAndStop(1);
}
//子swf1フレーム目
var ld:Loader = new Loader();
var url:URLRequest = new URLRequest("pic/01.png");
var context :LoaderContext = new LoaderContext();
context.applicationDomain = ApplicationDomain.currentDomain;
ld.load(url,context);
ld.contentLoaderInfo.addEventListener( Event.COMPLETE, onLoadComplete );
function onLoadComplete( e:Event ) {
addChild(ld);
}
//子swf2フレーム目(以降02.pngの部分が3フレーム目は03とフレームと同番)
url = new URLRequest("pic/02.png");
ld = new Loader();
context.applicationDomain = ApplicationDomain.currentDomain;
ld.load(url,context);
ld.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError);

環境:FLASHCS5.5 Win7 AS3.0
ディレクトリ階層:ルートフォルダ内に親swfと01フォルダ、
01フォルダ内に子swfの01.swfとpicフォルダ、picフォルダ内に01.png~

201:196
12/01/29 17:58:22.60 TwlN1FpD
200に追記
container.addChild(mc);のcontainer定義はここの投稿時に
行数警告でその行を削除しましたが、
var container:Sprite = new Sprite();
addChilde(container);
と記述してあります。

202:Now_loading...774KB
12/01/29 18:29:03.04 A9bbXgrx
そのコード試そうかと思ったがメンドイので止めたw
そもそも何でそんなヘンテコな構造なんだ
DisplayObjectContainer使って コンテナ用意してその中に
pic01, pic02 …とSpriteかMovieClipのインスタンスを追加していき
そのインスタンス内にロードして表示、非表示等の操作をすれば楽だし改造し易いお

>var req :URLRequest = new URLRequest("01/01.swf");
フォルダ名って数字のみでおkだったっけ? ↑

203:196
12/01/29 21:38:15.40 TwlN1FpD
>>202
ディレクトリの数字のみの件は、子swfのシーンは表示しているのでリンクはOKなようです。
ためしに01からobjとフォルダ名を変えてみましたが結果は同じでした。

外部に画像を出しておくのが仕様で、子swfを頭から連続再生させたり途中から再生させた
かったので各フレームに読み込んで後は親が子swfをプレイすればよいかと考えたのですが
構造をかえてみます。ありがとうございました。

204:Now_loading...774KB
12/01/29 22:28:24.19 A9bbXgrx
>頭から連続再生
ってまさかアニメ? それならアニメ詰まったのを1個読み込むのが普通だろ
なんで画像を1枚づつ読み込むんだ まあ…がんがれ

205:Now_loading...774KB
12/01/30 21:29:37.73 lCMdSn8T
質問失礼します。
Adobe Flash Professional CS5 で開発をしているのですが、
traceで出力パネルに出力した文章をコピー&ペーストして.txtとして保存すると
テキストの形式がShift-JISで保存されます。

そこで、出力パネルに出力される文字コードをUTF-8にしたいのですが、
traceで出力する際に文字コードの指定などはできないでしょうか?

206:Now_loading...774KB
12/01/30 23:35:37.41 InGhw/bk
>>205
保存するときにUTF-8にすればいいんじゃない?

207:Now_loading...774KB
12/01/31 14:19:57.17 yM7uuYbI
>>205

テキスト貼付けるエディタのデフォの設定がShift-JISなんだろ?
エディタを何とかしろ

208:Now_loading...774KB
12/01/31 16:52:45.97 2xuTHBYb
スレ違いだったら申し訳ありませんが、質問です。
ActionScriptにはJAVAのヒープ領域のようなメモリ領域はあるのでしょうか?
あるなら、どのくらいのサイズが確保されるものなのでしょうか?

209:Now_loading...774KB
12/01/31 19:06:08.06 biaD4WdC
URLリンク(help.adobe.com)
このへんかな。当たり前だけど処理系ごとに変わるけどね。

210:Now_loading...774KB
12/02/02 08:10:32.93 TjsnZczT
Chrome以外で自分のSwf見ると挙動がおかしい・・・
Operaだとクリックした時にしかマウスポインタが手に変化しないし、
IEだとFLASHのバナーしか表示されないし・・・
このへん詳しいこと書いてるサイトとかないかな?

211:Now_loading...774KB
12/02/02 09:44:02.58 ewFRfMTf
FlashはIE基準じゃなかったかな ちょっと前はクロームでキーボード入力受け付けないとかあったけど…
IEで挙動がおかしいのは直さないとダメだな ちなみにIEのバージョンとかは?
SafariはAppleなのでFlashの挙動が変なのは諦めるしかない

212:Now_loading...774KB
12/02/02 14:24:53.02 TjsnZczT
Chromeはキーボードも受け付けてるし一番問題ないな
IEバージョンは9だったけど、スクリプトだけ色々いじってたらとりあえずIEは表示されるようになったよ・・・原因わからない
Safariは持ってないし確認しようないから置いておいてる
せめてOperaのボタンのカーソルくらいは直したい・・・
今はSprite継承の自作クラスの中でthis.buttonMode=trueでやってるけど、これが原因だろうか

あとついでに質問だけど、今の状態だとFLASHをドラッグしてしまえるんだけど(テキストドラッグしたみたいに青くなる)
これをドラッグさせないようにするのはHTMLとかjavascriptの範疇?

213:Now_loading...774KB
12/02/02 14:48:17.42 ewFRfMTf
実際のインスタンス(のターゲット変数).buttonMode=true;にしてる?

ドラッグして青くなって選択状態になるのはしょうがないお

214:Now_loading...774KB
12/02/02 15:00:50.68 TjsnZczT
してない、が外から内からもbuttonMode=trueとしてみたけど変化なかった。

問題のSpriteは
MySpriteA ←this.buttonMode=true
┗継承━MySpriteB
        ┣mc1(適当な絵描いてるMC)
        ┣mc2(〃)
みたいにやってる。
SpriteAがボタンの機能持ってて
SpriteBは、例えばmc1がaddChildされてる時に、mc2を表示したくなったら
関数呼び出すとmc1をremoveしてmc2をaddする、みたいにできてる。

215:Now_loading...774KB
12/02/02 16:40:09.87 ewFRfMTf
mc1をaddChildする時に mc1.buttonMode=true;
mc2をaddChildする時に mc2.buttonMode=true;

これでだめならもうわからん Operaの方が対応してないぽい

216:Now_loading...774KB
12/02/02 20:13:16.06 4HNnzc9t
AS3というかASの基本的な質問です。

ある配列 arr0 に別の配列 arr1 を丸ごと追加するにはどうしたら良いでしょうか?
arr0.push(arr1) だと arr1 が可変長引数扱いされて arr0 の長さが1個しか増加しません。

ググりましたが、要素単位で追加する説明はありましたが丸ごと追加の説明は
見つかりませんでした。



217:Now_loading...774KB
12/02/02 20:34:10.59 eJFDLw3v
URLリンク(help.adobe.com)()
それは圧倒的にググりが足りないな
リファレンスくらいはお気に入りにいれときなさい

218:216
12/02/02 21:17:57.35 RCR9XpAS
>>217
早速さんきゅう。 でも、できません。

trace("Arr0= "+Arr0.length);// 30
Arr0.concat(Arr1);// 配列の追加 10個
trace(" Arr0= "+Arr0.length);// 30

長さが変化しないのですが・・・


219:Now_loading...774KB
12/02/02 21:19:38.74 eJFDLw3v
>>218
リファレンスを読み直しましょう
ちゃんと例のとおりにつかっていますか?

220:Now_loading...774KB
12/02/02 21:54:28.42 TjsnZczT
>>215
ちょっとやってみるわ

221:216
12/02/02 21:56:11.78 KAFsu2jP
>>219
すいません。。。 左辺が必要でしたね。



222:Now_loading...774KB
12/02/02 22:37:59.10 eJFDLw3v
>>221
そうそう。そういうパターン実はいくつかあるから注意だね
逆にそういうパターンにしてほしいのに複製作られずにいじられちゃったりするパターンもあったり

223:Now_loading...774KB
12/02/03 06:20:56.65 i7tdhhgt
TextAreaへのTextFormatによる特定区間の文字の色付け(青色)で困っています。
AS3,AIR1.5,WinXP(FlashCS4)

TextArea(tArea)内の文字列を var str0:String = tArea.text;
テキストフィールドを var tFd:TextField = tArea.textField; として

var tfm:TextFormat = new TextFormat(); tfm.color = 0x0000FF;
tFd.setTextFormat(tfm, po0, po0+6);// フォーマットの適用 po0は任意の位置

としても何も変化がなく、po0を変数とせずに tFd.setTextFormat(tfm, 5, 11); としても
同じでした。 テキストフィールドはtFdで参照が取れているのですが色が変りません。

TextAreaのテキストフォーマットは tArea.setStyle("textFormat", tfm) とかで
出来ますが、これだと全文が青色になってしまいます。

どうすべきでしょうか?


224:223
12/02/03 06:26:57.42 i7tdhhgt
(上の追記)
tFd.getTextFormat(5, 11)で調べると確かに [object TextFormat] と出て、
テキストフォーマットが設定されてはいるようですが・・・


225:Now_loading...774KB
12/02/03 07:21:02.10 LZoKz3+2
とりあえずこれは抑えてあるよね
URLリンク(flabaka.com)

TextAreaでなく最初からTextField使う場合は意図したとおりに適用されてる?

226:220
12/02/03 09:50:16.05 0qxNACgm
>>215
やってみたんだができなかった・・・
普通のムービークリップ.buttonMode=trueもやってみたけど、
Operaだとクリックして動かさない間しかマウス変化しない・・・

それでFlashProでテスト用のSWF作ってみたが、こっちではちゃんとできてた。
FlashBuilderで作ったのが悪いんだろうか・・・

227:223
12/02/03 13:46:33.71 81rqqVrX
>>225
どうも。 TextFieldに文字列を流し込んだ後にsetTextFormatを使用してます。
ちなみに、TextAreaでは文字列が内部に存在しなくても
var tArea_tfm:TextFormat = new TextFormat(); tArea.setStyle("textFormat", tArea_tfm);
で文字サイズなどの変更が可能です。

またvar tFd:TextField = tArea.textField;として
tFd.setTextFormat(tfm, 5, 11); で trace(tFd.getTextFormat(5, 11).color);
で文字RGB色を取得すると、ちゃんと青の255が出ます。

つまり、テキストフォーマットは設定されているものの、反映されない状態です。
というか、
「TextAreaでなく最初からTextField使う場合は意図したとおりに適用されてる?」
をもう少し詳しく解説願います。




228:Now_loading...774KB
12/02/03 13:54:22.72 LZoKz3+2
TxtArea(コンポーネント?)を使わずに単にTextFieldを表示させてる時に意図した通りの見た目になってるか、だよ
問題がTextAreaなのかTextFieldなのか切り分けるの

229:223&227
12/02/03 15:43:48.90 81rqqVrX
>>228
さんくす。
TextFieldのみを使った場合、上手くいきました。 TxtAreaは文字単位の色付けといった
細かいことには不向きなのかも知れません。


230:Now_loading...774KB
12/02/03 21:30:52.09 mFRFMtJq
初心者すぎる質問です。すいません。
最初にステージに50個インスタンスを配置して
Aボタンを押すと
ステージにおいてある50個のインスタンスを全て非表示にして、
その中の1だけ表示(表示したいインスタンスをaとする)、
Bボタンを押すと同じように
ステージにおいてある50個のインスタンスを全て非表示にして、
その中の1だけ表示(表示したいインスタンスをbとする)
Cボタンを押すと‥‥というような
スプリクトを作りたいのですがうまくいきません。

50個のインスタンスをまとめてシンボル化して、
まとめたインスタンスを非表示にして、その中の子インスタンスを1つだけ表示しよう
としてもダメでした。
adobe FLASH CS5.5を使用しています。

231:Now_loading...774KB
12/02/03 22:01:58.40 TRSwm7Wa
>>230
50個のインスタンスを配列(Arr)の要素に格納して
for each (var element:Object in Arr) {
element.visible = false;// 一旦全部非表示に
}
Arr[n].visible = true;// 1個だけ表示

でもダメってこと? これならAS2でも動く筈。



232:230
12/02/04 00:36:03.84 on1pbUkS
まだまだ勉強不足でArrすらわかりません…。
ネットで調べてみたけど難しい。勉強せねば。

例えばインスタンス名がそれぞれA.B.Cという3つのムービークリップを作った場合、どう要素を格納して、どう表示 非表示の記述をすればいいですか?
アクションスプリクト3.0を使用しています。

ちなみに最終的にはムービークリップが300個くらい(swfに書き出すと約180kb)になるのですが、ホームページにのせた場合重くなるのか心配です。スクリプトは前述のような動作です。

233:Now_loading...774KB
12/02/04 01:30:11.73 KoYGdfo6
>>232
簡単なサンプルが多く載ってる本を2,3冊買って色々イジりながら試すのが近道。

今回の例では
var arr:Array = new Array();// 配列の宣言 

arr.push(A);// 配列に格納
arr.push(B);
arr.push(C);

for each (var element:Object in arr) {
element.visible = false;// 一旦全部非表示に
}

arr[1].visible = true;// 0~2の1だけ表示

SWFのサイズと重さはあまり関係無いよ。 あくまでもアルゴリズム次第。
同年代の古時計でもメンテナンスや内部機構によって滑らかに動くかどうかが変るのと
同様のこと。

なお、AS3ならメモリー使用量は下記で簡単に参照できる。
var mem:uint = System.totalMemory;

先ずは、変数と型の関係を理解しませう。


234:Now_loading...774KB
12/02/04 12:07:04.30 XPBxIAgs
AS3,CS4でAIR1.5かPlayer10.0

クラス内のメンバ変数一覧を取得する方法を探しています。
Javaの似たような質問例としては、URLリンク(oshiete.goo.ne.jp) がありますが、
メンバ変数を配列で格納し、文字列出力でずらっと見たいです。

Javaでは「リフレクションAPI」なるものが存在していますが(下記)、ググりましたがAS3には
無い様です。
URLリンク(www.atmarkit.co.jp)



235:Now_loading...774KB
12/02/04 14:08:20.86 xlKx4hNr
>>233
ありがとうございます!
本を買っていろいろ勉強してみるつもりです。
ちなみに、ボタンの上にムービークリップやテキストがある場合
下のボタンを触れるように出来るのでしょうか?
それとvar mem:uint = System.totalMemory; の使い方よく分かりません…。


236:233
12/02/04 14:31:10.25 TQq7Q4sJ
>>235
ボタンの上にムービークリップやテキストがある場合
→ 自分で試した範囲だと無理。 ボタン操作したい場合は、swapChildren(A, B)で入れ替える。


totalMemoryの一番簡単な使用例(フレームアクション記述)
// 適当にボタン(btn)を作る
var mem:uint;// 宣言
btn.buttonMode = true;
btn.addEventListener(MouseEvent.CLICK, onClick);
function onClick(evt:MouseEvent) {
mem = System.totalMemory;
trace("使用メモリ= "+mem);
}

参考:
URLリンク(help.adobe.com)


237:Now_loading...774KB
12/02/04 15:29:22.28 on1pbUkS
>>236
試しに今作っているFLASHのボタンの1つに totalMemoryを記述してみました、クリックするとムービークリップを表示するボタンです。
出力に49049600と出ました。ちなみにそれを非表示にするボタンは51654656でした。
単位はバイト?これはどのくらいを意味している?
表示中でも表示するボタンを押すとメモリーがかかる、
それと非表示ボタンのほうがメモリーが高い、頭の中が混乱してきました…。

238:Now_loading...774KB
12/02/04 15:37:22.13 2FY7XTQz
表示時は表示インスタンスがグラフィックRAMに記憶され
非表示時は全部(のデータ)が通常メモリに記憶だからじゃね?

239:Now_loading...774KB
12/02/04 16:32:48.98 sCENL8qA
そもそもGCあんだから瞬間的なメモリみても意味が無い
気にすんな

240:Now_loading...774KB
12/02/04 17:46:22.24 fXuACLII
>>236
上にテキストやMCがあっても、それらのmouseEnabldがfalseであれば
下のボタンを操作できるよ

241:Now_loading...774KB
12/02/04 18:48:52.87 yUwZ/lYS
>>237 単位はバイト?これはどのくらいを意味している?

参考リンク嫁



>>239
デバッグ版プレーヤーなら gc()があるけど、GCって(基本)気まぐれなんでしょ?
しかもオブジェクトが無参照になってnullにならないとダメとか。


242:Now_loading...774KB
12/02/04 18:54:17.28 on1pbUkS
>>240
mouseEnabldやってみたらできました!
233さんで教わったばっかりの配列(Arr)も使用してみると
var arr:Array=new Array();
arr.push(a);
arr.push(b);

for each(var element:Object in arr){
element.mouseEnabled = false;
element.mouseChildren = false;
}
みたいなこともできるのですね!

243:Now_loading...774KB
12/02/05 04:42:50.58 MzMOl7lj
AS1.0の質問です
Stage.scaleMode = "showAll";
createEmptyMovieClip("stage_mask",12345);
with(stage_mask){
lineStyle();
beginFill(0,100);
moveTo(0,0);
lineTo(Stage.width,0);
lineTo(Stage.width,Stage.height);
lineTo(0,Stage.height);
lineTo(0,0);
endFill();
}
_root.setMask(stage_mask);
上のソースはFlashの外側(はみだし部分)を隠すスクリプトなんですが
他のMCや画像はマスクで隠しつつ一部のMCだけ隠さずに表示することはできますか?
隠したくないMCの深度をstage_maskの深度12345より大きくしてみたんですがダメでした

244:Now_loading...774KB
12/02/05 11:45:17.51 q4VvPX4X
_rootにマスクするのやめたら?

245:Now_loading...774KB
12/02/06 11:11:35.69 WvTafXft
>>244
できました!
ありがとうございます

246:Now_loading...774KB
12/02/07 00:55:39.75 R12olOWB
CS5を使っております。

タイムライン上に画像や適当なコンポーネントを配置した
SWFをChild.swfとします。

Child.swfを適当な親SWFからロード→アンロードしたとき、
アンロード時には、タイムライン上の画像等は勝手に解放されるのでしょうか?

それとも、何か後処理しないとメモリリークになってしまうのでしょうか?


247:Now_loading...774KB
12/02/07 04:24:45.06 5GJD0ZSB
>>246
Playerのバージョンによるけど、LoaderをaddChildして子SWFとしたとして、
・Loaderのイベントリスナーはremoveする
・Loaderはnullに

基本、無参照は無関心扱いされてGCされ易くなる。

※FlashPlayer11では新GC機能あり
地味すぎて伝わらないFlash Player 11の新機能
URLリンク(adclounge.jp)


248:Now_loading...774KB
12/02/07 23:54:10.02 j8nkoxb4
>>247
回答ありがとうございました。

・Loaderのリスナーは弱参照で登録して使ってました。
 →明示的にremoveするように変更しました。
・Loaderはnullに出来てました。

上記をやっとけば、とりあえず問題ないってことですね。

ありがとうございました。

249:Now_loading...774KB
12/02/08 05:55:35.21 NeEN90Ai
>>248
そうそう。弱参照ね。
ちなみにPapervision3Dには、不要になった3Dオブジェクトを削除するために
オブジェクト.material.destroy(); というのがある。


250:Now_loading...774KB
12/02/09 18:51:51.58 R+rqbmsZ
すいません
デバッグができなくて困っています。Flashdevelop4.0.1、AS3プロジェクトです

リリースで実行するとFlashplayerが表示され実行されるのですが、
デバッグで実行するとFlashplayer自体は表示されるのですが、実行されず
ステータスバーに「Flashplayerを待ってデバッガーに接続します」と表示されます

原因を調べると、特定の自作クラスを参照すると駄目なようで
static const な定数を参照するだけでデバッグできなくなります

なにかデバッグできなくなる原因の記述があると思うのですが
その自作クラスは基幹の大きいクラスのため「1か所消してコンパイル」を繰り返して特定するのはかなり時間がかかりそうなのです

ので、何か手がかりを知っている方が居たら教えてください
よろしくお願いします


251:Now_loading...774KB
12/02/09 18:52:17.71 R+rqbmsZ
age忘れました

252:Now_loading...774KB
12/02/10 12:19:45.22 NiE7UKI7
flash CS5 win7 です

今Asを勉強しているのですが
function onMoveStart(event:MouseEvent):void {
clickY = event.stageY - McName.y;
}
というコードを外部クラスで動作させる場合に、
eventが定義されませんと、エラーが出ます。

ぜひお教えくださいよろしくお願いいたします。

253:Now_loading...774KB
12/02/10 14:40:43.16 AfUv8uUH
importしましょう


こちらへどうぞ
Flashの超基本的な質問はここでしろ! part43
スレリンク(swf板)

254:Now_loading...774KB
12/02/10 15:10:18.19 MiPu/7Cc
>>250
デバッグはFlash CS5とかなり違うんだろか
デバッグ時の画面、挙動がどういう状態なのか少しわからないと答えるのむずいお

255:226
12/02/10 19:30:56.22 jEUJ5txX
今更だけど規制解けたので

どうもFLASHのウィンドウ設定を透明に設定すると、今回のようなバグがでた
調べたら透明の時はなんか微妙に色々起きるらしいな
気づくの時間かかった

256:250
12/02/11 01:38:15.67 fz4rwvJH
>>254
レスありです。CSとの違いは分からないです
挙動というか、とにかくFlashPlayerが表示されるだけで何も実行されません


今、古いSDKを使ったら一応デバッグできたので急な要件ではないのですが
何か知っている方がいらっしゃったらよろしくお願いします


257:Now_loading...774KB
12/02/11 17:33:52.18 JttzamSG
AIRの質問なんだけど大丈夫だろうか?

this.stage.nativeWindow;
↑このNativeWindowってやつに困ってる。
SWF書きだした時にnullだったり中身入ってたりと、ばらつきがある。
100%nullじゃないようにしたい場合はどうすればいいんだろう。

nullが出た時は、そのあといくら待ってもnullなのでイベントリスナーも意味ないし。
分かる人いればレスお願いします。



258:Now_loading...774KB
12/02/12 11:02:24.89 AYUdcfOs
>>257

259:Now_loading...774KB
12/02/12 11:03:31.93 AYUdcfOs
ミスった…

>>257
ソース乗っければ誰かが教えてくれるかも
URLリンク(help.adobe.com)

260:Now_loading...774KB
12/02/12 11:27:06.98 UL0KTdNX
>>259
リファレンスは見たけど、その辺は書いてない気がするんだよな・・・
ちなみにソースというか、そのまんま
nw = this.stage.nativeWindow;
trace(nw) ←null か object NativeWindow という感じ

FlashBuilderにFlashPro連携させてやってるんだけど、
色々試して、Builderから書きだすと初回はエラー吐いて、2回目からはちゃんと起動するということがわかった。
初回から成功して欲しい。
FlashProからやると、多分◯◯-app.xmlを読み込まないから絶対失敗するのかな、と。

261:Now_loading...774KB
12/02/12 12:33:00.73 o5SxRP9k
Android向けのサイトで使うFlashをとりあえず10、AS1.0で作っています
loadSoundで読み込むサウンドデータでmp3以外(具体的にはAACエンコしたm4a、もしくはogg)の圧縮フォーマットを
使うことは未だにできないのでしょうか?
ぐぐっても2004年頃の「できない」という情報しか出てこず、最新の事情を知りたいです
FlashやASのバージョンでも違ったりする?

262:Now_loading...774KB
12/02/12 13:21:55.81 AOoGwUT/
>>261
AS1はもう変わってないんじゃない?

263:Now_loading...774KB
12/02/12 14:21:20.72 o5SxRP9k
AS2か3なら使えるのでしょうか?

264:Now_loading...774KB
12/02/12 14:30:09.40 9Rn+Z/v+
10なのにAS1を使う理由がまったくないな

265:Now_loading...774KB
12/02/12 14:30:55.86 UL0KTdNX
m4aはローダー作ってる人いたけど、基本はmp3だけだろうな

266:Now_loading...774KB
12/02/12 14:34:26.63 AOoGwUT/
>>263
mp3じゃだめなの?

267:Now_loading...774KB
12/02/12 14:36:00.62 o5SxRP9k
AS1に拘る理由は全くないです、AS2か3で使えるならそちらにします
商用なのでmp3は使えません

268:Now_loading...774KB
12/02/12 14:39:21.35 AOoGwUT/
>>267
oggとかが使えるかどうかわからんがAS3のほうがいいよ

269:Now_loading...774KB
12/02/12 18:40:52.27 Va1DU68x
>>267
AS1,2は無理
AS3は自前でデコードするなら何でも可能
ただmp3はFlashに埋め込んどけばいいんじゃね?

270:Now_loading...774KB
12/02/13 19:44:20.87 AhhPa0c+
CS5,WinXP,AIR2.0ですが、addChildしたテキストフィールドが滲んで(にじんで)しまい
困ってます。
URLリンク(uproda11.2ch-library.com) の右上の sheetBase_0 の部分

CS5のライブラリにMC(SheetTitle)があり、これをnewして灰色の部分(SheetBase)にaddChild
しています。 階層構造は、下の通りです。

┗SheetBase
   ┗SheetTitle
      ┗テキストフィールド(入力型つまりインプット型) ← ここが滲む(にじむ)

CS5なのでフォント埋め込みが必要ですが、フォントを設定(MSP ゴシック,日本語,・・・など)
をしてもこの状態です。
他の文字列「Words」とか「179」はにじんでいませんが、SheetTitleのテキストフィールド文字列
だけこんな感じです。

SheetTitle内のテキストフィールド位置は(0, 0)なので滲まないようにしているのですが・・・
考えられる原因は何でしょうか?


271:Now_loading...774KB
12/02/13 20:32:02.28 KUOA6RJ2
滲みっていうか、単にアンチエイリアスがかかってるだけじゃねーの?

272:270
12/02/13 22:03:51.77 AhhPa0c+
>>271
さんきゅう。
デバイスフォントでOKでした。


273:Now_loading...774KB
12/02/14 12:01:31.66 imvGWgVk
AS2.0でダイナミックテキストにUIScrollBarを使っていて、テキストを「選択不可」にするとマウスホイールが使用出来なくなるんですが、良い解決方法知ってる方いませんか?
URLリンク(www1.axfc.net)

274:Now_loading...774KB
12/02/14 20:34:24.97 jJNmIoEx
AS3
画像(pngファイル)を読み込み、ボタンとして使いたい

[Embed(source = "../img/btnX.png")] private var _btnX:Class;
var btnX:Sprite = new _btnX() as Sprite;
btnX.x=100;
btnX.y=100;
addChild(btnX);

上記のコードを書いたのですが、実行するとbtnX.x=100;の行でエラーになり、
btnXの中身を見るとnullになっています
元々はBitmapクラスを生成して表示していたのですが、
BitmapクラスだとbuttonModeプロパティが無いためSpriteにしようとしてこうなりました。
ネットでもいろいろと調べたんですが、今ひとつ要領を得ません。
(BitmapをSpriteにするだけで良い、という記述も見かけたんですが今回の通りです)

どなたか教えて下さい。

275:Now_loading...774KB
12/02/14 20:41:37.45 9wqtRWSQ
初心者です。
Arrayを使って複数のインスタンスを格納した「arr1」を
別のArrayを使った「arr2」に格納できますか?
スプリクトの書き方を教えてください。
あと
Ver vec1 :Vector .<displayobject>=newVector.<displayobject>()と記述して
ムービークリップとテキストを一緒に格納したとき、
テキスト(moji)をmoji.text =“○○”で文字を表すことはできないでしょうか、
あとインスタンスによってはmouseEnableを使用すると、コンパイルエラーになります。

276:Now_loading...774KB
12/02/14 20:55:22.68 OU99ITjo
>>274
pngはBitmapで生成して、親としてSprite作ってaddChildしたら?

277:Now_loading...774KB
12/02/14 21:11:55.31 YKYzmDoG
>>274
その埋め込みはnewするとBitmapAssetとかいうほぼBitmapクラスになるから
as Spriteの時点でnullになっちゃう
なのでBitmapとして受けること
>>276でいいんじゃね
ちなみにBitmapとSpriteは親戚っちゃ親戚だけど直系じゃないから
BitmapをSpriteにするだけで良いという発想はありえないよ

>>275
Arrayをコピーする方法は無いのでループでひとつづつ入れなおす

vec1から出すときはDisplayObjectとして出てくるので
(vec1[i] as TextField).text = "○○";
のようにすれば可能(vec1[i]がTextFieldなら)
mouseEnabledも同様にInteractiveObjectのプロパティなのでDisplayObjectとして出した場合には設定できない

278:274
12/02/14 21:17:46.21 jJNmIoEx
>>276
出来ました!ありがとうございます!

279:274
12/02/14 21:19:08.04 jJNmIoEx
すみません、リロ忘れ…
>>277さんも丁寧にありがとうございました!

280:Now_loading...774KB
12/02/14 21:53:21.02 OU99ITjo
Arrarのconcat()でコピーできなかったかなと思って調べたら、浅いコピーは出来るみたいだな
中身が同じインスタンスを指すんでよければこれでいいんじゃね?

281:Now_loading...774KB
12/02/15 14:54:35.94 IGftIFeq
>>275
ArrayにArrayを入れられるか?という話なら普通に出来るが…。arr2.push(arr1);


282:Now_loading...774KB
12/02/15 16:45:29.75 LxmKkw/C
> new Vector.<displayobject>()
DisplayObjectなんかのプリミティブ型以外のオブジェクトなら通常のArrayでも
速度的には大差無いと思うんだけど実際のところどうなんだろな

283:Now_loading...774KB
12/02/15 19:26:38.22 FWjTH1OX
>>281
うまくいきません。
arr1をarr2に入れて、別のarr3にもarr1を入れてるからかな。

284:Now_loading...774KB
12/02/15 19:39:40.91 BhE6EVFB
>>283
出来ないわけないが、質問の意図が、
arr1に入れた要素全てをarr2に入れられますか?
ってことなら、やり方が違う。
arr1に入れた要素全てを取り出して、arr2に入れないといけない。

285:Now_loading...774KB
12/02/15 20:37:32.99 FWjTH1OX
例えばarr1にムービークリップを例えばa.b.cの3つのインスタンスを入れて、
arr2にはd.e.fを入れて、
arr3にはarr1とarr2を入れる。
Aボタンを押すとaを表示してb.Cを非表示に。
Bボタンを押すとdを表示してe.fを表示に。
このときa~f全部が別のボタンを押すと非表示になったり半透明になったりする動作をしたいのでarr3でまとめて指示したいのです。


286:Now_loading...774KB
12/02/15 20:44:57.70 BhE6EVFB
arr3にa,b,c,d,e,fを入れればよい。

Array#concat()を使ってもいけると思うが確認してくれ。

287:Now_loading...774KB
12/02/15 21:13:57.53 j6tOuJtE
>>285
arr1 = [a,b,c];
arr2 = [d,e,f];
ary3[0] = arr1;
ary3[1] = arr2;

ary3からaを参照するには、ary3[0][0]
ary3からfを参照するには、ary3[1][2]

これでどうだ

288:Now_loading...774KB
12/02/15 22:08:05.79 lXG89CQk
AS3のスクロール可能なテキストフィールドで質問(AIR1.5,CS4)。

例えば、あるMC内に800×600の縦スクロール付きテキストフィールド(TF)を設置し、これに1000行の
文章を流し込んだとした場合、自動的にTFが表示する行数を取得する方法ってありますか?

UIScrollBarクラスにはpageSizeプロパティがありますが、これは1ページ当たりの行数なので。

現段階では800×600の固定サイズですが、将来は随時変更可能してその時々の表示行数を
知りたいです。
※TFは折り返し無しでそのまま表示します。


289:Now_loading...774KB
12/02/15 23:04:15.54 NNKP89Lx
>>286
concat()で行けました。
ありがとうございました!!

290:Now_loading...774KB
12/02/15 23:25:13.17 NNKP89Lx
スイマセンもう1個だけ質問。
複数のインスタンスをベクターに格納する場合
var vector : Vector.< DisplayObject > = new Vector.< DisplayObject >();
vector.push(mc);

var vector : Vector.< DisplayObject > = new Vector.< DisplayObject >();
vector[0] = mc;
ではどっちで記述するのが正しいのでしょうか?

291:Now_loading...774KB
12/02/16 01:55:31.89 OqG0T3yN
どっちが正しいとかないが後者のほうが速いとは聞く

292:Now_loading...774KB
12/02/16 11:12:47.51 SteCjB9d
可変長なら前者と言いたいところだが、
Vectorを使いたい時点で固定長を意識した方が良い。

Vectorでpushを使う時は可変長であることを明示的にするような時かなぁ。
まぁおれルールだけど。

293:Now_loading...774KB
12/02/16 12:35:48.21 g876XNz4
>>291
>>292
あざす。
2つ目の記述でやってみます!

294:Now_loading...774KB
12/02/16 18:19:11.18 g876XNz4
インラインフレームみたいのって作れるの?

295:288
12/02/16 19:41:09.85 IOt2OXK2
すいません。誰か分かりますか?
要約すると、テキストフィールドサイズを 800×600 → 800×800 → 400×300 ・・・
とかで変化させた時の表示行数で、横方向のスクロールは常に設定しているので
各行が長くても水平スクロールで対処しています。



296:Now_loading...774KB
12/02/17 02:40:04.52 YCyJ7oYl
まじで?vec[0]、vec[1]、vec[2]とか書くの?
開発中にvec[1]が不要になったら、いちいちvec[2]をvec[1]に書き換えるの?なんかカルチャーショックだわ


297:Now_loading...774KB
12/02/17 02:46:08.00 SguoM0bg

pushでなくインデックス指定というだけの話だけど?

298:Now_loading...774KB
12/02/17 02:58:26.80 YCyJ7oYl
>>295
よくわからんし、試してないけど
URLリンク(livedocs.adobe.com) に

bottomScrollV 指定されたテキストフィールドの現在の表示範囲で最終行を示す整数です

ってのがあるけど
これでどう?


>>297
いや、分かってるけど

299:288
12/02/17 11:08:33.95 1fjEgm7M
>>298
さんきゅうです。
初期状態なら0から始まるのでbottomScrollVでも対処できますが、
スクロール途中では表示先頭行の番号が不明なので・・・
なんとかやってみます。


300:Now_loading...774KB
12/02/17 11:56:57.41 KEIXzgCy
>>296
Vector使う時って10個の配列扱う時とかじゃないでしょ?
ループを高速に処理したいからVector使うかってなるわけで、
そんなときはvec[i]とかそういうアクセスのしかたが普通でしょ。
もちろん開発中はずれることはあるだろうね。vec[i+3]になったりとか。

301:Now_loading...774KB
12/02/17 17:31:22.55 nDCWlPNW
>>299
scrollVとbottomScrollVの間が現在表示されてる範囲、と書いてあるが

>>300
えー。そもそも大量に固定長の配列が必要になるって、何?


302:Now_loading...774KB
12/02/17 18:28:23.80 p2jCZExJ
話題のVector使ってみたけどなかなか大変だな undefinedがエラーなのはいいとして
foo[ 0 ] = 10;
foo[ 2 ] = 100;//順番で設定しないとエラーて!
foo[ 1 ] = 1000;

303:Now_loading...774KB
12/02/17 18:44:33.05 KEIXzgCy
>>300
言ってることがわからんが、
パーティクルとかの画像処理を短い可変長で処理することなんか考えにくいんだが。
ある程度まとまった同じ物を高速に処理したいから(処理したい要望が多いから)、
ベース型固定の配列Vector<T>が追加されたわけだ。

たいした数も無いのにわざわざ制限の多いVector使う必要性を感じない。


304:Now_loading...774KB
12/02/17 18:47:47.74 KEIXzgCy
う、間違えた
>>303>>301

305:Now_loading...774KB
12/02/17 19:45:50.63 e9Df/ptL
Array・Vectorのことは
みんなに教えてもらってすこしづつ分かってきたんですが、
本で三つのムービークリップをArrayを使用して
回転させる例があったんですけど、
var nWidth :int=stage.stageWidth;
var arr :Array=[my0_mc.my1_mc.my2_mc];
mc_btn.addEventListener(MouseEvent.CLICK,BTA);
function BTA(event:MouseEvent):void{
for(var i : uint = 0; i <nLengt; i++){
var my_mc:MovieClip=arr[i]
my_mc.rotation+=5;
}}
これがよくわからないこと多くて。
var nWidth :int=stage.stageWidth;←よくわからない。

var arr :Array=[my0_mc.my1_mc.my2_mc];←よくわかる
mc_btn.addEventListener(MouseEvent.CLICK,BTA);←よくわかる
function BTA(event:MouseEvent):void{←よくわかる
for(var i : uint = 0; i <nLengt; i++){←全然わからない。
var my_mc:MovieClip=arr[i]←よくわからない。
my_mc.rotation+=5;←my_mcでまとめて指示出せるの!?
}}


var arr :Array=[my0_mc.my1_mc.my2_mc];
mc_btn.addEventListener(MouseEvent.CLICK,BTA);
function BTA(event:MouseEvent):void{
for each(var AAA:Object in arr){
AAA.rotation+=5;}}
だけだと思っていたんですがスイマセン教えてください!

306:Now_loading...774KB
12/02/17 20:17:32.09 S/ZZMj6I
>>305
for(var i : uint = 0; i <nLengt; i++){
これは、、、最初にiに0を入れて、iがnLengt未満の間はループして、毎ループ最後にi++するって命令
今回の場合、nLengtは3だから、iが0~2の間だけループする

だから、for eachで書くなら
for each(var my_mc:MovieClip in arr){
my_mc.rotation+=5;}}
と同じ

nWidthはそのソース内で全く使ってないな


307:Now_loading...774KB
12/02/17 20:18:58.14 S/ZZMj6I
>>303
いや。うん。だから、長い可変長で使うのが普通だよね
>>292が「Vectorは固定長を意識」とか言ってるから、それに対してレスしてるんだけど


308:288, 299
12/02/17 20:28:14.13 L5yN7HP6
>>301

(´・ω・`) ゴメンチャイ。見落としていた。


309:Now_loading...774KB
12/02/17 20:31:12.17 +5zzT17q
Vectorは密な配列だから速いけど挿入や削除の処理が重くなる
fixedなんてプロパティがあるくらいだしな
とはいえ、万単位の長さで処理くらい行かないと体感できるほどの差は出ないだろうけど

310:Now_loading...774KB
12/02/17 20:36:28.18 KEIXzgCy
>>307
え?可変長にしたときってのが…具体的に言うとpush自体をやりたくないんだけど。
URLリンク(help.adobe.com)

>Vector のサイズが時間よりも先に指定されない場合、Vector の容量が不足すると、サイズが増えます。
>Vector のサイズが増えるたびに、メモリの新しいブロックが割り当てられます。
>Vector の最新の内容がメモリの新しいブロックにコピーされます。
>データを余分に割り当てて複製することにより、パフォーマンスに影響があります。
>上述のコードでは、Vector の初期サイズを指定することでパフォーマンスが最適化されています。
>ただし、コードの保守性は最適化されていません。保守性も改善するには、再利用された値を定数に保存します。
俺の勘違いかと思って調べちゃったよ。

俺の主張は最初から、Vectorを利用する時点でパフォーマンスが気になってるんだろうから、
パフォーマンスに影響ある可変長の利用をやめておこうってことだ。

311:Now_loading...774KB
12/02/17 20:37:40.43 KEIXzgCy
>>309
100x100で万オーダーだよね。

312:Now_loading...774KB
12/02/17 20:48:16.98 4bug8P+G
うーん難い…。勉強不足スイマセン。
全部まとめて指示出すときは
>>306
for each(var AAA:MovieClip in BBB){○○○○○○;}のカタチで問題ないってこと?
あと例えばさっきの記述でムービークリップ1個だけに指示出すなら
var my_mc:MovieClip=arr[1]みたいな記述したほうがいいのですか?
質問トンチンカンかもしれませんが教えてください。
my_mc.rotation+=5;←my_mcでまとめて指示出せるのはArrayで格納してるから?

313:Now_loading...774KB
12/02/17 21:13:06.07 ccaQv1M3
>>305
>var nWidth :int=stage.stageWidth;
これはstageのstageWidthを取得する毎にわざわざstageから値を参照するより
一度変数に保持してその値を使う方がパフォーマンスがいいとされてるから
これが使えるのは「何度参照しても必ず同じ値が返ってくる」事が前提
ただ今回は>>306が書いてるように使ってないから意味がないけど

>var my_mc:MovieClip=arr[i]
これも同じような理由
でもFP10.1ぐらいから配列アクセスのパフォーマンスが改善されてるから
やってもやらなくてもいいと思う

Vectorの重要なところは指定した型以外の値が代入されない事が保証されてる事だと思う
仮に間違えてarrに数字を入れた場合Arrayだとmy_mc.rotation+=5;を実行した時に
初めてエラーになるけどVector.<MovieClip>ならそもそも数字が入らないから
null以外のチェックは不要になる

314:Now_loading...774KB
12/02/17 21:33:36.38 S/ZZMj6I
>>310
うーん。だから、設計思想の違いでしょ
ループなんか画面描画に比べたら微々たるものなんで、保守性を考えたら無視しちゃうね、って


315:Now_loading...774KB
12/02/17 21:37:34.08 4bug8P+G
>>313
あざす。なんとなく分ってきました 。

ちなみに例えばムービークリップaとbとc、ボタンAとBとCがあって。
Aを押すとa表示 b.c非表示、
Bを押すとb表示 a.c非表示、
Cを押すとc表示 a.b非表示したいとき、

a.b.cをArrayで格納して(arr1に格納)
Aを押すとarr1非表示 a表示
Bを押すとarr1非表示 b表示
Cを押すとarr1非表示 c表示みたいにできるのは分ったんだけど

A.B.CもArrayで格納して(arr2に格納)
arr2を押すとarr1非表示 を最初に記述しといて
Aを押すとa表示
Bを押すとb表示
Cを押すとc表示みたいにしたほうがいいんですかね

基本的にスプリクトはできるだけまとめたほうが
パフォーマンスがよくなる?記述を短く分りやすくするため?
上の3パターンだったら結局処理作業は一緒なのですか?
またはもっといいやりかたがある?

316:Now_loading...774KB
12/02/17 22:01:39.51 S/ZZMj6I
うーん。最後のが良いんじゃない?

俺ならボタンにムービークリップへの参照を持たせちゃうかな
言ってる意味わからないかも知れないけど

317:Now_loading...774KB
12/02/18 00:00:36.74 HDvxo8mQ
>> 314
ちがうなぁ、設計思想より後のチューニングレベルの話。

>ループなんか
これを本気で言っているのならびっくりするが。
ループの中で描画する要素なんかいくらでもあるだろ。

>ループなんか画面描画に比べたら微々たるものなんで
ここを考えて設計思想で語るなら、
微々たるような場合にVectorを使う選択をしないとなるな。
Arrayで十分と。>>313が言うような仮に間違えた場合ってのがあったとすると、
それは設計がまずいって事になる。

>>315
俺も最後のやり方を選択するだろうなぁ。
ボタンの役割がそれしかないなら、ボタンのイベントハンドラは一つにまとめてしまう。
最初にすべて非表示にして、イベントのソースがAならa表示っていう風に。


318:Now_loading...774KB
12/02/18 01:20:01.81 88fQmfvS
>> 317
for each(var element1:Object in arr1){
element1.addEventListener(MouseEvent.CLICK,element1BTA);
function element1BTA(event:MouseEvent):void{
for each(var element2:Object in arr2){
element2=false;
}
}
}
こんな記述でOKですか?

度々の初心者質問ですいません。
ボタンを押すスプリクトのときじゃなくて、
element1.element2を最初に設定できておける?
例えばarr2を別のボタンで非表示にするときは
そのつどfor each(var ○○○:Object in arr2){○○○.visible=false;}
で表示しなければならない?arr1もしかりで


319:Now_loading...774KB
12/02/18 02:51:11.72 HDvxo8mQ
>>318
途中から混ざったので混乱させると申し訳ないが、
>>315での質問をベースに考えると、
・ボタンが押されたら、a,b,c非表示処理
・ボタンを判別して一つを表示
と考えられる。

> ボタンを押すスプリクトのときじゃなくて、
> element1.element2を最初に設定できておける?
これはできる。
btnA.addEventListener(MouseEvent.CLICK,clickHandler);
こんな感じで、ほかのボタンについてもやればいい。そのあとに、clickHandlerの中身で、
function clickeHandler(event:MouseEvent):void {
// 全要素非表示
for each(var elm:Object in arr1) {
  elm.visible = false;
}
// ボタンに対応する要素を表示
var clickedBtn:Sprite = event.currentTarget as Sprite;
clickedBtn.visible = false;
switch ( clickedBtn ) {
 case btnA:
  a.visible = true
  break;
 case btnB: //以降略

こんな感じでいけると思うが。書いてて、引数を渡してしまうほうがいいことに気づいたがまぁこっちを理解してくれ。

320:Now_loading...774KB
12/02/18 21:11:41.39 teRRq7Cr
>>319理解できぬー。
>>318みたいなやり方はあまりよくないですか?
    

321:Now_loading...774KB
12/02/18 21:36:45.79 Lkc19fcT
>>320
一個一個よんだらわかるだろ

322:Now_loading...774KB
12/02/18 22:27:20.41 3YkaDqya
やり方の良し悪しとか聞かれてもな
動くなら何でもええがな


323:Now_loading...774KB
12/02/19 00:28:55.69 yeBKkr9h
>>322確かに。
スプリクトをまとめられる方法が
あったら活用したいなと思って。
今こういうのできないかなと思っているのは
ABCの3つのインスタンスをそれぞれ
マウスが上にきたとき半透明になって
マウスが外れたら元に戻るようにしてるんですけど
これも一括で指示できたらなと
>>319理解できたらできそうですかね?



324:Now_loading...774KB
12/02/19 10:56:59.05 GNL5xJF/
>>319少しTargetのこと理解しました。
>>323だったら、Target利用すると
Arrayでムービークリップを格納しなくても
ABCを親インスタンスMATOMEとして設定して
MATOME.addEventListener(MouseEvent.MOUSE_OVER,matome1);
MATOME.addEventListener(MouseEvent.MOUSE_OUT,matome2);
function matome1(eventObj:MouseEvent):void {
eventObj.target.alpha=0.5;
}
function matome2(eventObj2:MouseEvent):void{
eventObj2.target.alpha=1;
}
みたいな感じでできました。

325:Now_loading...774KB
12/02/19 18:26:03.76 f8M6VGgs
Flash Builder 4.6/Windows7です。
s:Imageを使ってmxmlにswfを埋め込んで表示すると、スタンドアロンFlash Playerで読み込んで
ウィンドウを拡大したときにビットマップを埋め込んだときみたくジャギーが出てしまいます。
直接swfを読み込んで拡大するとシェイプなので当然スムーズな拡大ができるのですが、
mxmlに埋め込んだ状態でも同じ状態にするにはどうすればよいのでしょうか?

326:Now_loading...774KB
12/02/19 23:13:51.62 DmeOPZ/t
>>325
UIComponentを継承したクラスを作ってそこに埋め込んで内部でインスタンス化→addChildするとか
んでmxmlに作ったクラスをタグで書く

327:Now_loading...774KB
12/02/20 03:47:51.30 u7ALn6Bw
AS3でのXMLで質問です。

MCのswapChildrenみたいな感じでノード(要素)の順番入れ替えはどうやれば
簡単にできますか?
個別の参照は簡単に出来ますが、列挙する際や全体を見渡す際に順番が重要なので。
ヘルプを見ましたが、insertChildAfterやinsertChildBeforeは挿入のみでした。


328:Now_loading...774KB
12/02/20 09:14:36.01 tqhvBSLI
AS3です
HogeからFooをnewし、FooコンストラクタからそのままBarをnewしようとすると、
「引数の数が正しくありません。1 個以下であることが必要です。」
と出るのですが、コンストラクタからのインスタンス化はよくないのでしょうか

329:Now_loading...774KB
12/02/20 09:53:11.05 XuPCcF8d
なわけねえだろ
親切にコンパイルエラーの原因書いてくれてるのにガン無視かよ

330:Now_loading...774KB
12/02/20 10:39:06.49 tqhvBSLI
>>329
ありがとうございます
Barの引数をいくつにしてもそう出るんです
例えば、Barの引数を3つにして、Fooから1つ以下を渡せば、エラーは出ません
逆に、HogeからBarをnewすれば(コンストラクタじゃない位置から)、
「引数の数が正しくありません。正しくは 3 です。」と出てくれます

331:Now_loading...774KB
12/02/20 13:11:26.24 yqyk706o
>>327
AとBがあったらAを参照した値A一時変数に入れといてBをAにコピー その後変数をBにコピー
という自作関数作ればおk

>>330
コンストラクタと呼び出し側の引数の数合ってないとだめだろw
不特定多数の引数にしたいなら
pubkic function Foo( ...ary ){
trace("1個目の引数:"+ary[ 0 ]+"  2個目の引数:"+ary[ 1 ]+"  3個目の引数:"+ary[ 2 ]);
みたいな感じでがんがれ

332:Now_loading...774KB
12/02/20 13:12:33.57 yqyk706o
pubkic じゃなくて publicなw

333:Now_loading...774KB
12/02/20 13:43:25.41 ce4zyWnj
再現するクラスのコード見せてみ。噛み合ってないわ。

334:Now_loading...774KB
12/02/20 14:54:49.96 tqhvBSLI
>>333
すみません、newがなかっただけっぽいです・・
テストということで、戻り値を受け取ってなかったのがダメでした

>>331
可変個引数ですが、まだまだ遠い道です・・

package{
import flash.display.*;
import hoge.*
public class Main extends flash.display.Sprite{
public var hoge_:Hoge;
public function Main(){
hoge_ = new Hoge();
}}}

package hoge{
public class Hoge{
public function Hoge(){
HogeOne(1, 2, 3); //←newがない
}}}

package hoge{
public class HogeOne{
public function HogeOne(h1:int, h2:int, h3:int){
}}}

335:327
12/02/21 07:31:32.75 dLQZS1YQ
>>331
やっぱそういう方法に落ち着くのですね。


336:Now_loading...774KB
12/02/21 12:24:52.20 6Qa4wvjV
>>314
このループなんかって書いてる奴はホントに思ってるのかな?
ループの中でbitmapdata触ったりしないんだろうか??

337:Now_loading...774KB
12/02/21 14:54:41.75 ePNvSvPU
FlashProとBuilderの連携で困ったことがあったので質問

BuilderだとコードヒントでremoveChildrenが出てくるんだけど
Proの方でswf書きだそうとすると
#1069: flash.display.Sprite にプロパティ removeChildren が見つからず、デフォルト値もありません。
が出てしまう。
ライブラリパスはどっちも同じように設定してるはずなんだけど・・・
removeChildrenってFP11のplayerglobal.swcに入ってる・・・で間違ってないよね?

338:Now_loading...774KB
12/02/21 15:20:56.94 vQq6hp4a
何をどうやったかしらんけどここみれ。
URLリンク(cuaoar.jp)
ライブラリパス設定しても無駄だから。

339:Now_loading...774KB
12/02/21 16:28:48.33 ePNvSvPU
ありがとう 試してみる

340:Now_loading...774KB
12/02/21 16:47:31.45 ePNvSvPU
ExtensionManagerが管理者権限で起動しても権限どうたらこうたら出てしまうので、
できるまでremoveChildrenやら使わない方向で行きます・・・

341:Now_loading...774KB
12/02/22 00:32:42.80 3hHo2Jqu
removeChildrenなんてなくてもいいだろ
Stage3D使わないのにターゲットをFP11にする意味はないな

342:Now_loading...774KB
12/02/22 00:49:07.55 Tf4jVTsr
>>336
いや「ループ自体」は速くなるんだろうけど、その中のdrawに掛かる時間は一緒でしょ?


343:Now_loading...774KB
12/02/22 08:04:54.01 oirG2aPR
>>341
問題の焦点そこじゃない

344:Now_loading...774KB
12/02/22 12:28:04.09 979q3B4N
>>342
ループ自体が早いって話はなに?

ArrayよりVectorのほうが高速に要素にアクセス出来るっていう話が前提で、
描画時間にくらべれば、要素にアクセスする時間なんか無視できるぐらい小さいっていってんの?



345:Now_loading...774KB
12/02/22 13:02:16.19 oX4oxnAi
Flashライブラリを作っているんだけど、ちょっとした便利関数を作る場合
・カテゴリごとにパッケージ作って丸裸の関数を入れるか、
・それともカテゴリごとにクラス作ってstaticメソッドとして実装するか
どっちの方が良いのだろうか?Adobe的にはどっちのやり方を推奨しているのかな

346:Now_loading...774KB
12/02/22 13:05:00.14 qhKKZGjt
チェスやオセロなんかの大量の単純計算ならArrayとVectorで速さに明確な差が出るが
比較的重い描画系処理ならたいして変わらないって話じゃない?

347:Now_loading...774KB
12/02/22 13:08:46.30 qhKKZGjt
>>345
推奨なんか特に無いお
便利関数ならカテゴリ云々はわからんがstatic実装だろうな~
複数インスタンスなんかめったに利用しないだろうしstaticの方が速い

348:Now_loading...774KB
12/02/22 13:22:04.90 oX4oxnAi
>>347
いや、ウチが言いたいのは
package 大カテゴリ.小カテゴリ{ public function 便利関数():void{...} }
か、あるいは
package 大カテゴリ
{
 public class 小カテゴリ{ public static function 便利関数():void{...} }
}かなんだが……。
static実装には同意

349:Now_loading...774KB
12/02/22 13:42:30.91 meU+M1II
コミュ障ばっかだなあw

350:Now_loading...774KB
12/02/22 13:59:31.87 979q3B4N
>>346
そういう話ならわかるが、そもそもこの話のもとは>>292からはじまってて、
同じ人かわからないけど、
>>301
>えー。そもそも大量に固定長の配列が必要になるって、何?
とか質問があるわけよ。
>>300
>ループを高速に処理したいからVector使うかってなるわけで、
って所が前置きとしてあるのに、
>>301
>えー。そもそも大量に固定長の配列が必要になるって、何?
って…。
100x100x100のループとか普通にやるけどな。
ある一定の配列アクセスが発生するなと思った場合、
固定長Vectorで宣言することでパフォーマンスが稼げるから固定長になるだけなんだが。

FPS稼ぐとかそういったことやる必要が無い人には意識することが無い事なのかな??

可変長であることが確定してる、もしくは動的にしか配列長が決まらない場合は
素直にArrayを使えば良いだけで、
ジェネリック型としてVectorを使いたいってだけで、Vectorでpush使いまくってたら、
そのたびに内部的に再構築されてArrayより遅くなることがわかりきってるわけよ。
保守性とか言ってたけど、型固定で代入時にコンパイラチェックされることが重要とは
とても思えない。Arrayで作ったときに「うっかり」別の型のものを代入する?
宣言時などはあっても、ループ内では考えにくいがなぁ??

最初から使いどころの話をしているわけで、
保守性考えたらVectorを固定長で使わないっていう主張がまるで理解できない。

351:Now_loading...774KB
12/02/22 14:25:53.38 meU+M1II
型が不定なのがクソキモいって人もいるんじゃないの?
君がVector可変で使うのがクソキモくて理解できないのと同じで。

352:Now_loading...774KB
12/02/22 14:28:00.20 meU+M1II
目的が速度だったらpushしてるのはアホだろうけど、必要感じてないらしいからね。

353:Now_loading...774KB
12/02/22 14:48:40.70 xEPG2eul
pushって遅くなんの?
どれくらい?


354:Now_loading...774KB
12/02/22 15:00:06.86 xEPG2eul
2乗するのにビット演算の方が速い、みたいな「根本原理」的な話?


355:Now_loading...774KB
12/02/22 15:01:45.08 xEPG2eul
ageてスマン

356:Now_loading...774KB
12/02/22 15:16:44.77 xEPG2eul
何度もスマン。自分で測ってみたから質問下げる

357:Now_loading...774KB
12/02/22 15:45:42.66 979q3B4N
>>351,352
そういう人も居るだろうけどね、Arrayってもともとそういうものだよ??
型固定じゃないとイヤなのに、intとかプリミティブ型で宣言したのに、Booleanをpush出来てしまう
暗黙的型変換が許容できるのがクソキモイ。

必要感じてないのにVector使うのは俺には理解できない。
pushで最大サイズの拡張が行われたら、Arrayより遅くなるのに。

>>353
いまテストしてみた。100万の配列アクセスの場合。
最悪Arrayの4倍遅い
固定長(Fixed)の20倍
URLリンク(wonderfl.net)



358:Now_loading...774KB
12/02/22 15:48:06.30 979q3B4N
テストしたんか…俺の20分返せ!w

359:Now_loading...774KB
12/02/22 18:19:47.27 VgwNTH2O
俺のいる板だと会話がすぐ煽り合いになるが
マは平和でいいわ


360:Now_loading...774KB
12/02/22 18:34:28.92 3hHo2Jqu
>>350
型決定による速度向上と補完による効率があるからぜんぜんちがうよ
pushで使おうがArrayのpushより速いんだし意味ないわけないじゃない

361:Now_loading...774KB
12/02/22 18:38:48.95 3hHo2Jqu
ああArrayのpushより遅い場合があるのね
失礼

俺は補完(だいじ まあArrayでもできなくはないけど)と型決定があるから常にVectorを押すよ
push使おうが遅くなるのは出し入れする時だけなんだから、読むときはArrayより速いわけじゃん

ネイティブでArray使わされる場合(filterなど)以外はVectorつかうよん


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch