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


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

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



1 名前:Now_loading...774KB [2008/07/08(火) 15:08:44 ID:37ODdv7N]
AcitonScriptのことなら
初歩的な質問でもなんでもおk

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

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

前スレ
ActionScript 誰かが物凄い勢いで解答するスレ 19
pc11.2ch.net/test/read.cgi/swf/1205361771/
関連スレ
Flashの超基本的な質問はここでしろ! part37
pc11.2ch.net/test/read.cgi/swf/1202144062/l50
Flash製作初心者の質問スレッド レイヤー38
pc11.2ch.net/test/read.cgi/swf/1202151748/l50

108 名前:Now_loading...774KB mailto:sage [2008/07/23(水) 09:55:44 ID:oqQeDPIW]
>>107
flex-config.xmlの記述ミスではないでしょうか?
参考までに自分のxmlのsource-path部分をコピペしときます.
<source-path>
<path-element>C:\Program Files\FlashDevelop\FirstRun\Library\AS3\frameworks\FlashCS3</path-element>
</source-path>


109 名前:Now_loading...774KB [2008/07/23(水) 10:21:19 ID:IjIxoyvR]
>>108
FlashDevelopのインスト先が同じなのでそのままコピペさせて貰ったんですがやはりエラーが出てしまいます。
現在SDKのバージョンは3を使用していたので、2でやってもみましたが結果は同じでした。

>>107のエラー箇所は
public static function start (content:MovieClip,
              ^
(↑startの所)
となっていて、同じようなエラーが大量に出ています。


ハマりすぎて仕方ないのでflパッケージを諦めて別の方法で作成することにします。
回答ありがとうございました。


110 名前:Now_loading...774KB mailto:sage [2008/07/23(水) 20:31:43 ID:IWw5Vdke]
>>98

っ transform.matrix

111 名前:Now_loading...774KB mailto:sage [2008/07/24(木) 22:17:04 ID:LKk+wmbL]
FlashCS3ProのAS3で質問します。

package {
import flash.display.MovieClip;
public class cMain extends MovieClip {
var strAry:Array;
public function cMain():void {
strAry=new Array("nnn","hoge","hoge");
}
function cStr():String{
var str:String;
str = strAry[0];
trace(str);
return str;
}
}
}

根本的にオブジェクト指向ってのが判ってないという者です・・・
cStr()で上で設定したstrAryの中身をいじりたいんですけど、どうやればいいんでしょうか?
他の外書きクラスからcMain.cStrって呼び出して使いたいのです。
(実際にはstrAryにはRSSのパースしたのが入ってます。)

112 名前:Now_loading...774KB [2008/07/24(木) 22:19:39 ID:LKk+wmbL]
ようするにstr = strAry[0]; をしたいって事です。


113 名前:Now_loading...774KB mailto:sage [2008/07/24(木) 23:40:05 ID:9YFGAhAX]
第34回 HTMLからFlashムービーに変数を渡してみよう:ITpro
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20061206/256146/

この解説ページのようにHTMLのフォームからSWF内に変数を使って文字列を送りたいのですが、
上記はAS2での解説で、AS3だとうまくいきません(FlashCS3を使用しています)
どこを変えればAS3でも動くようになりますでしょうか? お願いします

114 名前:Now_loading...774KB mailto:sage [2008/07/24(木) 23:44:44 ID:GCBaMxUl]
>>111-112
クラス定義の内側で宣言した変数はメンバ変数と言われ、
基本的にクラス内のメソッドからは自由にアクセスできます
var strAryの前にそれぞれ、クラスの外部からもアクセスしたいならpublicを、
内部からのアクセスだけでよいならprivateを付けましょう

115 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 00:16:55 ID:GMMixAZ6]
>>114
ありがとう。

116 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 10:18:43 ID:VnVDP8gP]
>>114
ばかっ!外部から参照したいだけならprotectedだろっ!ばかっ!



117 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 10:26:46 ID:2orjErp2]
落ち付いてマニュアル読み直せw

118 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 11:10:12 ID:eDPjqEov]
as3でAccordionコンポーネントを使用する方法ってりますか?
普通に考えて無理だと思うし、調べてみても無理っぽい記述しかないが…。
明確な回答は見つかりませんでした。

よろしくお願いします

119 名前:Now_loading...774KB [2008/07/25(金) 14:25:36 ID:Gb723wB/]
AS3で質問します。
function clicked(event:MouseEvent):void {}
というクリックイベントで呼び出す関数があります。

同じ関数をタイマーイベントでも呼び出したい時に()の中の
Event:○○○をどう書いたら良いんでしょうか?
同じ内容の関数を
function timerHandler(event:TimerEvent):void {}と書いてますが。
なんか違いますよね?




120 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 14:52:27 ID:2orjErp2]
>>119

function clickAndTimerHandler(event:Event){
trace(event.type)
}

みたいにEventクラスで受けて、必要ならばtypeの値でどんなイベントかを
判定すればいいんじゃないかな?

121 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 15:12:50 ID:Gb723wB/]
>>120
ああ、なるほど・・・
すげえ助かった。ありがとう。

122 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 15:48:00 ID:LWrSDg+Y]
//Main.as
package{
 import flash.display.Sprite;
 import flash.text.TextField;
 import flash.text.TextFieldAutoSize;

 public class Main extends flash.display.Sprite{
  public function Main():void{
   var sub:Sub = new Sub();
   addChild(sub);
}}}

//Sub.as
package{
 import flash.display.Sprite;
 import flash.text.TextField;
 import flash.text.TextFieldAutoSize;

 public class Hoge extends flash.display.Sprite{
  public function Sub():void{
   var tf:TextField = new TextField();
   tf.text = "Hoge";
   tf.autoSize = TextFieldAutoSize.LEFT;
   addChild(tf);
}}}

AS3です。
なぜ、文字を表示するのにaddChild(sub)をする必要があるのでしょう。
Subで既にaddChildを行っているのでそれだけで十分だと思うのですが。
Subで音楽を鳴らす場合は、addChild(sub)をしなくても鳴らせます。

123 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 15:49:43 ID:VnVDP8gP]
>>117
僕が悪かったですごめんなさい

124 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 15:50:24 ID:LWrSDg+Y]
すいません、↓のHogeはSubです。
public class Hoge extends flash.display.Sprite{

125 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 16:24:39 ID:Gw/20vnf]
>>122
例えば
Subというウィンドウにテキストが表示されてても、そのウィンドウが画面に表示されてなければテキストは見えないでしょう?

音楽は、その音楽を鳴らしているウィンドウが存在していれば、画面に見えて無くても聞こえるでしょう?


分かりづらいかな・・?w

126 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 17:54:37 ID:LWrSDg+Y]
>>125
ありがとうございます。
package(class)の違いで、別ウィンドウが存在するんでしょうか。
音楽の方はなんとなく分かりました。



127 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 19:02:12 ID:c6UsrShW]
表示域は常にひとつです。トップレベル、この場合Mainがその表示域のベースとなります。
表示域とは演劇でいうステージです。意図的に照明(visible)を切り替えない限り常に見えます。
addChildはこのステージに背景や演者を設置する手段です。
newで生成した段階ではまだ舞台袖にいる段階で、ステージ上にはいないので見えません。
しかし音楽はステージ上にいなくても聞こえますよね。

さて、次に文字ですが、この場合Subを木、文字を木の実として考えましょう。
木の実を木に対してaddChildすると、木には木の実が配置されます。
しかし木自体がまだ舞台袖にあり、ステージ上に無いので見えません。
木(Sub)をステージに設置(addChild)して、初めて木の実もステージに登場するわけです。

128 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 20:09:06 ID:LWrSDg+Y]
>>127
ありがとうございます。
なるほど、すごく分かりやすく理解できました。

129 名前:Now_loading...774KB mailto:sage [2008/07/26(土) 00:23:47 ID:l/QqDgBv]
AS3swfファイルを起動すると、まず、
スタートパッケージのコンストラクタの処理をするのは分かったのですが、
その後、プログラムの位置はどこにある状態なのでしょう。
C言語のwhile待ちやWin32APIのGetMessageに当たるものです。

スタートパッケージの始めの部分で待っていて、
マウスが押されたりすると、スタートパッケージ内に
mouseDownHandlerなどが無いか探し、
無ければまたスタートパッケージの始めの部分で待っている感じでしょうか。

130 名前:Now_loading...774KB mailto:sage [2008/07/26(土) 00:53:58 ID:6N/EnPDD]
イベントドリブンを理解しましょう

131 名前:Now_loading...774KB mailto:sage [2008/07/26(土) 01:09:41 ID:dygQBh9z]
>>129
他の言語から移ってくると気持ち悪く感じるかもしれないけど
メインのループ処理は完全に隠蔽されてる
あえて言うなら FlashPlayer の中だけど
普通の開発者はそれを意識する必要が全くない

もしスレッドループ的なものが必要なら
Event.ENTER_FRAME や Timer のイベントを使う



132 名前:Now_loading...774KB mailto:sage [2008/07/26(土) 07:33:41 ID:l/QqDgBv]
ありがとうございます。

>>130
Win32APISDKと比べると↓な感じでしょうか。
スタートパッケージ == コールバック関数
スタートパッケージコンストラクタ == WM_CREATEメッセージ
addEventListenerで登録した物 == WM_LBUTTONDOWNなどの各メッセージ

>>131
普通の開発者はそれを意識する必要が全くない
というのはなんとなくは分かっていたんですけど、
new、addChildしたものが開放される(する)タイミングが分からなくて、
プログラムの流れが気になりました。

133 名前:Now_loading...774KB mailto:sage [2008/07/26(土) 13:40:41 ID:gkEZz+dm]
>>132
イベントドリブンやGCなんてのはActionScript固有のものでもないし、
どちらかというと最近では主流になりつつあるものだから、
そっちについて個別に学んだ方が理解が深まると思うよ。
C使いだったならC#と比較してるサイトいっぱいあると思うから。

134 名前:Now_loading...774KB mailto:sage [2008/07/26(土) 14:45:54 ID:l/QqDgBv]
>>133
ありがとうございます。
なるほど、C#を少しかじって理解を深めたいと思います。

135 名前:Now_loading...774KB [2008/07/26(土) 23:12:25 ID:ujU4TWfq]
1・外部XMLファイルをプログレスバーを表示してローディング→2・Tweener等を使ってサイト名表示等のアニメーション演出→3・XMLファイルデータを元に外部jpgを読み込み表示

といったflashをタイムラインを使用せずAS3で作成してあり、2の処理中に3へ処理をスキップする機能を持つスキップボタンを付けたいと思っているのですが
どのように考えれば良いかが上手くつかめません、2のスクリプト処理中の流れを割り込み(2で作られた演出用のスプライト等を削除し)3へ移動させる?というのは
どういった処理を行えばいいのでしょうか?

136 名前:Now_loading...774KB [2008/07/28(月) 16:32:11 ID:VNCXamqf]
as3です。
同一ディレクトリ内にある別のasファイル(VideoLoader.as)の中の変数(_hoge:uint)を
別クラスのBtnsClass.as内のスクリプトで、「参照&書き換える」には、
どのようにしたらいいでしょうか。

VideoLoader内でpublicで変数を宣言しています。
BtnsClass内のコンストラクタです。
VideoLoader._hoge = 5; では駄目でした。
VideoLoader._hogeにも型宣言するのはおかしい気がするし、
publicで指定しているのになぜアクセスできないのか、、、
かなり悩んでます。




137 名前:Now_loading...774KB mailto:sage [2008/07/28(月) 17:44:22 ID:SuSWJ2Co]
AS3で静的コンストラクタみたいな
使い方ができるものがありましたら教えてください。

138 名前:Now_loading...774KB mailto:sage [2008/07/28(月) 18:09:46 ID:1fUSat/w]
>>136
livedocs.adobe.com/flash/9.0_jp/main/00000064.html#wp909014

>>137
www.trick7.com/blog/2007/01/07-082232.php

139 名前:Now_loading...774KB [2008/07/28(月) 19:09:09 ID:QYVJsqYm]
マスクの下にあるムービークリップにattachMovieしたオブジェクトがマスクされません
回避方法としてはどういうものがありますか?




140 名前:Now_loading...774KB mailto:sage [2008/07/28(月) 20:13:36 ID:Gexl2UAW]
aaa.swf内でbbb.swfをloadVariablesで読み込んでいるんですが
bbb.swfで記述しているsendAndLoadに対するonLoadイベントが発生しない状況になっています。

bbb.swfを単体で表示させるときちんとonLoadイベントは発生しているのですが
なにか問題があるのでしょうか?
またonLoadイベントが発生していないだけで表示は問題ありません。

aaa.swf内
_root.loadVariables("../menu/menu.txt");←これにbbb.swfパスが書いている
こんな感じです
&content1=../menu/bbb.swf&

bbb.swf内
var send_lv:LoadVars = new LoadVars();
var recv_lv:LoadVars = new LoadVars();
recv_lv.onLoad = function(){←aaa.swf経由で表示させると、こいつが走らない
trace("data");
};
send_lv.sendAndLoad("aaaaa.com/zzzzz.php",recv_lv, "POST");
どなたかすみませんが教えて頂けませんでしょか

141 名前:Now_loading...774KB mailto:sage [2008/07/28(月) 21:35:54 ID:TxBAy1NH]
var senddata:URLVariables = new URLVariables();
senddata.cmd = "cmd";
senddata.key1 = "001";
senddata.key2 = "002";
trace("##########: "+inkdata.toString());

とやったとき、traceの結果がころころ変わります。

cmd=cmd&key1=001&key2=002
だったり
key1=001&cmd=cmd&key2=002
だったり。

毎回
cmd=cmd&key1=001&key2=002
とサーバー側で受け取る方法ってないですかね?

142 名前:Now_loading...774KB mailto:sage [2008/07/28(月) 23:17:43 ID:XO5DuyEj]
as2で作ったswfをas3で読み込んだらloader.contentがnullになってしまいます・・・
これってどうすればいいんでしょうか
ちなみにas2のflaファイルはもうないんです

143 名前:137 mailto:sage [2008/07/29(火) 00:22:15 ID:Z0cq8PeP]
>>138
ありがとうございます。

144 名前:Now_loading...774KB mailto:sage [2008/07/29(火) 00:58:41 ID:S+kplSAU]
>>140
そもそもbbb.swfはどうやってロードしてるの?

145 名前:Now_loading...774KB mailto:sage [2008/07/29(火) 09:26:28 ID:DZacUpsR]
>>139
マスクはどうやって作ってるの?
attachMovieは正の深度だよ
>>142
fla無いならAS3への移行できんからAS2で読み込んで処理する

146 名前:Now_loading...774KB mailto:sage [2008/07/29(火) 17:29:01 ID:Np3YCmwO]
質問です。環境:AS3, Flex3
Q:デフォルト値が設定されている引数が複数あるとき、n番目の値だけ指定して、他を省略する事はできますか?

例:function fの呼び出しでarg4の値だけ指定したい
function f(arg1:int=0, arg2:int = 1, arg3:int = 3, arg4:int = 4):void
{
trace(arg1,arg2,arg3,arg4);
}

VBのCall f(arg4:=40)みたいなことは出来ないでしょうか



147 名前:Now_loading...774KB mailto:sage [2008/07/29(火) 19:06:49 ID:3ZXx5RAK]
>>146
argumentsオブジェクトを使うといいかも。

148 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 13:04:03 ID:/jifwed9]
AS3です。
addChildの反対のdeleteChildみたいなのがありましたら教えてください。

149 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 15:13:37 ID:cdPPc+ee]
>>148
removeChild
答えた代わりに一つ聞きたいんだけど、この程度のことググった方が早くない?
どうしてわざわざ聞こうと思ったの?煽りとかじゃなくて。

150 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 15:29:53 ID:/jifwed9]
>>149
ActionScript3 + addChild + (反対 or 開放 or deleteChild)
あたりではググっていたのですが見つけられませんでした。

また、newに対するdelete、コンストラクタに対するデストラクタ
がない(行われるタイミングが分からない)というのもあって、
addChildの反対のものも無いのでは
という気持ちがいけなかったのかもしれません。

151 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 16:28:12 ID:cdPPc+ee]
なるほどね。とりあえず今後はLiveDocsのリファレンスガイドを活用するといいよ。
すべてのクラスとそのメソッドについて一覧と説明があるから、
そこを順番に見ていけば基本的なことの大半は解決するはず。

それからGoogleも単なる道具だから、使う側が工夫する必要もある。
「ActionScript3」の部分でAS3の情報に絞ったつもりだったんだろうけど、
ネット上のドキュメントはどちらかというとActionScript 3.0といった表記の方が多いんだよね。
例えばそこを変えただけでも(ActionScript 3.0 addChild)、LiveDocsが最初に引っかかるし。
あとremoveChildのことを「addChildの反対です」と表現してることってほとんどないし、
どういう書かれ方をしてるか予測して検索した方がより正解にたどり着きやすくなると思うよ。

152 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 16:43:23 ID:yG5n5h/q]
リストに対する追加/削除はadd<->remove
newに対する機能はdispose、ただしgcにまかせていいクラスならdisposeは存在しない

AS3に限らず最近のフレームワークはみんなこんな感じ


153 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 17:44:43 ID:s39ND9NC]
AIR1.1になって、IME.enabledを設定してもIMEのオン、オフができなくなってしまったのだけど、解決方法を知っている人いませんか?
AIR1.0では問題無くオン、オフできるのだけど。

154 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 18:37:00 ID:/jifwed9]
>>151>>152
すごく勉強になりました。
次に質問させていただくときには、気をつけたいと思います。
ありがとうございました。

155 名前:Now_loading...774KB [2008/07/31(木) 19:29:34 ID:e2PUWTO5]
ある日数の範囲(例:20080801〜20080930)と
ある日数の範囲(例:20080815〜20081031)に
重なりがあるかどうかを判定するにはどうしたらよいでしょうか?

156 名前:Now_loading...774KB mailto:sage [2008/07/31(木) 20:13:03 ID:ayqNwGZU]
Date.timeで数値としての日時が取得できるから、それを比較すればおk



157 名前:Now_loading...774KB mailto:sage [2008/07/31(木) 20:16:17 ID:VgsN3smr]
>>155
期間A→A1〜A2
期間B→B1〜B2
とすると、重なるのは
■A1------------A2
■    B1------------B2

■A1-------------------------A2
■    B1------------B2

■    A1------------A2
■B1-------------------------B2

■    A1------------A2
■B1------------B2


なので、A1<B1<A2またはB1<A1<B2の時重複してると言える。
if ( (A1 < B1 && B1 < A2) ||
   ( B1 < A1 && A1 < B2 ))
   trace("重複");

これでどう?質問の本質を理解してないかも。

158 名前:Now_loading...774KB [2008/07/31(木) 22:57:29 ID:e2PUWTO5]
>>156-157
ありがとうございます! なるほど、こういう考え方がありましたか。
これでうまく行きそうです。とても助かりました!

159 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 05:06:42 ID:bQNbnEXo]
NetStream.onStatusについての質問です。AS2です。
FLV が見つからない場合の"NetStream.Play.StreamNotFound"なんですが、
ローカルでは取得できるのですが、サーバー上だと取得できません。
しかもそのまま放置するとフリーズに近い状態になってしまいます。
よろしくお願いしまいます。

コード:

var connection_nc:NetConnection = new NetConnection();
connection_nc.connect(null);
var stream_ns:NetStream = new NetStream(connection_nc);
my_video.attachVideo(stream_ns);
stream_ns.play("video1.flv");
stream_ns.onStatus = function(infoObject:Object) {
if(infoObject.code == "NetStream.Play.StreamNotFound"){
messageText.text = "NetStream.Play.StreamNotFound";
}
};

160 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 06:40:21 ID:bQNbnEXo]
すいません自己解決しました。FC2サーバーだと取得できないみたいです。

161 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 14:22:38 ID:+cQsqCyi]
AirのSQLiteで、人名などの日本語のデータをサーチできなくて困ってます

sql.text = "SELECT * FROM daisy_task WHERE Task == 山田太郎"

みたいにするとエラーが帰ってきてしまいます どうしたらよいですか

162 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 14:29:30 ID://GSIzui]
SQLiteはよく知らんが普通検索文字列は"とか'で囲むんじゃね
'山田太郎'とか

163 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 14:34:31 ID:+cQsqCyi]
>>162
はや!助かります
sql.text = "SELECT * FROM all_task WHERE Task == '山田太郎'";

これでやってみてもだめでした

164 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 15:18:00 ID:+cQsqCyi]
すみません、ご指摘の方法で出来ました
データベースの方がおかしかった模様
ごめんなさい

165 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 15:35:58 ID:GEbgJ/jt]
二次元配列を利用して、目標の座標へ移動する為に、どのような記述をすれば良いか困っています。
hitTable = [
    [0,0,0,0,0]
    [0,1,1,1,0]
    [0,0,2,0,0]
    [0,1,1,1,0]
    [0,0,0,0,0]

]
上の配列は簡単なものなのですが、0が移動可能領域、1が壁、2が目標座標といった感じです。
移動させる物は四隅([0][0]、[0][4]、[4][0]、[4][4])のいずれかからスタートし、1座標ずつ目標座標へ近づき移動したいのですがスタート位置がランダムな為、記述方法がいくら考えても思いつきません……。
良ければどうか皆さんの知恵を貸して頂ければ助かります。

166 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 16:23:32 ID:dROoT5DI]
それはASじゃなくてアルゴリズムの問題だよね?
ゲ製作技術とか行った方がいいんじゃないかな
もしくは経路探索アルゴリズムとか最短経路問題でググるといいと思う



167 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 17:02:19 ID:WDMpy2el]
環境AS3です.
flvを切り貼りするようなソフトを作ろうと思っているんだが,それ系のライブラリってあるぽ?
無いとしたらどうやって編集すればいいんだろ?
RichFLVがある以上は編集不可能ではないと思うんだが・・・.

168 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 18:08:59 ID:78kX3edD]
>>167
板違いです。
言語は何か知りませんがプログラム板にでもいってみては?

169 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 18:19:46 ID:GEbgJ/jt]
>>166
そうですね。アドバイスありがとうございました。

170 名前:Now_loading...774KB [2008/08/01(金) 18:29:45 ID:ee8nRpht]
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

hitTest()動作で質問です。

root上に2つのMC(mc1, boarderM)を置き、mc1はドラッグ移動が可能にしています。
boarderMは線状のMCで、これにmc1がドラッグ移動で右方向から当たった時、mc1の
X座標が増分される、つまり壁に当たって弾かれる動作をしたく思っています。
フレームアクションのASは以下の通りです。

this.onEnterFrame = function() {
if (this.mc1.hitTest(this.boarderM) == true) {
this.mc1._x = +1;
}

しかしこれだと、右方向から当った瞬間、mc1がrootの原点に飛んでしまいます。
アドバイス願います。

171 名前:Now_loading...774KB [2008/08/01(金) 18:35:09 ID:rILae5AR]
AS2です。テキストフィールドにhtmlを読み込んで表示させています。
画像とテキストがあり、全てセンタリングしたいのですが 画像ができません。
ヘルプにはイメージタグのalignはleftとrightしかないと書いてあるのでalignでは
できないようですが、方法はないでしょうか?

172 名前:Now_loading...774KB mailto:sage [2008/08/02(土) 00:42:40 ID:RQJa+joB]
>>171
スレチ

173 名前:Now_loading...774KB mailto:sage [2008/08/02(土) 15:49:27 ID:1+9B9CRx]
>>170
よくわかんないけど、
this.mc1._x = +1;が
this.mc1._x += 1;の間違いなんじゃないか?

174 名前:Now_loading...774KB mailto:sage [2008/08/02(土) 19:22:12 ID:PD6WxBMs]
同じムービークリップをたくさん複製するとして、
そのムービークリップの1つのフレームアクション内で同じ処理を何度も記述する場合、
その処理をfunctionを使って定義したらしないのよりその分メモリ余計に使いますか?

functionを使って記述した方が見やすくて修正も簡単ですが、少しでも処理が遅くなったりするのなら使わない方が良いしどうでしょう。

175 名前:Now_loading...774KB mailto:sage [2008/08/02(土) 19:43:15 ID:NJ437UpZ]
>>174
関数呼び出しは確かにオーバーヘッドが生じますが、
コードの量によってそうした方が全体的なコストが下がる場合もあります
結局は内容次第なので、自分で計測してより良い方を選択するのがいいと思います
ただ、正直な話、それを自分で判断できないレベルではどっちにしても大差ない気もしますし、
Cみたいな言語で速度を追求したい場合ならともかく、ASなら普通は関数にまとめた方が良いと思います

176 名前:Now_loading...774KB mailto:sage [2008/08/02(土) 20:19:45 ID:PD6WxBMs]
>>175
レスありがとうございます。大きな差がないか自分で確かめてみます。

それともう一つ質問なんですが、deleteを使って複数の変数、たとえばa、b、cを削除する場合、

delete a;
delete b;
delete c;

とdeleteを何度も書かずに、1つにまとめて削除する方法はありませんか?



177 名前:Now_loading...774KB mailto:sage [2008/08/02(土) 22:40:26 ID:ZZ2Wq4Gj]
環境:
OS=Win XP SP3; Soft=Flash CS3 Pro;
パブリッシュ=ver.9+AS3.0; Player=9,0,115,0と9,0,124,0の両方で確認

TextFormatについての質問です。
Font.enumerateFonts(true)を利用して、その環境で使えるデバイスフォントを取得し、
あるTextFieldでそのフォントを使うようにし、その後適当な文字列を打たせて表示させたいのですが、
何故か一部のフォントはMS ゴシックらしきフォントが表示されます。(その現象が起きるフォントは固定)
ver.8+AS2.0環境で似たような処理をさせるとうまく表示できるのにver.9+AS3.0では出来ませんでした。
フォントを入れなおしたり、Playerを入れなおしてみたのですがそれでも駄目でした。
どのようにすれば、うまくデバイスフォントを表示させることが出来るのでしょうか。
次のレスにソースを置いておきます

178 名前:177 mailto:sage [2008/08/02(土) 22:43:44 ID:ZZ2Wq4Gj]
import fl.controls.List;
import flash.text.Font;
var Font_list:List= new List();
stage.addChild(Font_list);
var tmpFontArray:Array = Font.enumerateFonts(true);
tmpFontArray.sortOn("fontName",Array.CASEINSENSITIVE);
tmpFontArray.unshift({fontName:"_明朝"});
tmpFontArray.unshift({fontName:"_等幅"});
tmpFontArray.unshift({fontName:"_ゴシック"});
tmpFontArray.unshift({fontName:"_typewriter"});
tmpFontArray.unshift({fontName:"_serif"});
tmpFontArray.unshift({fontName:"_sans"});
var fontData:String;
var l:uint = tmpFontArray.length;
for each (var item:Object in tmpFontArray) {
        fontData = item.fontName;
        Font_list.addItem({label:fontData, data:fontData});
}
Font_list.selectedIndex = 0;
Font_list.scrollToIndex(0);
var myTextFormat:TextFormat= new TextFormat(Font_list.selectedItem.data,40);
var myTextField:TextField= new TextField();
myTextField.type= TextFieldType.INPUT;
myTextField.border= true;
myTextField.defaultTextFormat= myTextFormat;
myTextField.text= "ここに文字を入力";
stage.addChild(myTextField);
Font_list.addEventListener(Event.CHANGE, changeListener);
function changeListener(msg:Event):void {
        myTextFormat.font = Font_list.selectedItem.data;
        myTextField.setTextFormat(myTextFormat);
}

179 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 02:06:02 ID:CWzh0Cgs]
変数aの値によって参照する変数を変えたいのですがどのように変数を指定してあげればよいのでしょうか。

変数aに11と入っているとして 〜〜11  aに5が入っていれば〜〜05のようにしたいのです。
配列では〜〜[a]としてやれば出来ることは知っていますが、配列は使いたくありません。

180 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 02:41:20 ID:fj3QYjTq]
>>179
なんで配列使いたくないんだ?
ま、いいけど、配列アクセス演算子すら使いたくないのか?

181 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 02:47:24 ID:Tf1D/DVT]
this["hoge"+a]
aをゼロ詰めにする方法は宿題なっ!

182 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 14:05:03 ID:CWzh0Cgs]
>>180
>>181

亀レスすいません。
配列を使いたくないのは hoge[11]まで作ってしまうと hoge[4]など値を入れる予定の無い所まで作ってしまうので、
無駄が大きくなってしまうと思ったからです。

配列アクセス演算子ですか。勉強になります。

var a:int = 5;
var hoge5:String = "five";
var hoge11:String = "eleven";
var result:String = this["hoge"+a];

こうしてresultをTextFieldで表示。。。
これじゃダメなんですか。

resultを"a"と直接文字列を入れてあげればaが出ますし、
"a "+ this["hoge"+a]としてやると何も表示されなくなります。

Cを少しかじった程度ではオブジェクト指向プログラムは難しい。

183 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 14:50:38 ID:qZg6COc7]
>>182
>値を入れる予定の無い所まで作ってしまうので
それって設計自体間違ってるってことじゃね

184 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 14:57:09 ID:k9av+oUF]
>>182
traceしてみたら?

185 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 15:02:16 ID:788UyqU8]
>>182
trace(result)すると、ちゃんとfiveって出るけど?
何が問題なの?

186 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 15:04:59 ID:t7BaF4rW]
一通りの事ができるようになってから
無駄な部分を省くようにしていった方がいいな。
色々やってるうちに別の方法が見つかるのは良くあるので。



187 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 17:13:24 ID:KKvHJLAf]
>>182
結局のところ何がやりたいの?
小出しにせずにやりたいことを書いた上で詰まってるところを書いた方が自分のためだよ

188 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 18:45:28 ID:fIylDXIM]
>>173
そうでした・・・・ Orz

189 名前:Now_loading...774KB mailto:sage [2008/08/04(月) 17:23:30 ID:+RokT2ah]
指定した小数の位以下の値を四捨五入する方法ってありますか?
例えば、少数点第二位以下を四捨五入して、0.59721を0.60000にするようなものです。

190 名前:Now_loading...774KB mailto:sage [2008/08/04(月) 19:13:48 ID:Uv7AQ0bo]
掛け算

191 名前:Now_loading...774KB mailto:sage [2008/08/04(月) 23:34:33 ID:wky3oNs6]
AS3での正規表現の部分がよく判らないので質問します。

<div>〜</div>のパターンマッチングをしたいんですが
var pattern:RegExp =/<div>*<\div>/
上手くいかないので教えてください。

192 名前:Now_loading...774KB mailto:sage [2008/08/05(火) 09:17:55 ID:aJYgCtu2]
>>189
var num:Number = 0.59721;
trace(Math.round(num * 10)/10);
>>191
ヘルプの正規表現の部分を読む
サンプルもいっぱい載ってる

193 名前:Now_loading...774KB mailto:sage [2008/08/05(火) 10:00:53 ID:+l0TUmad]
>>191
正規表現はワイルドカードとは違います
<div>.*</div>
ドットは任意の一文字
アスタリスクは一つ前の文字が0個以上連続する文字列を表します
また\はメタキャラクタと言って、その後ろに続く文字によって意味が変わります(スラッシュを意味するわけではありません)
AS3のヘルプ中バックスラッシュで表記してあるのがこれにあたります。
> <div>*<\div>
の場合、\dは数字の0〜9のいずれかを意味するので、パターン全体としては
"<div"に続いて">"が0個以上連続して続いた後"<"が現れ、続いて0-9の数字の後"iv>"が来るような文字列にマッチします
すなわち
<div>>>>>><0iv>
のような文字列にマッチします

「AS3での正規表現」と書いていますが、正規表現そのものを勉強した方がいいです。
よってスレ違い

194 名前:Now_loading...774KB [2008/08/05(火) 18:46:53 ID:wSZFqz11]
AS3で、Localにある複数の外部SWFを読み込む処理を作成しています。
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, LoadComplete);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, LoadIOError);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, LoadSecError);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS , LoadProgress);
loader.load(new URLRequest(hoge), new LoaderContext(false, ApplicationDomain.currentDomain));
以上の処理を実行してCOMPLETEまたはERRORが発生したら、次のファイルで同様の処理を繰り返すということをしています。
たいていは上手くいくのですが、たまに(20回に1回程度)処理が止まってしまいます。
PROGRESSイベントを監視すると、データの読み込みは完了しているのに、その後何もイベントが起こっていないようです。
何もエラーらしきものを出さないので途方に暮れています。
考えられる原因はないでしょうか?



195 名前:167 mailto:sage [2008/08/05(火) 20:27:41 ID:aTLY0McM]
返信が遅れて申し訳ありません.>>167です.

>>168
言語はActionScript3.0です.

現在,ActionScriptを用いてFLVを編集するようなツール(ウェブ上のFLVを読み込んで編集し,吐き出しを行う)を制作したいと考えています.
そのために,適切なライブラリがあるのか聞きたかったのです.
インタフェースは後からどうにでもなるとして,FLVの一部を切り取ったり張り付けたりするのに適当なライブラリはありませんか?
すでに自力で調べ尽くして有りそうにない,と感じたので最後の頼みの綱として皆様の知恵をお借りしたいと考え,質問させていただきます.


196 名前:Now_loading...774KB [2008/08/05(火) 21:09:29 ID:kPitZFlV]
ActionScript2です。
変数「a」に「こんにちは」を含む言葉が入ってる時に、
変数「b」に「おはよう」を代入のようにしたいんですけど、
エクセルのワイルドカード()曖昧検索のような事は出来ませんか?



197 名前:Now_loading...774KB mailto:sage [2008/08/05(火) 21:18:53 ID:qOBZSTWn]
>>196
String.indexOf()使う

198 名前:196 mailto:sage [2008/08/05(火) 21:20:59 ID:kPitZFlV]
>>197
ありがとうございます。

199 名前:Now_loading...774KB mailto:sage [2008/08/05(火) 21:25:26 ID:aWUcR5nV]
>>195
ffmpeg等の既存のライブラリを移植する以外に方法はないと思う
オープンな仕様だから仕様書読み漁って新規に作り上げるという手もあるけど、
正直なところ前者も後者も君のスキルでは無理だと思う

200 名前:Now_loading...774KB mailto:sage [2008/08/05(火) 23:43:16 ID:unbSDsE5]
>>194
都度Loaderをnewしているなら
処理完了後にremoveEventListenerしてやらないと
Loaderオブジェクトが残ったままになるぞ。
それが直接の原因か分からんが

201 名前:Now_loading...774KB [2008/08/06(水) 01:25:17 ID:T28867CU]
action script3で、
クラス間の変数の送受信は何でやればいいですか?

202 名前:Now_loading...774KB mailto:sage [2008/08/06(水) 07:33:38 ID:1Qj0tU1G]
>>201
何でやればっていわれてもやり方はいっぱいあるし、やりたいことによって
ベストの方法は変わるから回答しようがないw

203 名前:Now_loading...774KB mailto:sage [2008/08/06(水) 11:27:00 ID:GaJWcf/x]
>>194
それってFirefoxだけに起きる現象ではないでしょうか。
COMPLETEイベントが発生しないで読み込みが完了する場合があるようです。

PROGRESSイベント内で完了しているか判断してやるといみたいですよ。

204 名前:Now_loading...774KB [2008/08/07(木) 01:33:02 ID:AI5Lffy4]
------------------------------------------------
mcMother ┬ mcChild1 - mcGrandchild1
      └ mcChild2
------------------------------------------------
上のような親子関係で
removeChild(mcMother)した時に

各子、孫には
this.addEventListener(Event.REMOVED_FROM_STAGE , onRemoveStage )

function onRemoveStage(event){
trace(event.target)
}
で削除を監視させておいた場合

mcChild1はEvent.REMOVED_FROM_STAGEが起きて、Traceされますが
mcChild2 , mcGrandchild1はTraceされません。

removeChild(target)
target以下のすべてにEvent.REMOVED_FROM_STAGEがいきわたる方法
もしくはヒントをいただけないでしょうか。

よろしくお願いします。

205 名前:194 mailto:sage [2008/08/07(木) 11:26:46 ID:ODepELPj]
>>200
意外なところで過去に作ったアプリのメモリリークの原因が分かりました。

>>203
そんなことがあるんですねー。
COMPLETEとERROR関連のリスナーを登録していれば、どれかが必ず呼ばれるという前提で、
ソフトを組んでいたのですが甘かったようです。

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


206 名前:Now_loading...774KB [2008/08/07(木) 13:20:40 ID:KxwulJ5Y]
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

ラジオボタンのプロパティ変更(色変更)で質問です。

 ○選択1 
というラジオボタン(MC名:radioBtnM1)で、○内の背景が灰色,「選択1」を赤色に
したく思い、MCのイベントとして下のASを書きましたが色が変更されません。

onClipEvent (load) {
this.setStyle("themeColor", 0xCCCCCC);
this.setStyle("Color", 0xFF0000);
}

ヘルプや、本「Flash ActionScript 逆引き大全550」(秀和システム)などを読みましたが
問題点が分かりません。
アドバイス願います。



207 名前:Now_loading...774KB mailto:sage [2008/08/07(木) 13:52:17 ID:V4FzOvxS]
>>206
_global.styles.RadioButton = new mx.styles.CSSStyleDeclaration();
_global.styles.RadioButton.setStyle("themeColor", 0xCCCCCC);
_global.styles.RadioButton.setStyle("color", 0xFF0000);

これタイムラインに書いておけばいいと思う

208 名前:Now_loading...774KB mailto:sage [2008/08/07(木) 19:58:06 ID:KxwulJ5Y]
>>207
さんきゅう。出来ました。

日本負けた・・・







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

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

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