[表示 : 全て 最新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

415 名前:Now_loading...774KB mailto:sage [2008/08/30(土) 21:36:48 ID:CPmq3bky]
あんなエフェクト、AS使わなくても出来るじゃん
ASよりマスクを活かしたほうが楽だと思う

416 名前:Now_loading...774KB mailto:sage [2008/08/31(日) 01:36:36 ID:jDjmDkpi]
アルゴリズムの問題だからそういうスレで聞いた方が早いだろ
>>415のいうようにASじゃなくてもできるし、どちらにしてもスレ違い
>>414は頭悪杉

417 名前:Now_loading...774KB mailto:sage [2008/08/31(日) 02:16:45 ID:z86i8kxI]
マスクでどうやってやるんだ?
複数のMCが置いてある状態から
全体をガラスが割れる感じにするんだろ?
BitmapとMatrix使って、
計算速度を考えるとAS3でやるのが一番で
SWF7じゃBitmap使えないから無理だと個人的に思うのだが


418 名前:Now_loading...774KB mailto:sage [2008/08/31(日) 03:10:48 ID:kEwlxsqo]
てかソフト自体のエフェクト機能にそういうのあった気がするぞ


419 名前:Now_loading...774KB mailto:sage [2008/08/31(日) 13:31:58 ID:oCTpVupL]
良く分からんがパーティクル表現のこと?
検索が下手なのは、質問が下手ってのと同じだろうから、
語彙力身に着けるのが近道。

420 名前:Now_loading...774KB mailto:sage [2008/09/01(月) 00:10:48 ID:RNNFq7ev]
リアルタイムでレンダリングしたものを
テクスチャにして飛ばすなら
Flash8でないと無理。

>>417
AS1でもAS3でもAPI内部の処理速度は同じだろ。

421 名前:Now_loading...774KB mailto:sage [2008/09/01(月) 02:08:16 ID:S42pfC23]
>>420
AS1,2とAS3とではplayerのエンジンが違う

422 名前:Now_loading...774KB [2008/09/01(月) 08:44:11 ID:sqP7dL9d]
質問です。
フルFlashサイトを作っているんですが
Flashファイルの1フレーム目にnoborderを記述し、htmlファイルには縦横100パーセントで設定しているんですが、自分のブラウザでみたらちゃんと縦横きれいに100パーセントで表示されてるんですが、他のブラウザで見たら大きく拡大して表示されてしまいます。
どなたかこの様な現像の解決方法をご存じないでしょうか?
宜しくお願い致します

423 名前:Now_loading...774KB [2008/09/02(火) 14:01:00 ID:P0oI6p2k]
actionscriptのインクリメントで2ずつ増やす方法



424 名前:Now_loading...774KB mailto:sage [2008/09/02(火) 16:53:33 ID:ThoXrYs6]
for(i=0;i<2;i++)n++;

425 名前:Now_loading...774KB mailto:sage [2008/09/02(火) 17:55:09 ID:INqlUf3c]
>>422
Flashのバージョン
自分の使っているブラウザ名
うまく表示されない他のブラウザとはどれか
ちゃんと書こうね

426 名前:Now_loading...774KB [2008/09/02(火) 17:59:31 ID:P0oI6p2k]
424どういう事ですか?nの値??
i=++i; ←こんな感じでお願いします。


427 名前:Now_loading...774KB mailto:sage [2008/09/02(火) 18:21:22 ID:ekR0fb/p]
i += 2;
↑こうゆう事?

428 名前:Now_loading...774KB [2008/09/02(火) 23:09:14 ID:oiCr7SLs]
427ありがとうそんな感じ( ^∀^)

429 名前:Now_loading...774KB [2008/09/03(水) 02:32:49 ID:GoFVdVhF]
質問です。Flex 3 SDK+AS3でやっています。
public static const list:Object =
{
a:"xx",
b:"yy",
c:"zz"
};
これをa->b->cの順でfor文で走査したいです。
arr:Array = ["a", "b", "c"];という配列を作って、list[arr[i]]としたら出来るのですが、
この配列を定義するのが冗長な感じがします。
何か他のやり方があれば、ご教授いただきたいです。
よろしくお願いします。

430 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 04:54:35 ID:Hu7fuEpR]
>>429
キーの部分の順番付けが無いとどういう順番で表示するかわからんだろ
連想配列使うのなら冗長では無く必須

431 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 08:46:21 ID:GoFVdVhF]
>>430
そうでしたか・・・。お馬鹿な質問をしてしまってすいません
ありがとうございました

432 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 10:42:24 ID:ciIfMOKQ]
import flash.display.BitmapData;
var MainBmpData:BitmapData= new BitmapData(100,100);
var main:MovieClip = this.createEmptyMovieClip("MainMC", this.getNextHighestDepth());

MainMC.attachBitmap(mcPath.palette.MainBmpData, MainMC.getNextHighestDepth(), true);
この部分を、
main.attachBitmap(mcPath.palette.MainBmpData, main.getNextHighestDepth(), true);
こう書くと「タイプが一致しません。」とエラーが出るのはなぜなんでしょうか。



433 名前:432 mailto:sage [2008/09/03(水) 10:44:37 ID:ciIfMOKQ]
すいません。書き忘れましたがAS2.0です。



434 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 11:12:38 ID:Hu7fuEpR]
>>432
何故といわれてもそのまま「タイプが一致しないから」と返すしかないだろw
引数の型をチェックするとか、traceしてちゃんと値が入ってるか調べるとか汁

435 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 11:17:40 ID:QPp3ylWS]
環境)OS:WinXP-Pro,Mem=2GB,ソフト:FlashCS3-Pro(Player9)

hoge_mc.addEventListener(Event.ENTER_FRAME,function(){
/* スクリプトの記述 */
});

質問です。
この ENTER_FRAME のイベントを removeEventListener することって可能ですか?


436 名前:432 mailto:sage [2008/09/03(水) 11:38:13 ID:ciIfMOKQ]
>>434
trace(main);
//_level0.MainMC
trace(typeof(main));
//movieclip

とくに問題ないような気がするのですが
おれは何か勘違いしてるんでしょうか

437 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 13:10:56 ID:YfC11098]
>>435
つarguments.callee

438 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 20:14:37 ID:QPp3ylWS]
>>437

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

439 名前:Now_loading...774KB mailto:sage [2008/09/04(木) 20:34:32 ID:xNkMf3ka]
AS3の文法について質問ですが、以下のようなスクリプトが例文で良く出てきます。

hoge.addEventListener(MouseEvent.CLICK, onMouseClick);
function onMouseClick(e:MouseEvent):void {
hogehoge.x = mouseX; //ここは何でも良いんですが
}

この関数名の次の引数「e:MouseEvent」について、その関数内で変数(e)を使っていないのに
ほぼ毎回必ず記述されていますが、これは文法上の決まりなんでしょうか?
これを書かないことで(使わないのに)、何か整合性が取れなくなるんでしょうか?


440 名前:Now_loading...774KB mailto:sage [2008/09/04(木) 20:38:57 ID:xNkMf3ka]
あと、これはどうでも良いことなのかもしれませんが、変数の宣言でintとuintだけ
頭文字が小文字なのは何か理由(とか逸話)があるんでしょうか?
NumberとかBooleanとかStringとか全部頭文字が大文字なのにこの2つだけ小文字なのが気になります

441 名前:Now_loading...774KB mailto:sage [2008/09/04(木) 21:19:08 ID:2QekdjO0]
軽く答えようと思ったけど、うまい説明が浮かばなかった
普通にAS3を使いこなしてるつもりでいたけど適当にやっていたようだ・・

442 名前:Now_loading...774KB mailto:sage [2008/09/04(木) 21:42:03 ID:Y9QIAA7S]
ECMAScript 準拠でそうなってるんだよ


うん。適当に言ってみた

443 名前:Now_loading...774KB mailto:sage [2008/09/04(木) 21:48:47 ID:TWqANbo2]
AS3.0がそういう設計だからっていうこと意外に説明できるかな

ttp://livedocs.adobe.com/flex/3_jp/langref/flash/events/EventDispatcher.html#addEventListener()
>listener:Function ? イベントを処理するリスナー関数です。
>この関数は、次の例のように、Event オブジェクトを唯一のパラメータとして受け取り、
>何も返さないものである必要があります。

>function(evt:Event):void



444 名前:Now_loading...774KB mailto:sage [2008/09/04(木) 23:12:56 ID:Ckei/Cw6]
>>439
文法上の決まりというよりは、サイト上の書き方を統一しているだけでしょう。
文法上はfunction onMouseClick():void{...としても問題なく通ります。
AS3の元となっているECMAScriptでは本来引数のない関数に値を渡すこともできますし、
その関数内で渡された引数を処理することもできるような仕様になっています。

>>440
伝統的なものです。AS3に限らず大抵の言語が何らかの言語の影響を受けて作られています。
完全なオブジェクト指向でない言語ではintやuintはクラスではありませんでした。
現在でもこれらはプリミティブ型と呼ばれ、他の型とは振る舞いが異なる場合があります。
intやuintのように伝統的な理由で小文字となってる型は、他にvoidがあります。
voidはundefinedという値のみを持つ特殊な型ですが、これも由来は他言語です。

445 名前:439=440 mailto:sage [2008/09/04(木) 23:28:48 ID:xNkMf3ka]
レスくださった方ありがとうございます。
慣習や伝統的な意味合いが強いんですね。勉強になりました。
確かに使わなくても引数を書いておいた方が、その関数がどこから
呼ばれているのかを探すときにわかりやすいような気もします。

446 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 00:46:40 ID:eL48yTkR]
>>444
書かなくてもコンパイルは通った
でもイベント起きなくなった

447 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 03:15:41 ID:emEZhJKX]
いいオチだw

448 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 03:22:36 ID:L+1/upAK]
そりゃイベントディスパッチャに渡すeventがなければ
メッセージ走らんだろう。



449 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 06:06:58 ID:vaVogdaU]
>>446
書き方が悪かっただけじゃないですか?
今手元で簡単に試したけどコンパイルは通るしイベントも起きます。
というかこの書き方で動かないようじゃECMAScript準拠が嘘になっちゃう。

>>448
この場合、関数定義での仮引数はあくまで仮引数であって、
EventDispatcherに渡すeventオブジェクトの実体作ってるわけじゃないですよ。

450 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 06:15:43 ID:vaVogdaU]
ついでに書けば>>444に書いてあるように引数のない関数を登録しても、
値はちゃんと渡されるのでargumentsを使えば普通にeventにアクセスできます。
・・・わりと一般的な知識だと思ってたので>>446見てちょっと焦ったw

451 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 11:11:36 ID:eL48yTkR]
>>446
なんか書き方悪いのかな・・・?俺も動きそうな気はするんだけど
これではイベント起こらない。e:MouseEventって書いたら起きる
ちなみにFlex SDK 3.1 AS3.0

public class Main extends Sprite
{
public function Main():void
{
var sp:Sprite = new Sprite();
sp.graphics.beginFill(0xaaaaaa);
sp.graphics.drawRect(100, 100, 200, 200);
sp.graphics.endFill();
sp.addEventListener(MouseEvent.CLICK, spClickHandler);
addChild(sp);
}
private function spClickHandler():void
{
FlashConnect.trace("mouseclick");
}
}

452 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 12:00:01 ID:q/gLz4Ls]
as1での質問です。
変数を含むムービークリップのフレーム数を取得したり
指定したフレームへジャンプさせたりしたいんですが

for(i=1;i<=5;i++){
tellTarget("/inu"+/:i){
trace(_currentFrame);
gotoAndPlay(12);
};

こういった書き方では出来ないんでしょうか?
初歩的な質問で申し訳ないですが、どういう事を
勉強すればいいかなどでも教えていただければと思います。
今まではthisを使っていたんですがflashlite1.1用なので
使えないみたいで…よろしくおねがいします。

453 名前:452 mailto:sage [2008/09/05(金) 12:52:47 ID:q/gLz4Ls]
452の質問をした者です。
もしかして、flash4の段階では
telltargetのターゲットに変数を入れることは出来ないんでしょうか…。



454 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 15:07:56 ID:Sp68lRAI]
FlexBuilder3でFlex3での質問です。

カスタムコンポーネントで設定した関数から
親コンポーネントの関数を呼びたいのですが、どうすればよいのでしょうか?

parentDocument とか parentApplicationとか使ってみたのですが
目的が違うもののようです。

よろしくお願いします。

455 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 16:03:35 ID:VQ75W2pK]
>>452
CS3のドキュメントみたら
「Flash Lite でストリングを連結するには、次の例に示されているように add 演算子を使用します。」
とのことなので

tellTarget("/inu" add /:i){

FlashLiteはよく知らんけど、試したところ一応これで動いた


456 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 16:25:57 ID:0c6OXxbY]
>>454
よくわからんけど単純にparentでは駄目なの?
親の方でaddChildしてからじゃないとnullだけど。

457 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 17:19:00 ID:hym4ZNm2]

親の表示リストに含まれている場合は
" 子オブジェクト.parent "で親オブジェクトが呼ばれるはずだけどね

458 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 17:32:07 ID:Sp68lRAI]
>>456,457
返答ありがとうございます。

parentでもだめなんですが、何か根本的な勘違いをしていそうな気がしています。
もう少し調べてみます。
ありがとうございました。

459 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 18:00:24 ID:vaVogdaU]
>>451
それがダメなのは登録しているのが関数ではなくクラスに所属するメソッドだからです。
ただの関数として宣言したものや、無名関数は引数がなくてもイベントが起きます。
Functionクラスにも書いてありますが、メソッドと関数は厳密には別物です。

460 名前:454,458 mailto:sage [2008/09/05(金) 19:02:33 ID:Sp68lRAI]
自己解決しました。

parentAppricationのドキュメントみると
Applicationを使用すると書いてありました。

やってみたところうまくいきました。

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

461 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 21:37:53 ID:JJ6BJ8bT]
Math.min(64, a << 1 )

の << はどういう意味ですか?

462 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 21:44:02 ID:Sp68lRAI]
aを1ビット、レフトシフトしたものと、64とを比べて小さい方を返す

463 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 21:47:04 ID:Sp68lRAI]
うう、ごめん。<<だけでいいのか。

<<は左側にビットシフトする。
普通は倍になるけど、32ビットからあふれたビットがどうなるかは知らん



464 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 22:10:53 ID:eL48yTkR]
>>459
動きました。ありがとうございます
理由がいまいち分からないので勉強してきます

465 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 23:20:54 ID:db5vsGq7]
キャリーフラグが立つ

466 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 23:33:19 ID:JJ6BJ8bT]
>>463
俺の入っちゃいけない領域だってことは分かったw
Tks

467 名前:Now_loading...774KB mailto:sage [2008/09/07(日) 23:01:08 ID:xVVDcg5n]
携帯ゲームやデコメアニメが作りたいんですが、
何かお勧めの本ってありませんか?

468 名前:bgcolor [2008/09/08(月) 01:31:50 ID:/E5TQ3To]
こんばんは、質問です。
ActionScriptでHTMLの背景色を変更したいと思っています。
外部のJavaScriptファイルをGetURLで
読み込んでくるところまで解り、
試したのですがうまくいきません。
JavaScriptファイルの記述の仕方は下記で合ってますでしょうか?
(すごく短いので絶対足らないと思いますが・・・)
ちなみに、FlashMX、WINDOWS XPです。
すみませんが、お教えください。

function color() {
document.bgColor = "#ccffcc";

}



469 名前:Now_loading...774KB mailto:sage [2008/09/08(月) 02:39:32 ID:lUTMFn+/]
>>468
JavaScript側はそれで背景色が変わると思います
外部のjavascriptファイルってのがいまいち分からないんですが

getURL("javascript:void(document.bgColor="#ccffcc")")

これで出来ませんかね

470 名前:bgcolor [2008/09/08(月) 13:19:20 ID:UGN1o8eb]
>>469さま
ありがとうございます!できました!!
ここ何日か、本やネットを探しまくってましたが、やっと解決できました。
それで、情報が錯綜して勝手に外部のjavascriptファイル.jsファイルを
作ると思い込んでいました。ありがとうございました!

471 名前:Now_loading...774KB mailto:sage [2008/09/08(月) 16:55:48 ID:1nbwiOuH]
ずっと引っかかってる事があるんですけど

var a:Array = new Array();
for (var i:uint = 0; i<100; i++) {
a[i] = i;
}

これと

var a:Array = new Array();
for (var i:uint = 0; i<100; i++) {
a.push(i);
}

これは同じですか?
使い分けとかありますか・・・?

472 名前:Now_loading...774KB mailto:sage [2008/09/08(月) 19:04:13 ID:MKRMzHnB]
>>471
内部実装がどうなってるか分からないから確実なことは言えないけど、
普通に考えたらpushの方が実行速度は速いと思う
添字アクセスの場合、iがlengthの範囲内かチェックする処理が入った後に領域の拡張が行われると思うけど、
pushであれば範囲チェック無しで拡張が行えるわけだし
ただ、配列の長さがわかってるならnew Array(100)とした後に添字アクセスした方がより良い書き方だと思う
pushは数がわからないような場合に使えばいいんじゃないかな

473 名前:Now_loading...774KB mailto:sage [2008/09/08(月) 21:20:10 ID:rwcJevZ1]
そりゃ他言語の知識だろ



474 名前:Now_loading...774KB mailto:sage [2008/09/08(月) 22:00:53 ID:o/QDWrOl]
>>473
うそつけ

475 名前:Now_loading...774KB mailto:sage [2008/09/08(月) 22:59:37 ID:VB6m8COM]
ASの配列なんてObjectのhashを再利用してるだけだし。

476 名前:Now_loading...774KB mailto:sage [2008/09/08(月) 23:23:02 ID:rwcJevZ1]
その通り。領域なんて考えねーし。lengthなんてチェックしねーし。
クラステーブルにアクセスしない分速いし。
つーか速い遅いで論じてる時点でおかしな話だ。

477 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 00:13:14 ID:FxLxuCwE]
クリックした時に変化(A→B)するボタンを
マウスを離してからも、Bのままでいるには、どうすりゃいいんですか?

478 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 00:36:20 ID:q5dEo94n]
マウスボタンを押したまま、その領域を離れた場合ってことか?

479 名前:471 mailto:sage [2008/09/09(火) 00:46:33 ID:95Ww71Pl]
>>472
Tks. パフォーマンステスト検証してみます。


480 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 00:55:53 ID:hSXn0beI]
>>476
>配列エレメントに値を割り当てるとき (my_array[index] = value など)、index が数値でかつ index+1 が
>length プロパティよりも大きい場合、length プロパティが index+1 に更新されます。
って書いてあるよ
あなたが公式ドキュメントより正確な知識を有してるというなら、その通りかもしれないけど

>>479
気になったから今ソース見たけどやっぱりlengthチェックして拡張処理やってた
しかも添字アクセスがネイティブ(C++)で実装されてるのに対して、
pushは実装がASレベルでされてたから、直接アクセスの方が実は速いかも
ソースはtamarin

481 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 01:13:19 ID:Omu1X1w5]
ああ、そうか。lengthプロパティの値をチェックしなきゃならんのね。
それは配列っ「ぽく」見せるためのASの独特の処理。拡張してるわけじゃない。
もっと言えばASのArrayにとって添え字の1は文字列の「1」と対して変わらん
>>475が全て

var arr:Array=[];
arr[10]=1;
trace(arr.length);//11
for (var o in arr)trace("hoge"); //1回だけ表示

arr = [0,1,2]
arr[10]=1;
trace(arr.length);//11
for (o in arr)trace("hoge"); //4回表示

482 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 01:28:13 ID:hSXn0beI]
>>481
たぶんそれは今まで信じられてきた噂ってだけじゃないかな?
もしくは昔のバージョンがそうだったか。
現在のArrayの内部実装はObjectで使われるものとは別に、
数値インデックス専用のm_denseArrというプライベート配列を別に持ってて、
添え字が0以上の場合は恐らく高速化のためにそっちを使ってるみたい
ま、自分も今ソース見て初めて知ったけどw

483 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 01:31:34 ID:hSXn0beI]
ああ、ちなみに高速化されるのは>>471みたいな場合ね
>>481みたいにインデックスが飛ぶ場合とかマイナスの場合は従来通り




484 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 02:14:00 ID:Omu1X1w5]
>>482
お、そうなの?
プリミティブと一緒に頑張ってくれてたのか
そりゃ朗報だわ

ちなみに信じられてる噂じゃなくて、思いっきりリファレンスにObjectを継承してる事書いてあるからw

485 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 02:36:54 ID:Ty7wfbmp]
継承してる=動作が同じ、じゃないぞ?
そんなんじゃオブジェクト指向の意味ないじゃん
継承先で動作が変わってるなんてよくあること
ましてやこの場合C++で書かれてる部分じゃ形式上の継承とか関係ないし

486 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 12:38:53 ID:hgoyihFv]
Arrayで盛り上がってますな

AS3 Flex3
var array:Array = [];
array[0] = 0;
trace( array.length );

array[1] = 1;
trace( array.length );

array[-1] = -1;
trace( array.length );

array[0xfffffffe] = 0xfffffffe;
trace( array.length.toString(16) );

array[0xffffffff] = 0xffffffff;
trace( array.length.toString(16) );

array[2] = 2;
trace( array.length.toString(16) );

暇な人は上から順にtraceの出力がどうなるか当ててくれ

487 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 14:13:22 ID:bLVyBvDv]
自分でやれよw

488 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 18:15:47 ID:zUyIkZud]
>>486
マイナスのインデックスで高速化が働かないことは>>483に書いてあるけど、
他にMAX_INTEGER_MASK(0xF0000000)と論理積とって引っかかるものも除外される
つまりこれらは添え字に文字列を指定したのと同じような効果になる
lengthはこれら文字列インデックスの数と>>482にあるm_denseArr.lengthの合計値が返される
こんな回答でいい?

489 名前:Now_loading...774KB [2008/09/09(火) 19:13:48 ID:YFM1Sy0D]
変数の_btnNameにbtn00, btn01・・・と連番ボタン名を入れていって、
それらのbuttonModeをtrueにしてやりたいだけなのですが、
_btnName.buttonModeとすると、
_btnNameという変数自体が、プロパティ名と解釈されてしまい、
btn00.buttonMode = true;
のように出来ない状態です。

_btnNameの中に格納されているのは、
btn00、btn01という、ボタンの名前ですよ、というようにするにはどうしたらいいのでしょうか。。。

for(var i:uint=0; i < 6; i++){
var _btnName:String = ("btn0" + i) as String ;
_btnName.buttonMode = true;
}


490 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 19:25:29 ID:zUyIkZud]
this["btn0"+i].buttonMode = true;

491 名前:486 mailto:sage [2008/09/09(火) 19:54:26 ID:hgoyihFv]
>>487
質問ではなく、個人的に意外な結果になったので聞いてみただけっす。すんません。

解答は
var array:Array = [];
array[0] = 0;
trace( array.length ); //1
array[1] = 1;
trace( array.length ); //2
array[-1] = -1;
trace( array.length ); //2
array[0xfffffffe] = 0xfffffffe;
trace( array.length.toString(16) ); // ffffffff
array[0xffffffff] = 0xffffffff;
trace( array.length.toString(16) ); // 0
array[2] = 2;
trace( array.length.toString(16) ); // 3

負の数字がlengthにカウントされない事と0xffffffffでlengthが0になるのに驚いた。常識?

おまけ
for ( var hoge in array ){
  if( hoge is String )trace( hoge );
}
// -1
// 4294967294 (0xfffffffe)
// 4294967295 (0xffffffff)

>>488
> lengthはこれら文字列インデックスの数と>>482にあるm_denseArr.lengthの合計値が返される
上記だとarray[-1]してもlengthが増えないので、文字列インデックスとして使われる部分はカウントされないのでは?

492 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 20:10:25 ID:zUyIkZud]
>>491
lengthの実装がreturn m_denseArr.getLength()ではなくreturn m_lengthだったから、
その辺も足したものになってると勝手に勘違いしてた
ハッシュ周りは上位のScriptObjectクラスに丸投げしてArrayObjectクラスでは触ってないね
0xffffffffが使えない理由は、↓のようにコメントで書いてあった
// We can NOT use 0xFFFFFFFF for this since x[0xFFFFFFFE] is a valid prop
// which would make our length 0xFFFFFFFF

493 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 21:18:03 ID:E9N+ZKV7]
すみません、いろいろググってみたのですが、方法がわからなかったので教えてください。

おみくじのようにランダムにフレームへジャンプするASを組みたいのですが、指定したフレームの中でランダムに飛ぶ方法はありますか?

例えば、3、136、369フレームのどれか一個に飛ぶ、という具合です。
教えていただければ幸いです



494 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 21:28:27 ID:FxLxuCwE]
>>478
すみません。質問に補足させていただきます。
例えば「押すとAからBに変わる」というボタンを作ります。
そのボタンを押している間は”B”になっているのですが、
離すとまたAに戻ってしまいます。
一度クリックすると、変化したままでいるスクリプトを教えてください。

495 名前:Now_loading...774KB [2008/09/09(火) 22:52:12 ID:YFM1Sy0D]
489です。
>>490
動きませんでした。
この[]という表記方法は何なのでしょうか。

一箇所表記を間違っていました。
_btnNameの前に_btnSetというのがつきます。
_btnSetというのは、ボタンを複数梱包しているMCの名前です。

for(var i:uint=0; i < 6; i++){
var _btnName:String = ("btn0" + i) as String ;
_btnSet._btnName.buttonMode = true;
}

496 名前:Now_loading...774KB [2008/09/09(火) 22:53:48 ID:u4lZQ3fW]
flvファイルのプログレッシブダウンロードが時々途中で止まってしまう事があるのですが、
どのような対処が考えられますでしょうか?
AS2です。

497 名前:Now_loading...774KB [2008/09/09(火) 22:54:37 ID:YFM1Sy0D]
489です。
補足です。

_btnSet._btnName.buttonMode
というのは、_btnNameが変数で、
その場所の値を入れ替えることで、

_btnSet.btn01.buttonMode
や、
_btnSet.btn02.buttonMode

というように、まとめて、buttonMode=trueにしたいという目的があります。
お助けください。

498 名前:Now_loading...774KB [2008/09/09(火) 23:11:53 ID:wI6DLpeX]
CS3で gotoAndPlay の挙動が ActionScript3.0 でパブリッシュするとどうもおかしいのだが、
何か解決法はあるのかな・・・
具体的には2フレームのキーフレームを作って3フレーム目に gotoAndPlay(1); とすると、
ActionScript2.0 でパブリッシュすると2フレームのパターンを交互に表示するループに
なるのに、3.0 でパブリッシュすると gotoAndPlay で1フレーム待たされて、1フレーム
目のパターンが2回に2フレーム目のパターンが1回という繰り返しになって
しまう。これだとアニメーションを綺麗につなぐことができなくってとても困るのだが・・


499 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 23:43:18 ID:q5dEo94n]
>>497
よくわからないが、こうか?

for(var i:uint=0; i < 6; i++){
_btnSet["btn0"+i].buttonMode = true;
}

500 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 23:46:24 ID:q5dEo94n]
>>494
Flex3+AS3の俺がアドバイスできるのは
SimpleButtonクラスとかButtonクラスを使えば出来る、と言うことぐらいだ

501 名前:Now_loading...774KB [2008/09/10(水) 00:26:21 ID:uaunU19J]
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

getRGB()で質問です。

root上のMC(mc1,mark1)の色を取得するため、mc1のイベントハンドラに

onClipEvent (load) {
trace("Color= "+this.getRGB()+", "+_root.mark1.getRGB());
}

と書いたところ、 Color= undefined, undefined の表示になりました。
問題点はどこでしょうか?


502 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 00:36:16 ID:f39TfBvC]
>>493
var array:Array = new Array(3, 136, 369);
var rndFr:uint = array[Math.floor(Math.random()*3)];
trace(rndFr);

503 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 01:31:04 ID:xMzCU6+I]
>>495
>この[]という表記方法は何なのでしょうか。
配列アクセス

>>496
止まってしまう原因を解明する



504 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 01:38:44 ID:xMzCU6+I]
>>501
原因はMovieClipクラスにgetRGBってメソッドがないから。
getRGBがあるのはColorクラス。

だけどgetRGBで取得できるのは
最後のsetRGB() 呼び出しで設定されたRGB値だけだから、
一度setRGBで設定しないと取得できないと思う


505 名前:493 mailto:sage [2008/09/10(水) 01:46:39 ID:7T/b55CI]
>>502
御早いご返答ありがとうございます。
しかし、私はCS3は使っていますが、AS2.0の設定にして制作しておりますので、unitがエラーで表示されてしまいました。
AS3.0の設定にして、もう一度パブリッシュをすると、今度は
「警告 : ActionScript 3.0 では、ボタンインスタンスまたは MovieClip インスタンスのアクションはサポートされていません。オブジェクトインスタンスのすべてのスクリプトは無視されます。」
と表示されてしまいました。

AS2.0=unitは使えない
AS3.0=ボタンが使えない

となり、行き詰まってしまいました。
お手数ですが解決策がありましたら教えてください。お願い致します。




506 名前:493 mailto:sage [2008/09/10(水) 02:07:43 ID:7T/b55CI]
>>502
自己解決しました!AS3ではunitですがAS2ではNumberなのですね!
教えてくださってありがとうございます。

on (press) {

var array:Array = new Array(3, 136, 369);
var rndFr:Number = array[Math.floor(Math.random()*3)];
gotoAndPlay(rndFr);
}

507 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 02:32:19 ID:uaunU19J]
>>504
さんきゅう

508 名前:Now_loading...774KB [2008/09/10(水) 10:54:42 ID:qB/ZNCv0]
489、495,497,です。
>>499
>>503
_btnSet["btn0"+i].buttonMode = true;では駄目でした。
配列アクセスを使用したときのプロパティとして当たらないということでしょうか。

TypeError: Error #1010: 条件は未定義であり、プロパティがありません。
となってしまいます。
何故でしょうか・・・・??もう一度整理すると、

_btnSetというインタンス名のMCの中に、
6つのボタンMC(btn00〜btn05※インスタンス名です)が入っています。
それら6つをまとめて、forループですべてbuttonMode=trueにしたいのです。
そこで、

for(var i:uint=0; i < 6; i++){
var _btnName:String = ("btn0" + i) as String ;
_btnSet._btnName.buttonMode = true;
}

が駄目で、、、

for(var i:uint=0; i < 6; i++){
var _btnName:String = ("btn0" + i) as String ;
_btnSet["btn0"+i].buttonMode = true;
}

も駄目でした・・・。いずれも同様のエラー、「条件は未定義であり、プロパティがありません」お助けください


509 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 11:08:09 ID:KqdSTiA8]
>>508
とりあえずこうしたらダメでしたが延々続くだろw
AS3.0の本一冊読むか、ヘルプ一通り見るかしてから来い
オブジェクト指向なAS3.0は付け焼き刃じゃ何も出来ないよ

510 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 11:15:06 ID:6r2RrxdQ]
AS3.0なの?
_btnSet.btn00.buttonMode = true;
だったら意図したように動くの?


511 名前:Now_loading...774KB [2008/09/10(水) 11:47:46 ID:qB/ZNCv0]
>>509
すみません、いけました!
指摘の内容、仰るとおりです。本は読んでいますが、理解がまだ追いついていません。

>>510
勘違いでした。エラーは次の行で起きていたようで、
ここのループはばっちり配列アクセスで設定できました。
大変失礼しました。ありがとうございます。

512 名前:Now_loading...774KB [2008/09/10(水) 14:29:08 ID:raTDs9XY]
AS3.0にて外部から読み込んだテキストを使ってリンクを貼りたいのですが、どうしたらいいでしょうか?

513 名前:Now_loading...774KB [2008/09/10(水) 14:37:16 ID:raTDs9XY]
補足
読み込むテキストは下記のようにテキストファイルにひとつにまとめるようにして。。。
date.txt

url0=www.google.co.jp/&url1=http://www.yahoo.co.jp/&url2=http://www.live.com/&url3=http://ask.jp/&



514 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 17:19:27 ID:lqrF0YFV]
>>513
private function loadCompleteHandler(e:Event):void
{
var loader:URLLoader = URLLoader(e.target);
var vars:URLVariables = new URLVariables(loader.data);

var tf:TextField = new TextField();
tf.htmlText = "<a href=\"" + vars.url0 + "\" target=\"_blank\">link</a>";
this.addChild(tf);
}

515 名前:Now_loading...774KB [2008/09/10(水) 17:47:03 ID:raTDs9XY]
>>514
ありがとうございます。

すみません補足不足でした。
画像にリンクを貼りたいです。

申し訳ございません。






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

前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