ActionScript 誰かが物凄い勢いで解答するスレ 10at SWF
ActionScript 誰かが物凄い勢いで解答するスレ 10 - 暇つぶし2ch565:Now_loading...774KB
06/01/27 16:45:05 0pMEv5bl
>>564
ちょ、おま、
○:useCodepage
×:useCodePage
の違いに気づいてるのに、なんで「どこかで変更してるところあるんじゃないのか」なんて
トボけた指摘してんだよ。
どう考えても、Pの大小のせいで、意図どおり設定がされてなかっただけだろ!

566:Now_loading...774KB
06/01/27 17:33:25 Amg9P5ex
スコアー計算で、小数がついてしまうことがあるのですが、
これを四捨五入等として整数に直す方法とかあるんですかね?
あったら教えてください。(四捨五入じゃなくても結構です)

567:Now_loading...774KB
06/01/27 17:45:52 W8V5L7fI
>>566
Math.round

568:Now_loading...774KB
06/01/27 17:51:23 joRSlyu4
マス・大山

569:566
06/01/27 17:57:57 Amg9P5ex
>>567
ありがとうございます!四捨五入で反映できました。

570:Now_loading...774KB
06/01/27 18:31:39 UXMgBBu3
>>547
ボタンは普段使ってないから自信ないんだけど
on(press){
if(sw == undefined){
_root.attachMovie("fout","fout",100);
sw=0;
}
かな。swは2回以上押した時また同じ物が生成されるのを防ぐためのスイッチ

571:Now_loading...774KB
06/01/27 18:54:12 yz6tXzkN
>>558
ボタンを置いてあるMCだかルートだかのタイムラインでいいと思うけど、
>>552のスクリプトはそのまま書いてもだめだよ。
インスタンス名やパス、フレームラベルに気をつけて書き直さないと。

ちなみにfadeout();の中に飛び先を設定しないと
飛んだのが見えちゃうよ。

572:Now_loading...774KB
06/01/27 19:12:02 GTN6YSVG
>>564
>>565
ごめん。レスの時はスペル勘違いしてたけど、flash上ではきちんと書いてます。
ちゃんと色変わってます。

いろいろいじってて気づいたんですが、
実際にサーバーにうpしてブラウザから動作確認すると、文字化け直ってました。
でもflashからプレビューしたときには文字化けするんですよ。何故だ。

573:Now_loading...774KB
06/01/27 19:15:20 hzYL/063
>>560
_parent!!
そうか、こういうときに使うんですね。
自分が考えていたものとはまるで違う実装方法だったので、驚きました。

結果、無事できました。ありがとうございます。

574:Now_loading...774KB
06/01/27 19:15:38 yz6tXzkN
面倒だからUTF-8にすれば?

575:Now_loading...774KB
06/01/27 19:57:18 GTN6YSVG
>>574
片方のswfではXMLを読み込み、もう片方ではCGIを読み込んでるのですが
そのCGIがメール送信のルーチンを持たせてあるため、
useCodepage=trueにすると送信メールが文字化けしてしまうのです。
どうして文字コードを統一しないのだ。

576:Now_loading...774KB
06/01/27 21:10:00 UPR5Wxrt
すいません、質問します

7 8 9
×○○
×=7使用済み
○=8、9使用可能
で、ランダムで7~9を選択し、ランダムで出た数値が×状態だった場合、
それ以外の7~9の範囲で使用可能な物の中からランダムに選ぶ

のような事をしたいのですが、どのようなスクリプトを書けば良いのかわからないのです
何卒、どうか教えてください。。

577:Now_loading...774KB
06/01/27 22:07:13 UXMgBBu3
>>576
whileで×じゃなくなるまで回せば?

578:Now_loading...774KB
06/01/27 22:16:36 CiDsxuuu
>>576
配列使えば?


579:Now_loading...774KB
06/01/27 22:24:18 UPR5Wxrt
>>577,578
ご教授ありがとうございます。
whileと配列、どちらも未知の領域なので調べながらやってみます
本当にどうもでした!

580:Now_loading...774KB
06/01/28 15:22:11 jzSkRhTo
現在、アクションゲームを製作しているのですが、
キャラクターデータを8方向*4~8コマ程度のbitmapで作成しています。

で、2キャラクター分の画像を書き出した所、
全部で716枚になっていました。

これを管理する方法ですが、Flashのライブラリに入れるか、
それとも外部ファイルにして読み込んでBitmapDataにキャッシュするのか、
どちらが適当なのでしょうか?

Flashのライブラリに入れるパターンでは
リンケージ登録やフォルダ分けが結構な手間なので、
今後キャラクターデータが増えた時に大変そうなのと、
パブリッシュに時間が掛かるのが難点です。

もうひとつの外部ファイルにして読み込むパターンは
大量ファイル読み込みがサーバへの負荷にならないかが心配です。
※それともファイル数はあまり関係無い?

他の方々はどうやって作っているか、アドバイスがあればお願いします。

581:Now_loading...774KB
06/01/28 17:54:19 2opiCzCr
初心者版かどっちかなんやんだんですけど
こちらに書きます

ボタンを作ってその上にマウスがある間、そのMCを再生する。
マウスをどけたらそのフレームでとまる。
10フレームまで行ったらとまる。

という処理をしたいのですが

ボタンに
on (rollOver) {

while (this._currentframe<>10) {
this.nextFrame();
}

}

と書いてみました。
でもロールオーバーするといきなり10フレームへ飛んでしまうんです。
ないがいけないのでしょう?
どうすれば、そのような処理になるのでしょうか?
お願いします。

582:Now_loading...774KB
06/01/28 18:06:09 k10AGt/R
>>581
ループの間は画面描画は行われないからフレーム位置だけ10になって
止まって、その後、描画されてるから。

583:581
06/01/28 18:25:33 2opiCzCr
>>582
ありがとうございます
なるほど~そういうわけですか

てことはどうすれば・・・・OTZ

今思いついたのは
マウスカーソルの位置を調べて
範囲内ならplay
範囲外ならstop
10まで行ったらストップ
とif文かswitch文で分岐させるか・・・

もっと簡単な方法あります?^^;

むーしかし難しいですね。
プログラム初めてだから悪戦苦闘しています。
でも、思いどうりに動いたときはうれしくて、楽しいです。

584:Now_loading...774KB
06/01/28 18:35:54 wBSn2hV5
>>580
外部ファイル読込みパターンがいいよ。
読込みの鯖への負担っていうのは、大量ファイルを同時に読み込んだときに問題になるわけで、
ひとつずつ順番に読み込んでいけば問題ない。
あと、雰囲気からするとBMP単位でファイルを読み込もうとしてるみたいだけど、
キャラ単位でまとめたswf(ようするに、モナー用データmona.swfやらギコ用データgiko.swfやら)を作って、
それを外部読込みして、gotoAndPlay()でどのパターンのアニメーションを再生するかを指示すればいい。
そうすればアニメーション部分とシステム部分を分離して開発できるからね。

585:Now_loading...774KB
06/01/28 18:47:47 8+NMEXK7
>>583
this.onLoad = function() {
MC.stop();
};
btn.onRollOver = function() {
MC.play();
MC.onEnterFrame = function(){
if(MC._currentframe == 10){
delete MC.onEnterFrame;
MC.stop();
}
}
};
btn.onRollOut = function() {
MC.stop();
};

586:Now_loading...774KB
06/01/28 19:01:21 919CKkdn
back.duplicateMovieClip("back2", 1);
back2._x = -back._width;
speed = 1;
this.onEnterFrame = function() {
back._x += speed;
back2._x += speed;
if (back._x>back._width) {
back._x = back2._x-back._width;
}
if (back2._x>back2._width) {
back2._x = back._x-back2._width;
}
};

という背景ループのASサンプルを自分の作成したものに適用したいのですが、

・2度目のループの際に、レイヤーが上にあるものより更に上を通過する

という理由で上手くいきません。

サンプルでは背景画面全てが、ループされてましたが、
自分は 1シンボル のみをループさせようとしています。

各行の意味すら解ってないので、どこを変更したらいいか
教えてもらえませんでしょうか。お願いします。

macOSX fashMX2004



587:583
06/01/28 20:00:02 2opiCzCr
>>585さんありがとうございます

そうか、そうですよね。

いや、何でループを使おうかと思ったってマウスカーソルの位置によって
再生したり逆再生したりしたかったんです。
でいろいろ調べたらprevFrame()つかえみたいに書いてあったから
ループを使ったんです。

でも描画されないんじゃつかえませんね。

押すたびに一コマじゃなくて、滑らかな逆再生はどのように書いてますか?

588:Now_loading...774KB
06/01/28 20:13:19 eKNWaQww
キーボード入力で、AltキーとCapsLockキーってもしかして事実上使えないんでしょーか?
ブラウザのメニューがアクティブになったり、反応がなかったり。

589:yuu
06/01/28 20:45:23 EUD+xegk
はじめまして。FlashMXで外部変数読み込みから
ダイナミックテキストでの表示の際、フォント指定が出来ません。
プロパティ内での指定、変数内でタグ指定。色々試しましたが
改善がみられません。何か解決策はありますか?

590:Now_loading...774KB
06/01/29 06:46:04 /YPtlAnj
以前質問させていただいた者ですが、初歩的なことで躓いてしまいました。
数枚の画像をランダムで表示させようとし、やってみたのですが、出来ずググッた結果、解説しているサイト様を見つけました。
しかし、サイトに掲載されている通りにやっても、上手く動きません。
どなたか解る方いらっしゃいましたら、お願いします。
ちなみに、ソフトはFlashMXです。

解説サイト様
URLリンク(cella.hp.infoseek.co.jp)

591:Now_loading...774KB
06/01/29 10:00:54 AJJalByS
>>590

アンサーというより便乗質問なんですが
私も初心者なので違う可能性も大ですが
たぶんターゲットパスの指定じゃないですか?

_rootにおいてあるmcを、_rootにスクリプトを書いて動かすのに
家の環境だと(windowsXP,flash8)
相対パスで
this.mc
とやると動きません

絶対パスで
_root.mc
とやれば動きます

これはなんでなんでしょう?
なんか勘違いをしてますか?

592:Now_loading...774KB
06/01/29 10:18:38 dvItKJTz
>>590
そのサイトを尊重したやり方をすれば、

1.写真を3枚用意し、Flashに「ライブラリに読み込む」で読み込みます。
2.新規シンボルを作成、名前は「Photo」、タイプは「ムービークリップ」で作成。
レイヤーにキーフレームを2つ追加し、3つのキーフレームにライブラリから読み込んだ写真を1枚づつ配置していく。
新規レイヤーを追加。そのレイヤーの1フレーム目に、
this.stop();
と記述します。
3.メインタイムラインに戻ります。
好きな位置、仮に50フレーム目を選択し、右クリックでフレームの挿入。
1フレーム目に、
ppp = Math.floor(Math.random()*3+1);
photo.gotoAndStop(ppp);
と記述します。
新規レイヤーを追加。そのレイヤーの1フレーム目に、
ライブラリからPhoto(MC)を配置し、インスタンス名を「photo」に設定。
50フレーム目にキーフレームを追加。1フレーム目を選択してモーショントゥイーンを作成。
1フレーム目のPhoto(MC)を選択し、プロパティのカラーでアルファ、0%にする。

593:Now_loading...774KB
06/01/29 16:26:05 Lwo5QSyJ
FLASHMXです。質問します
インスタンス名がMC1~9という9つのムービークリップを作って、
そのMCの数字の部分を変数であらわすことは可能なのでしょうか?
例えばAが3なら、MCとA でMC3、Bが5ならMCとBでMC5、というようにして処理したいのです。
よろしくお願いします。。

594:Now_loading...774KB
06/01/29 16:33:09 lwZ/BArR
>>593
配列アクセス演算子「[ ]」を使うといいよ。そのインスタンス群が_root上
にあるとしたら、
for(i=1;i<9;i++){
 trace(_root["MC" + i]._name)
}
とかね。

595:Now_loading...774KB
06/01/29 20:13:50 Lwo5QSyJ
>>594
なるほど、配列を使うのですね
がんばってみます、ありがとでした~

596:Now_loading...774KB
06/01/29 20:30:25 YY0miEl5
こんばんわ。
アクションスクリプト初心者です。
いま、表現したい表現があって、苦戦しています。

あるムービクリップがあって、仮にblurryとします。
そのムービクリップをモーショントィーンアニメーションをさせていてます。
そのアニメーションに対して、Flash8からの新関数でblur関数を使い、
モーションブラーチックな表現を試しています。

以下が、アクションスクリプトの構文です。

blurry = new flash.filters.BlurFilter();
blurry.quality = 2;
blurry.blurY = 30;
blurry.blurX = 30;
blurrer.filters = [blurry];

一応、動きにたいして、ブラーはかかるんですが、どうも、モーションブラーというより、ぼけてるってかんじなんですね。

そこで、考えたんですが、ブラー関数は、X軸、Y軸に対して、ブラーされますが、
以下の図に示すように、
URLリンク(v.isp.2ch.net)

オブジェクトの動きにたいして、ローカル軸にブラーをかけるようにできないんでしょうか?

また、ブラー関数にキーフレームを打ちたいのですが、書き方がわかりません。
例えば、1フレームの時は、blurX=0で、10フレームで、blurX=10になり、その間のフレームを補完させたいと思ってます。
アドバイスをお願いいたします。Flash8Pro


597:Now_loading...774KB
06/01/30 01:33:36 d0Y44naD
質問です
flash8を使っています

ネット上で色々調べると8を使ったいろいろなエフェクトがあり
例えば ガラスや水面の表現 球体の表現 それはbitmapDataを
使ってやってるのだと思いますが 色んなソースを見たところ
エフェクトをかけるもとの画像は外部から読み込んだビットマップの画像なんです

にフラッシュで描いたムービークリップにエフェクトをかけるために
ビットマップ化したいんですが どういうスクリプトを組めばいいでしょうか?

598:Now_loading...774KB
06/01/30 01:55:40 arMHajBY
モバイル向けコンテンツの質問です。
当方ようやく3G携帯というものを入手したのでFLASH形式のメニューを作ろうと思っているのですが、
グーグル先生でいくら探しても求めている情報が見つかりません。

現在私が作成しようとしているのはDocomo P902i用のメニューなのですが、それの資料が見つからなかったので
他機種のメニューと同じようにして
on (release) {
fscommand( "Launch" , "camera" );
}
というスクリプトをボタンに埋め込んでみたのですがさっぱり反応してくれません。
モバイル向けのコンテンツを製作している方、私でも携帯電話のメニューを作成できるようにどうか御指南お願いします。

599:Now_loading...774KB
06/01/30 17:01:51 N580XcAr
mx2004
>>547 の内容なのですが…
mcに

onClipEvent(load){
function next(nextMovie){
loadflag=1;
nextMov=nextMovie
}
}
onClipEvent(enterFrame){
if(loadFlag){
if(_alpha<=0){
this.loadMovie(nextMov);
loadFlag=0;
}else{ _alpha-=10; }
}else{
if(_alpha<100){
_alpha+=10;
}
}
}

ボタンに
on (release) {
_root.mc.next("a.swf");
}
このやり方で挑戦しているんですが動きません。
サイトからコピってやっているので間違いはないと思っていますが、
試行錯誤してもダメですたorz
なにか問題あれば教えてくらさい。

600:Now_loading...774KB
06/01/30 18:09:59 k38Yba89
>>596
flash.filters.BlurFilterは、ぼかしフィルタなのでぼけて当然かと思われます
タイムライン使うならいちいちASなど使わなくともトゥイーンでやればいいのでは?

>>597
BitmapDataを作成し、ライブラリ上のMCをロードする
空のMCでも作ってそこに作成したBitmapDataを貼り付ける
自分でどんなAS組んでみたかを報告してないので具体例は省略、とりあえず組んでみな

>>598
私はauなのでdocomoがどうなのかは知りませんが
同メーカーであっても他機種の物はメニュー名変更で動くことは少ない
あとメモ帳の場合(A機種:"memo")(B機種:"note")みたいにメニュー名そのものが違ったりする
Flash Liteスレがあるからそこに逝けばP902i情報入るかも

>>599
どこのサイトからぱくってきたかは知らんが、それじゃ絶対に動かん。俺が保障する!
突っ込みどころ満載だが、とりあえず今は下の『on(release)』部分だけを考えてみよう
599はシーン移動したいんだな?
まずnextはデータセット用なのでシーン移動は出来ん。
あと"a.swf"とあるがシーン移動の場合シーン名だから拡張子は付かない。
ぱくったの改造じゃなくて一から組んでみ?

601:Now_loading...774KB
06/01/30 18:37:11 v0jRHy4r
ムービー起動時にfsCommandでフルスクリーン化した後、
F11キーでフルスクリーンOn/OFF切り替えするスクリプトを書いたのですが、
別のシーンから上記処理のシーンに戻ると、起動時の処理のせいで、
意図せずフルスクリーンになってしまいます。。

fsCommandで設定した状態を取得する方法もしくはフラグ等をうまく使って実現する方法を教えてください。

602:Now_loading...774KB
06/01/30 18:54:27 xX9wE/xJ
>>601
Ctrl+F でフルスクリーン切り替えだとダメなの?

603:Now_loading...774KB
06/01/30 19:06:12 qyz6KCsp
戻る前のフレームで設定しときゃいいじゃん

604:Now_loading...774KB
06/01/30 21:52:01 aytlfER8
MX2004です。

Xmlクラスで読み込ませるデータの属性部分(?)に「<」が入っていると、
正しくデータを読み込んでくれません(その部分で解析判断ミスって、データが終わってる扱いになる)

<mona giko="nuru<po"/>


属性部分に「<」を使用しつつ、この問題を回避する方法はありますか?

605:Now_loading...774KB
06/01/30 21:56:37 3A/qb/Co
<

606:Now_loading...774KB
06/01/30 21:57:13 3A/qb/Co
&lt; を半角で

607:Now_loading...774KB
06/01/30 22:07:48 aytlfER8
おー。それ、使えたのですね。
xmlファイルの記述を

<mona giko="nuru&lt;po"/>

にしておいたら、属性gikoは確かにデバッガ上で "nuru<po" になってました。

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


608:Now_loading...774KB
06/01/30 22:12:40 J2Tof9bv
>>604
> Xmlクラスで読み込ませるデータの属性部分(?)に「<」が入っていると、
> 正しくデータを読み込んでくれません(その部分で解析判断ミスって、データが終わってる扱いになる)

解析判断『ミスって』、なんてふざけた事言わないように。
XMLの仕様ではそれが正しい動きです。

609:Now_loading...774KB
06/01/31 01:08:59 idhoFAjQ
xmlネタって事で出てくるかな~?
と思ってが、この手の奴やっぱ出てくんね。
xmlの仕様程度でよくぞここまで(笑)

610:602
06/01/31 08:31:04 /8kQKgb4
〉603-604
ありがトン。両方試してみます!

611:Now_loading...774KB
06/01/31 09:45:11 uEnV+7yA
LoadVars.load( url ) の url には変数使えないんでしょうか?

612:611
06/01/31 10:04:27 uEnV+7yA
すいません。使えました。
ただ単にパスが間違ってただけだった orz...
スレ汚しスマンです。

613:Now_loading...774KB
06/01/31 12:44:46 lGHmWmQ0
>>600
ありがとです。
動かないのか...orz
やっぱりなー...
シーン移動じゃなくて、ムービーを読み込みたいのです。
とりあえず一から組むといっても全然わからんので
ヒントをくれませんか・・・?

614:Now_loading...774KB
06/01/31 12:56:55 uEnV+7yA
>>613
MXだけど動いたよ。
2004とか8は知らないけどvar ~とか
変数の宣言しないとだめなんじゃなかったっけ。
もしくはa.swfのパス間違えてるとか。

615:Now_loading...774KB
06/01/31 16:11:41 ZnXJ88B0
>>613
変数名の大文字と小文字は区別されますよ。

616:615
06/01/31 16:13:51 ZnXJ88B0
orz

617:Now_loading...774KB
06/01/31 16:23:26 1YZGFbNn
mx2004です。
ランダムでアイテムが出てくるアイテムランダムMCを置いて
ボタンアイテムをgetさせたいのですが
うまく動作してくれません。

基本的な事ですいませんがご教授をよろしくお願いします。

#_root上に置いてあるアイテムをget
させることはできました。


618:Now_loading...774KB
06/01/31 16:28:48 uEnV+7yA
俺の理解力が足りないのだろうか。
>>617が何を言いたいのか分からない。

619:Now_loading...774KB
06/01/31 16:37:04 FUcVSLLg
>>618
ダミー情報に惑わされるな!
最後の行に注目するんだ!
これは…おそらく…ターゲットパスがわからないという質問だ。

つーことで>>617はAS中のパスを確認しよう。

620:Now_loading...774KB
06/01/31 18:36:26 nAzN6SMG
誰かが物凄い勢いで解読するスレ

621:Now_loading...774KB
06/02/01 02:07:51 22T13Q7B
>>620
ワロタ

622:Now_loading...774KB
06/02/01 06:55:07 abCGYV2P
環境 Flash8 MacOSX でつくってるんですが
FLASH 道場さん URLリンク(www2.netwave.or.jp) の
スクロール縦 URLリンク(www2.netwave.or.jp) を
同じシーン&フレーム上に左右2つ置きたくて試してみたのですが
ファイルを分けても左右のボタンどちらかを押すと
両方のスクロール部分が同時に動いてしまいます
インスタンス名をどっかに付けて ボタンそれぞれにどちらをスクロールするか
指定すれば良いのかと思うのですがやり方が分かりません
(もしかしたらその考え方自体違うかも...)
とりあえずボタンには
on (rollOver) {
_root.mov = -600;
}
って書いてあります
たすけてください よろしくおねがいします


623:Now_loading...774KB
06/02/01 07:03:22 7DFqI6yf
mov1とmov2とかに分けたらいいかと

624:622
06/02/01 07:25:18 abCGYV2P
>>623
朝っぱらからすいません
寝てなくて頭動いてませんでした
分ける間もなく自己解決しました
ホントすいませんorz
濃ゆいコーヒー飲んで目さましてきます

625:Now_loading...774KB
06/02/01 12:23:32 FJgTa4EH
MX2004使っているのですけど、
メニューのキーボードショートカットで
スクリプト編集の欄のショートカットをいじっても全然反映されないのって
仕様ですか?それとも設定の仕方が悪いのでしょうか?
例えばカット(デフォCTRL+X)を、CTRL+MやCTRL+5にしたりしても全く反映されません。
どうしてでしょうか?

626:Now_loading...774KB
06/02/01 12:46:26 Rg1qxJqw
>>625
セット複製してそれに対して変更で問題なくできるが

627:Now_loading...774KB
06/02/01 12:58:58 shdlUQcZ
>>614-615 試してくれてありがとう。
とりあえず自分はmcにムービーを読み込んで、ボタンを押すと暗くなって他のムービーがmcに読み込まれるものを作りたいのです。
動く人もいるってことは間違いではないんだよね...orz

628:Now_loading...774KB
06/02/01 13:29:16 FJgTa4EH
>>626
セットも複製してます。
ありゃ。じゃあうちのPCが悪いのかな。。。
と思ったらデキタ!
なんか「描画メニューコマンド」のほうのショートカットをいじったら
ASウィンドウ上でもそのショートカットが効くようになってるorz
スクリプト編集ってASのことじゃないのかよぉ~・・・?


629:Now_loading...774KB
06/02/01 13:40:04 FJgTa4EH
あきらめない力をくれた>>626に乾杯。
しかしShift+Insertはどうやっても無理でした。

630:Now_loading...774KB
06/02/01 17:31:43 shdlUQcZ
>>627ですが、
maji困ってます。助けてorz

631:Now_loading...774KB
06/02/01 18:35:51 BEqceA7M
>>630
暗くなるっていってもアルファ下げてるんだから
読み込み先のMCが透明になるのはわかってるよね。
暗くして読み込み終了後に明るくするってことなら、MXだけどしたのでどう?

onClipEvent (load) {
loadflag = false;num = new Array(100, 100, 100);
myColor = new Color(this);myColorTransform = new Object();
function next(nextMovie) {loadflag = true;nextMov = nextMovie;}
}
onClipEvent (enterFrame) {
if (loadFlag) {
if (num[0]<=0) {
this.loadMovie(nextMov);num = new Array(100, 100, 100);
myColorTransform = {ra:num[0], ga:num[1], ba:num[2]};myColor.setTransform(myColorTransform);
loadFlag = false;
} else {
num[0] -= 10;num[1] -= 10;num[2] -= 10;
myColorTransform = {ra:num[0], ga:num[1], ba:num[2]};myColor.setTransform(myColorTransform);
}
} else {
if (num[0]<100) {
num = new Array(100, 100, 100);
myColorTransform = {ra:num[0], ga:num[1], ba:num[2]};myColor.setTransform(myColorTransform);
}
}
}
on (release) {
_root.mc.next("a.swf");
}


632:Now_loading...774KB
06/02/01 19:07:39 GOsfzHtH
シューティングゲームでZボタン(普通の弾)、スペース(ミサイル)、敵を(位置ランダム)で表示
させたいんですが実行すると敵がいるときにスペースを押すと敵が消えてしまうんですが
(通常の弾でもZボタン連射で時々敵が消えちゃいます。。。)
これはどこがいけないんでしょうか?orz ↓敵の処理です
targetMax = 5;// 弾の最高数
targetUse = new Array();
for (i=0; i<targetMax; i++) {
targetUse[i] = 0;// 敵の使用フラグ
}
function targetCreate (iteki) {
// 未使用番号を検索
for (i=0; i<targetMax; i++) {
if (targetUse[i] == 0) {
break;
}
}
if (i == targetMax)return false;

// 敵を生成
_root.attachMovie("target", "target"+i, i);

_root["target"+i]._x = iteki.x;
_root["target"+i]._y = iteki.y;
_root["target"+i].ID = i;
targetUse[i] = 1;
}

633:Now_loading...774KB
06/02/01 19:41:54 PZPHIWcd
>>632
深度の問題

634:Now_loading...774KB
06/02/01 20:36:03 FJgTa4EH
深度等のリスト

635:632
06/02/02 00:59:45 kjBb8D12
_root["target"+i].swapDepths(10+i);
こんな感じのを追加すればいいんでしょうか?
少しやってみたけどよくわからないですorz
助けてくらはい

636:632
06/02/02 01:10:10 kjBb8D12
今いぢっていたら消えなくなりました!
が。。。時々画面上でMCがいくつかフリーズしたように動かなくなっちゃいました。。。

637:Now_loading...774KB
06/02/02 10:53:11 Cqg5ULk9
>>631
ASありがとうございます。
しかし、今まで試してみたものと同様でアルファがかかりませんorz
ボタンを押すと、ピクっと一瞬画面が固まります。
なので、指令を聞いてるには聞いてると思うのですが・・・
サンプル用に簡単に作ったものでは>>631のASで動きました。
もしかして...と思っているのですが、その読み込むムービーの1フレ目に
ちょいと複雑な『nowloading』をつけてあります。
私がサンプルで簡単に作った方にはつけていません。
もう、違いといったらそれしか無かったものでnowloadingを外してみましたが
だめでした...途中でとってもASって残るものなんでしょうか?
無知ですみませんがアドバイス&意見お願いします。
皆さんの協力とても嬉しいです。


638:Now_loading...774KB
06/02/02 11:58:38 OIM4ds79
一回基礎から勉強しろよお前

639:Now_loading...774KB
06/02/02 12:41:26 Cqg5ULk9
もう一度基礎から勉強したらわかるようになりますか

640:Now_loading...774KB
06/02/02 12:57:29 AN8XTF1X
おしえて!!FLASHを読めw

641:Now_loading...774KB
06/02/02 13:00:02 53Souy3R
>>639
デバッガ使ってステップごとに追っていくとか、トレース入れるとか。

642:Now_loading...774KB
06/02/02 14:21:03 Cqg5ULk9
>>641 
ありがとうございますorz

643:Now_loading...774KB
06/02/02 16:36:49 Cqg5ULk9
もう全部解決しました!
感動です...み~~んなありがとう愛してるゼ

644:Now_loading...774KB
06/02/03 14:39:56 7PZX35FX
12という文字列を0000012に変換したいのですがどうすればいいのでしょうか

645:Now_loading...774KB
06/02/03 14:41:16 7PZX35FX
12という文字列を0000012に変換したいのですがどうすればいいのでしょうか

646:Now_loading...774KB
06/02/03 14:44:49 2FI1AZfP
str = "12";
str = "00000"+str;

647:Now_loading...774KB
06/02/03 14:48:50 4L9q4XFk
ワロスw

648:Now_loading...774KB
06/02/03 16:14:07 WHBJrxZr
str="0000".concat(12);
なら確実に文字列になるんじゃね?

649:329
06/02/03 21:24:52 PAaIx41i
ミリ秒を時間分秒にしたいのですが、
20736365ミリ秒→5時間45分36秒にする場合、
targetTime = 20736365/1000;
nowH = Math.floor(targetTime/3600);
nowM = Math.floor((targetTime%3600)/60);
nowS = Math.floor(((targetTime%3600)%60));
trace(nowH+":"+nowM+":"+nowS);
なんか凡雑な気がするものでもっといい方法ありますか?
よろしくお願いします

650:Now_loading...774KB
06/02/04 00:27:14 BbU3M0mp
>>645
それどこかのスレで見たよ。
5行くらいで、すっきりしたやつが書いてあって、
驚いた。どこかは覚えてない。

651:Now_loading...774KB
06/02/04 00:52:33 V66zA5VP
>>644
function toDigStr(num, dig){
return String(Math.pow(10, dig)+num).substr(1)
}
var str = toDigStr(12, 7)
trace(str)

hore


652:Now_loading...774KB
06/02/04 02:07:50 2l9gIoed
>>644
ソースの見た目のインパクト重視。
>>651は計算してるから埋めたい桁数が15桁ほどで破綻するけど、こっちは30桁までおっけー!

function toDigStr2(num,dig){
return "000000000000000000000000000000".substr(0,dig - num.toString().length) + num;
}
trace(toDigStr2(12,25));

653:Now_loading...774KB
06/02/04 02:34:24 e7Tso0Ig
>>644
function toDigStr3(num, dig) {
ret = "";
for (var i = 0; i<(dig-num.toString().length); i++) ret = "0"+ret;
return ret+num;
}
trace(toDigStr3(12,7));

654:Now_loading...774KB
06/02/04 04:46:20 z0+XKfg8
ボタンにマウスが乗っかるとMCが左にスライドして
クリックするとフレーム3に飛ぶ物を作りたいのですがうまくいきません
↓左にスクロールは出来たのですが押しても反応してくれません。
(フレーム3のMCインスタンス名は1977_mです)


on (rollOver) {
_root.mov = -100;
}
on (rollOut) {
_root.mov = 0;
}
on(release){
  _root.1977_m.gotoAndStop(3);
}

Flash8を使ってます。お願いいたします。

655:Now_loading...774KB
06/02/04 06:45:52 axMATYPD
>>649
なんか、昔やってみたなあと思いだし古いflaから。
はっきり言ってつかえねーと思うorx_..........

//1970/01/01 0:0:0からt_millisec経過した時分秒
//24時間以上だと日にちが加算される
//UTCでないとtimezone分時刻がずれるので注意
var t_millisec:Number=7200000;
var fa_date:Date = new Date(t_millisec);
//fa_date.setTime(3600000);
trace(t_millisec+"ミリ秒は");
trace("時間:"+fa_date.getUTCHours());
trace("分:"+fa_date.getUTCMinutes());
trace("秒:"+fa_date.getUTCSeconds());
trace("ミリ秒:"+fa_date.getUTCMilliseconds());

656:Now_loading...774KB
06/02/04 06:56:09 axMATYPD
>>654
mc.gotoAndStop();はそのmcのタイムラインの再生ヘッドを移動させる命令。
ルートのタイムラインのをと言うことなら_root.gotoAndStop();になるよね。
あと、ソース記載はコピペで。


657:654
06/02/04 08:32:34 z0+XKfg8
>>656
早朝からご回答ありがとうございます。
on (rollOver) {
_root.mov = -100;
}
on (rollOut) {
_root.mov = 0;
}
on(release){
  _root.gotoAndStop(3);
}

ってことですよね?でも、動きませんでした。エラー出ちゃいます
まさか、同じレイヤーじゃないと駄目な訳じゃないですよね?
あと、ボタンごとに欠くフレームに移動したいので
このタイムラインの各フレームにthis.stop();を入れてるんですが
それもおかしくはないですよね
なんで動かないんだろ
何処か間違ってそうなところ分かりませんか?

658:Now_loading...774KB
06/02/04 08:46:00 axMATYPD
>>657
mc座標の移動はmc._xとmc._yプロパティを設定することで行う。
movというインスタンス名を持つmcの座標を設定するには
mov._x=100;ルートにあるなら絶対パスで_root.mov._x=100;とかね。
pathが理解できていれば問題ないと思うぞ。
  _root.gotoAndStop(3);
^^^これはなんぞや。
コンパイルエラーが出ているならエラーを解決してからだね。

659:Now_loading...774KB
06/02/04 09:15:49 j2qShd6/
>>657
ひまだからサンプル作ってみた。

URLリンク(aploda.com)

660:654=657
06/02/04 10:17:09 z0+XKfg8
>>658
ありがとうございます。
この間買って来た本と格闘しながらつくってたんですが、いまいちよくわからなくって。
xとyの座標で設定するのは知ってたんですが、本に書いてなくて
それでも、移動はしてくれたので、まぁよし?とか思っちゃったんですが
それがまずかったのかな、作り直します。
ソレ、なんなんでしょう。。。すいません;

>>659
サンプルありがとうございます!!!!!
凄い分かり易い!参考に1から作り直します。
ホントにありがとうございました


661:Now_loading...774KB
06/02/04 10:21:32 jeiRZ/ye
>>649
うーん…、こんな感じかなあ?計算が冗長だけど。
function getPassage(a,n,t){
 a[2-t]= int(n/Math.pow(60,t))+a[2-t]
 return (t>0) ? getPassage(a,int(n%Math.pow(60,t)),t-1) : a.join("")
}
trace(getPassage(["時間","分","秒"],20736365/1000,2))

662:哲学者ナナーシァ・セブデック
06/02/04 11:31:25 TVhecWt7
a>d=3ma △ABC=180°540+180(□def)
a~ddd 4i(3no+502a)=540
□def=4i(3no+502a)
a~ddd+3s{540d(30s+54b)}×2=180
a~ddd+3s{540d(30s+54b)}×2=△ABC
540d-200=a
a+540d=3ma×2

663:Now_loading...774KB
06/02/04 16:43:53 axMATYPD
>>662
哲学とか数学とか記号論とかのスレの誤爆かな
ASスレなのでASしかわからんよ。

664:Now_loading...774KB
06/02/04 19:00:46 BbU3M0mp
誤爆でしょう

665:Now_loading...774KB
06/02/05 15:33:33 yY75V5WO
マウスクリックの反応領域について質問です。

ムービークリップAでは、onMouseDown = function(){~}によって、
マウスに反応して動く操作を定義しています。
ムービークリップBでは、ボタンを配置していろいろやっています。
Aの上にBがのっかるように配置されたとき、B上で操作しているつもりでも
Aのほうまでマウスクリックに反応して動いてしまいます。
Bでさえぎられた領域上ではAにマウス反応させないためには、
どうすればいいのでしょうか?

666:Now_loading...774KB
06/02/05 16:28:07 DW9eyhBx
>>665
hitTestで重なった場合にだけmcAの処理を中止とか、
深度を取得して上にあるほうの処理しかしないとか
分ければいいんじゃないかな。

667:Now_loading...774KB
06/02/05 16:53:27 nDngWA7j
>>665
onMouseDownをやめる。
onPressとかをつかう。

668:665
06/02/05 17:29:03 yY75V5WO
>>666
それはちょっと考えましたが、ほかのムービークリップの存在が
Aのコード内に入ってくるのがいまいちオブジェクト指向っぽく
ないので……。
ま、めんどいっしょ、それじゃ。ってのが本音です。

>>667
それです、ありがとうございます。
単純に置換しただけでほぼOKでした。
Bと重なっててもボタンがない部分ではやっぱりAが反応してしまったのですが、
Bの広さ分のダミーボタンを下に敷くことでうまくいきました。

669:Now_loading...774KB
06/02/05 18:38:57 VBHpLy9O
作成したswfを開いたときに、
はじめに1回だけloadMovieNumを発生させたいのですが
永遠と連続して発生してしまいます。
どうしたらよろしいでしょうか。。

670:Now_loading...774KB
06/02/05 18:50:39 8rPlWGWf
>>669
ループしてんじゃない?
this.stop();を書くとか。

671:Now_loading...774KB
06/02/05 18:55:07 VBHpLy9O
ありがとうございます!できました!

672:Now_loading...774KB
06/02/05 20:32:30 nhjoyPjE
とりあえずまずはflaファイルを…
URLリンク(www.uploda.net)
パス:DL

今度行くスキー合宿のゲーム大会で使うお題を表示するFLASHを作っているのですが、
お題の書いてある配列をシャッフルした後、お題をダイナミックテキストに順番に表示して行っても、
どうしても途中でエラーになって最後まで表示しきれません。
ランダムでお題を表示させると被るし、同じ配列のままだと何回も出来ないので、
シャッフルの機能だけは外せないのです…。
どなたか、どこが変なのか教えてください。

673:Now_loading...774KB
06/02/05 20:34:00 nhjoyPjE
すいません、質問する際はスレageた方が良いのでしょうか…?

674:Now_loading...774KB
06/02/05 20:40:50 JGBrottf
菅平.fla

675:Now_loading...774KB
06/02/05 20:43:19 nhjoyPjE
>>674
そう、長野県で一番寒いところだとか聞いてる(´Д`il!)

676:Now_loading...774KB
06/02/05 20:44:31 nhjoyPjE
あ、みんなスマン、パス大文字じゃなくて小文字だった、
ごめんよ…orz

dl

677:Now_loading...774KB
06/02/05 21:12:43 619/d2as
>>672
on (release) {
hensu += 1;
}
↑これがお題の配列数超えてもカウントアップしつづけるからじゃないの?
ifでお題の配列数でとめるか、%でループさせるか刷れば良いとおもうけど。

678:Now_loading...774KB
06/02/05 21:15:12 8rPlWGWf
>>672
エラーがでるってundefinedが表示されるって事なら
それは配列の最大数を超えてるから。
シャッフルするときfor文にhensu使ってるのでodai[180]から表示されてる
シャッフルが終わった時点でhensu=0を入れる。

679:Now_loading...774KB
06/02/05 21:27:31 nhjoyPjE
>>677-678
とても参考になります、
ありがとうございました。

680:Now_loading...774KB
06/02/05 21:52:56 nhjoyPjE
URLリンク(www.uploda.net)
PASS dl

undefinedの壁は乗り越えられたのですが、
今度は得点を表示させる所に問題が…orz

右方向キーで得点の変数に+1が加算されるようにしたはずなのですが、
これまたどうしてもいくらキーを叩いても数字が加算されません。

たびたび申し訳ありませんが、またお願いします…il!orz

681:Now_loading...774KB
06/02/05 22:35:47 nhjoyPjE
いかん、切欠なるような物を作ろうと思ってボタンを作っても駄目だ…。
どうしよう、何がいけないんだろう…il!orz

682:Now_loading...774KB
06/02/05 23:00:01 tm6LCWtb
ものすごく簡単だとは思うんですが、
ボタンを押すと(releaseで)シーンの移動をするという動作をさせたいんですが、
どう書けばいいんでしょうか?

683:Now_loading...774KB
06/02/05 23:24:26 619/d2as
>>680
お前好い加減にしろって。
ここ丸投げスレじゃないんだから、
根本的にAS理解してからこいよ。

>>682
gotoAndStop("シーン名", フレーム数)


684:Now_loading...774KB
06/02/05 23:49:39 nhjoyPjE
>>683
本当にごめん…orz
相対パスを絶対パスに直しただけでうまく行った…
勉強し直してくる(つД`)

685:Now_loading...774KB
06/02/06 00:09:26 NTPzadzn
>>681
ナニがいけないって、貴方のASの書き方がいけないんです。
>i + 2
コレでは i に2は加算されません。
>this.i = i + "点です";
i はすでに変数として使われているので、テキストフィールド名に i とつけるのは間違っています。
あと変数のパスがあっていません。

ソースだけ上げて~できるようにしたい。というのはもぅやめてください。
>>1をよく読んでください。

686:Now_loading...774KB
06/02/06 02:09:43 7buQPkEi
敵との当り判定を取りたいのですが弾が画面上に2個以上あると判定がされません
当り判定のソースはこれなんですがどこがいけないのでしょうか?><
onClipEvent (enterFrame) {
for (i=0; i<_root.tagsys.targetMax; i++) {
if (_root.tagsys.targetUse[i] == 1) {
for (hit=0; hit<_root.missys.GunMax; hit++) {
if (_root.missys.GunUse[hit] == 1) {
if (_root["target"+i].hitTest(_root["gun"+hit])) {
_root.hyouji = "判定あり";
} else {
_root.hyouji = "判定なし";
}
}
}
}
}
}


687:649
06/02/06 10:45:01 T9SSVhrP
>655,661
ほぁ~勉強になります
return使ったことなかった。
ありがとうです

688:Now_loading...774KB
06/02/06 11:38:18 WSO/0V1d
>>686
トレース入れるかデバッガで1ステップずつ追っていく。

689:Now_loading...774KB
06/02/06 14:32:49 237uZbTk
>>683
ありがとうございます。

gotoAndPlay("シーン",フレーム数)ではできましたが、this.gotoAnd.....ではできないんですが、
つけるとしたら他に何をつければいいんでしょうか?

690:Now_loading...774KB
06/02/06 14:51:16 WSO/0V1d
>>689
gotoAndPlay()とmc.gotoAndPlay()は別物。
シーンを指定する場合は前者しか使えない。
詳細はヘルプで確認。

691:654=657=660
06/02/06 20:06:50 /nvQS2QY
>>656 >>658>>659
本当にありがとうございました。しばらくネットにつなげない環境だったので
レスが遅くなりましてすみません、無事作動出来るようになりました。
もっといっぱい理解して他の困ってる方に教えてあげられるようになれたらと思います。
おせわになりました。

692:Now_loading...774KB
06/02/06 21:42:20 kJdzWrqO
>>686
取りあえず単純構造にしてやってみれ
わからん設定が条件に絡んでるからなんともいえんが、
大概は変数の設定がちゃんとできてないか、パスが違うか、だ

あとチェックは
>_root.hyouji = "判定あり";
より
trace("tag " + i + " gun " + hit);
とかの方がいいかもわからんが、まあそのへんはどうでもいいか


693:Now_loading...774KB
06/02/06 22:10:51 237uZbTk
>>690
たびたびありがとうございます!!!

694:Now_loading...774KB
06/02/07 13:23:22 umufhRhP
すいやせん、すごく簡単な質問。
if、for等の条件式のconditionで
( m + 1 == n )みたいに
比較演算子中に算術演算子を混入させることってできましたっけ?

695:Now_loading...774KB
06/02/07 13:30:28 oq3dMkYu
>>694
ん、うまくいかない事例を書いてくれれば悪いところが解るかもね

696:Now_loading...774KB
06/02/07 14:38:38 YAV7VGPZ
flash lite1.1でMCの中に入れたボタンの命令から
ルートのタイムライン上のラベルに飛ばしたいのですが
どうすればいいのでしょうか?



697:Now_loading...774KB
06/02/07 15:01:07 oq3dMkYu
>>696
flash lite1.1はしらんが、gotoAndPlayじゃだめかね

698:Now_loading...774KB
06/02/07 15:06:42 YAV7VGPZ
>>697
gotoAndStop()ではボタンがあるMCでgotoAndStop()してしまうのです。
flash5以上なら_root.gotoAndStop()でいけたんですが…

どうにも解決しないそうなら、ボタンをばらす方向でせめてみます…

699:Now_loading...774KB
06/02/07 15:12:50 d27xqGN1
telltargetじゃね?

700:Now_loading...774KB
06/02/07 15:25:51 umufhRhP
>>695
返事していただいて、自己解決してしまったなんて言えない…
しかも混入させる方法以外に解決方法があっただなんて更に言えない…

701:Now_loading...774KB
06/02/07 15:41:34 oq3dMkYu
np質問をしっかりと書いていく課程で解っちゃう場合も多々ありんす(古

702:Now_loading...774KB
06/02/07 16:44:32 3kfyA5sG
ASで特定のMCを別のレイヤーに移動させる方法ありますか?
レイヤーA ○
レイヤーB ↑■
レイヤーC ●
レイヤーCにあるMCをAに移して、BにあるMCより手前に表示させたいのですが。。。

703:Now_loading...774KB
06/02/07 17:19:51 BRAbRNj3
swapDepthsじゃダメなん?

704:Now_loading...774KB
06/02/07 17:46:36 3kfyA5sG
>>703
↑図のレイヤーBのMCの深度を変えたくなかったので。。。
でも一時的にcreateEmptyMovieClipでレイヤーBのMCの上にMCを作って
それとswapDepthsすることにしました。
・・・そこでまた質問なんですが
一番手前に表示されるようにと
_root.createEmptyMovieClip("temp_mc",_root.getNextHighestDepth());
this.swapDepths(_root.temp_mc);
(thisは手前に表示したいMC)
としたのですが手前に表示されません。
temp_mcの深度を調べると0でした。_root.getNextHighestDepth()は間違っているのでしょうか?

705:Now_loading...774KB
06/02/07 17:47:53 d27xqGN1
getNextHighestDepth()の位置にMC作ったのならswapする必要ないんじゃない?

706:Now_loading...774KB
06/02/07 18:24:28 3kfyA5sG
えっと、すでにあるMC(this)を一番手前の表示にしたいのです。
_root.createEmptyMovieClip("temp_mc",_root.getNextHighestDepth())で作った
MC(temp_mc)は空のMCで、一番手前の深度に作った(つもり)のです。
MC(this)とMC(temp_mc)をswapDepthsで入れ替えてMC(this)を浮き上がらせようという作戦なのです。

707:Now_loading...774KB
06/02/07 19:39:13 oq3dMkYu
>>706
NextHigh...使わずに自分で深度管理する。

708:Now_loading...774KB
06/02/07 20:23:24 3kfyA5sG
getNextHighestDepth()、ちょっとググってみたけどなんかバグっぽいみたいですね。
リリースによっては直ってるのかもしれないけど。(自分はMX2004)
trace(_root.getNextHighestDepth());
してみても何故かundefinedになるし(謎すぎ)

>>707
そうします・・・。

709:Now_loading...774KB
06/02/07 22:10:47 AC2NR9Yd
>>708
コンポーネント使ってる?
使ってたらそれが原因。

コンポーネントを一度配置すると、
コンポーネント内のオブジェクトが深度の上限超えた値使っちゃうので、
初期読み込みを行うルートのみgetNextHighestDepthで深度が取れなくなる。

このバグ対策はルートを使わず、
createEmptyMovieClipなんかで一個階層作ってその下で行えばOK。
(普通にMC配置してもいいけどね)

710:Now_loading...774KB
06/02/07 22:37:53 3kfyA5sG
>>709
コンポーネント、パネルを開いて見たことくらいはあるけど配置はしてないと思います。
そして_root以外のMC内の階層とかをgetNextHighestDepthで見てみようとしても
undefinedになりますorz
いま製作中のブツの開発環境がMX→8→MX2004って渡り歩いているので
もしかしたら深度とかいろいろやばいことになってるのかも(動くところは動いているので良いのですが)
ホントはできるはず!と思い横目で見ながら回避策とります。ありがとうです。



711:Now_loading...774KB
06/02/08 01:12:10 wFG37QGQ
>>710
コンポーネントは一度でも配置すると、消した後も影響するけど、
MC内でも取得出来ないのは謎だね。

深度は限界値があるから、
それ以上の値になってるのかもしれないけど、
とりあえず見えないから何ともいえないや。

712:Now_loading...774KB
06/02/08 04:01:41 5L1l4cyB
質問です 当方MXです
標準を定めて打つタイプの射撃ゲームを作っているのですが

”標準”(スコープ)の先にある対象を拡大したいのです
理想は サイト”冷蔵庫の中身”様の ゴルア13のようスコープです
本人様に直接聞こうと思ったのですが
メールフォームが無くサイトも更新されていないようなので・・・

xscale を使うとスコープ自体のMCが拡大されてしいまい、
その先の対象物は普通のままです

配置やスクリプトなど分かるかたがいればよろしくお願いします
簡単な質問で申し訳ありません



713:Now_loading...774KB
06/02/08 07:23:07 5S2ZdY1Z
ヒント:マスク

714:Now_loading...774KB
06/02/08 13:54:00 5A1xT4pc
>>712
「照準」な。

715:Now_loading...774KB
06/02/08 21:00:37 lxvm8bna
”マスク”で調べてみます 初めて聞く単語でした
初心者の相手ありがとうです

また不備があったら質問させていただきます

716:Now_loading...774KB
06/02/08 21:30:22 5sfMNnTJ
リスナーの使い方で困っています。
Windowコンポーネントの中に配置したButtonコンポーネントに、
メインフレームからリスナーを追加するということはできるのでしょうか?

function button_in_window() {
trace("test");
}
_root.window.content.test.addEventListener("click", button_in_window);

現在このような形でやっているのですが、ボタンを押してもtraceが実行されません。
Windowコンポーネントのインスタンス名はwindow
Buttonコンポーネントのインスタンス名はbuttonとなっています。

buttonインスタンス自身にon()を書けばいいのはわかっているのですが、
個人的なこだわりのためにメインフレームにASを全て記述したいのです。
どうぞよろしくお願いします。

717:Now_loading...774KB
06/02/08 22:18:26 5ue3d/Yo
_root.window.content.test.addEventListener

_root.window.content.button.addEventListener
じゃないの?

718:716
06/02/08 22:45:40 5sfMNnTJ
>>717
あ、実際作ったサンプルがtestで、書き込む際にわかりやすいようにと
書き直していたつもりがそのままでした…
かえってわかりにくくなってしまいすみません。

ちなみにbuttonで試しても無理でした。

719:Now_loading...774KB
06/02/08 23:34:47 y0qtO8OD
>>716
ボタンコンポーネント[名前:button]を含むMC(リンケージ識別子はbutton_mc)を用意する。
ステージ上にウインドウコンポーネント[名前:win]を配置

//フレームアクション
var myListener = new Object();
function button_in_window() {
trace("Button Clicked");
}
myListener.complete = function() { //contentPathが設定されると呼び出される
_root.win.content.button.onLoad = function() { //ボタンがロードされた時
//クリックイベント追加
_root.win.content.button.addEventListener("click", _root.button_in_window);
};
};
win.addEventListener("complete", myListener);
_root.win.contentPath = "button_mc";
//
なんか回りくどいやり方に見えるけどこうやんないと出来なかったので…。

ここ参考
URLリンク(www.fumiononaka.com)

720:Now_loading...774KB
06/02/09 00:44:01 n2vsdSrI
変数名が一部同じものを複数作る場合なんですが、
for文などで作ることってできるでしょうか?
Flash8です。

t1 = 0;
t2 = 0;
t3 = 0;
を作る場合

↓もちろんシンタックスエラーです;;

for (i=1; i<=3; i++) {
"t"+i =0;
}
trace(t2);
//結果=s2

よろしくお願いします

721:329
06/02/09 00:46:44 n2vsdSrI
>//結果=s2
//結果=0

間違えました。すいません。
for文でなくても、まとめて書ける方法があるでしょうか。

722:Now_loading...774KB
06/02/09 00:51:50 DgfNYtm7
>>720
配列使えばいい。
var t = new Array();
t[0]=0
t[1]=0
t[2]=0

723:Now_loading...774KB
06/02/09 00:52:59 oFgHp1IB
擬似配列でもいい
this["t"+i]=0

724:329
06/02/09 01:39:05 n2vsdSrI
>722,723
そうか。attachMovie使うときに似た物を使ってたわ
理解してないな~、どうもありがとうございます


725:Now_loading...774KB
06/02/09 01:39:08 vDqix1+3
MovieClipLoaderについて質問です。

_global.mcl = new MovieClipLoader()
|
+---ClassObjectA --- fileA.swf --- listnerA.onLoadInit = funcA
|
+---ClassObjectB --- fileB.swf --- listnerB.onLoadInit = funcB

現在、上のような構成です。グローバルにMovieClipLoader()オブジェクトを一つ置いています。
ClassObjectA の管轄で fileA.swf を読み込み、読込み完了時に funcA を呼び出したいので、
listnerA の onLoadInit に funcA を登録しています。
ClassObjectB でも同様です。

この構成だと、MovieClipLoader が共通のため、fileA.swf が読み込まれたときに
listnerA も listnerB も onLoadInit を呼び出してしまいます。
そのため、ターゲットムービークリップが適切かどうかの判断が必要になってしまいます。

そこで、以下のような構成にしようかと考えています。

なし
|
+---ClassObjectA --- fileA.swf --- mclA = new MovieClipLoader() --- listnerA.onLoadInit = funcA
|
+---ClassObjectB --- fileB.swf --- mclB = new MovieClipLoader() --- listnerB.onLoadInit = funcB

各クラスオブジェクトごとに MovieClipLoader を所持して、それぞれに Listner を登録すれば、
管轄内のファイルが読み込まれたときしか onLoadInit は呼び出されません。

軽く動作確認した限りではこれで問題なく動いたのですが、これはほんとに動くべくして動いているのでしょうか?
MovieClipLoader をググると、「単一の MovieClipLoader オブジェクトが、同時に複数のファイルの読込みを行う」
というサンプルは見つかるのですが、「複数の MovieClipLoader オブジェクトが、同時に複数のファイルの読込みを行う」
というサンプルが見つからないので、このやり方がなにか不正な動作を引き起こさないかどうか心配です。

726:716
06/02/09 08:27:09 CqZpFtGO
>>719
ありがとうございます!
おかげさまでちゃんと動きました!
簡単に言うとWindowコンポーネントの中に配置したコンポーネントは
完全に読み込むまでに時間差があって、すぐにはアクセスできないってことですかね?
今までにもWindowコンポーネントが期待通りの動きをしてくれなくて困っていたことがあったのですが
原因は同じことだったのかもしれません。

727:Now_loading...774KB
06/02/09 17:54:23 lTZYqZkJ
質問です。
function main_loop(){
 wait = true;
 mc.onEnterFrame=function(){
  if(this._currentframe==10){
   wait=false;
  }
 }
 while(wait){}
 ・・・
}
といったASで、mcが少し(10フレーム)再生されてからmain_loopの続きを実行したいのですが
mcは再生されずに、[応答なし]になってしまいます。orz
mc.onEnterFrameって完全に分離して動くわけじゃないのがわかったのですが
上記ASと同じようなことを実現させるにはどうのようなASを組めばよいでしょうか?
なるべく上記ASの構造は崩したくありません。(main_loopを抜けずにmc.onEnterFrameをつくるカタチ)

728:Now_loading...774KB
06/02/09 18:14:03 w49XHndo
できない

729:Now_loading...774KB
06/02/09 18:19:58 6ZQMJokC
 mc.onEnterFrame=function(){
  if(this._currentframe==10){
処理
delete this.onEnterFrame;
  }
 }
とかそんな感じ。
毎フレーム実行して、条件あったら処理して終了。って流れ

あと、whileは待ってもらうための機能ではないよ。
てことでいらない。

730:Now_loading...774KB
06/02/09 18:28:26 j/e1LLrw
>>727
//20カウントで終了
cnt = 0;
function main_loop() {
trace(cnt);
cnt++;
end = (cnt == 20) ? 1 : 0;
return end;
}
this.onEnterFrame = function() {
if (mc._currentframe == 10) {
main_loop();
if (end == 1) {delete this.onEnterFrame;}
}
};

731:727
06/02/09 19:20:28 1DYdPR5L
回答ありがとう。
やっぱonEnterFrame内に次の処理を入れとけってことですね…。
実はmain_loop内でこのmcが、特殊な場合のみ再生される予定でしたので
(onEnterFrameをifでくるむつもり)
その後の処理を別関数にしてonEnterFrame内に入れてみたり
else後にも入れてみたりしてみます。


732:Now_loading...774KB
06/02/09 23:34:47 0f6Bjax3
これでいいんじゃないの?

function main_loop(){
var count=0;
mc.onEnterFrame=function(){
  if(count<10){
count++;
return;
}
//続き
}
}

733:Now_loading...774KB
06/02/10 00:00:12 1tPtGrAD
レイヤー全体をスクロールするときはどうしたらいいんでしょうか?
そのレイヤー上には画像切り替えのパラパラアニメが置かれています。
パラパラアニメしながら全体がスクロールというものを作りたいんですが。

734:Now_loading...774KB
06/02/10 00:08:10 k0zDsfJJ
質問させて頂きます。
あるボタンを押すとWindow.createPopUp()で小さなwindowが出てムービークリップが読み込まれるようにしました。
on(release){
import mx.managers.PopUpManager
import mx.containers.Window
var smallWindow = PopUpManager.createPopUp(_root, Window, true, { title:"title", contentPath:"sWindow_mc" });
windowtmp = new Object();
windowtmp.complete = function(evtObj){
smallWindow.setSize(smallWindow.content._width+5, smallWindow.content._height + 35);
smallWindow.move(500,400);
}
smallWindow.addEventListener("complete", windowtmp);
}

この小windowに置いたyesボタンで異なる階層にあるムービークリップを動かしたいのですが、どうパスを設定すればいいでしょうか?
試しにyesボタンに
on(release){
 _level1.base_mc.moveTarget_mc.gotoAndPlay(10);
}
と書いてみたのですが動きませんでした。

それぞれのパスは
・小Windowを出すボタン _level1.button_1
・Window上のyesボタン _level1.depthChild0.content.yesButton
・動かしたいムービークリップ _level1.base_mc.moveTarget_mc
となっています。

よろしくお願いします。

735:Now_loading...774KB
06/02/10 00:10:37 Plah50FP
レイヤー単位での処理はできないよ
パラパラアニメ部分を独立したムービークリップにすれば、
それを動かせばOK

736:Now_loading...774KB
06/02/10 00:20:57 90+vIfzY
>>734
_levelは1であってる?
動かしたいムービークリップの中にtrace(this)かいてパス確認。

737:727
06/02/10 00:40:08 mSaDaIQV
>>732
はい。基本それで行こうと思いました。
もともとは以下のようなカタチで
function main_loop(){
 処理1・・・
 処理2・・・
}
処理1と処理2の間に、あるフラグが立ったときのみmcを再生させたくなって

function main_loop(){
 処理1・・・
 var count=0;
 if(flg){
  mc.onEnterFrame=function(){
   if(count<10){
    count++;
    return;
   }
  処理A 
  }  
処理2・・・
}
しかもこの処理Aとmc再生の間は処理2以降はちょっとタンマしてもらいたかったのでした。
処理1、2共に気合の入った処理だったであんまり動かしたくないなぁっていうワガママなのでした。

738:Now_loading...774KB
06/02/10 00:43:13 k0zDsfJJ
>>736
レスありがとうございます。
traceとオブジェクトのリストアップ両方しましたが、_level1.base_mc.moveTarget_mcでした。
小windowが出るとmoveTarget_mc同じフィールドに配置されているボタンが押せなくなりますが、このことに関係しているのでしょうか?
試しに_level1.base_mc.moveTarget_mc.gotoAndPlay(10); を小windowを出すかわりに、button_1に入れてみたら動きましたorz


739:Now_loading...774KB
06/02/10 11:53:35 1fUcmyvn
Flash8です。
複数あるテキストフィールド(t1,t2,t3)のどれかが変更されたら、
trace("Changed");を実行させたいのですが、出力されません。

//フォーカスのあるテキストフィールドを調べる
this.onEnterFrame =function(){
tName = Selection.getFocus();}
//テキストフィールドの内容が変わった時の処理
tName.onChanged = function() {
trace("Changed");};

そこで、
tName=t1;
と、具体的にテキストフィールドのインスタンス名を指定すると動きます。
何がいけないんでしょうか?よろしくお願いします。

740:Now_loading...774KB
06/02/10 12:08:53 PFSamJ/e
>>739
tName = new Object();
tName.onChanged = function() {
trace("Changed");
};
t1.addListener(tName);
t2.addListener(tName);
t3.addListener(tName);

でいいんじゃないかな?
たぶんこれで動くと思うけど間違ってるかもしれない。

741:739
06/02/10 14:00:11 1fUcmyvn
>740
ありがとう、動きました。でもごめんなさい
onSetFocus
onKillFocus
もつかいたいんで、
リスナーオブジェクトを避けてました
テキストフィールドのリスナーオブジェクトって、
上記の動作は使えないようです
(知識不足かもしれませんが)
説明不足ですいません。


742:739
06/02/10 14:04:46 1fUcmyvn
>739の追記です
テキストフィールドにフォーカスがきた時と、外れたとき、内容が変更されたときに、
処理をしたいと思っています。リスナーオブジェクトでいけるのかな?
よろしくお願いします。

//フォーカスのあるテキストフィールドを調べる
this.onEnterFrame =function(){
tName = Selection.getFocus();}
//テキストフィールドのイベント毎に処理
tName.onSetFocus = function() {
trace("Focus");};
tName.onKillFocus = function() {
trace("Out");};
tName.onChanged = function() {
trace("Changed"); };

743:Now_loading...774KB
06/02/10 15:25:28 PFSamJ/e
>>742
MXだけど8でも動くかな?

tName = new Object();
tName.onChanged = function(chgText) {
trace("Changed:"+chgText);
};
tName.onSetFocus = function(oldFocus, newFocus) {
if (newFocus != null) {
trace("Focus:"+newFocus);
}
if (oldFocus != null) {
trace("Out:"+oldFocus);
}
};
t1.addListener(tName);
t2.addListener(tName);
t3.addListener(tName);
Selection.addListener(tName);

744:Now_loading...774KB
06/02/10 23:47:46 T79Yaa+M
あるインスタンスの中に格納されている変数を
全部、別なインスタンスの中に移す、という処理をしたいのですが、
何かいい方法ありませんでしょうか?

格納されている変数のリストを参照する関数とかあるといいんですが・・・。

環境はwin XP,Flash 8です。

745:Now_loading...774KB
06/02/10 23:53:21 CIWoUwig
>>744
変数かどうかの判断はわからんけど、
for (obj in _root) {
trace(obj);
}

746:Now_loading...774KB
06/02/10 23:59:41 T79Yaa+M
ぉぉ! 糸口つかめました。
すばやい回答ありがとうございました。

747:Now_loading...774KB
06/02/11 15:13:43 WCWIzjn7
外部にある画像ファイルを読み込んで、それを並べて表示する、
という処理をしたいと思っています。
MovieClip.beginBitmapFill などを使えばいけるかもと思ったんですがどうですか?
(読み込む画像ファイルのサイズはバラバラ)

横方向にしか並べる予定がないので
サイズ取得して並べるという方法のほうがいいのかな・・・

どなたかお願いします。XP、Flash 8です。

748:Now_loading...774KB
06/02/11 15:51:16 AZOKNuH9
>>747
loadMovieは?
なんでファイルサイズ取得する必要がある?

749:747
06/02/11 16:05:30 WCWIzjn7
loadMovieだと1個しか表示されないみたいなんですが、
HTMLの背景のように敷き詰めて表示したいのです。。。

750:Now_loading...774KB
06/02/11 16:16:26 277HTIw2
ファイルの数だけ、空のMC作ってそれに読み込ませる。
MCはxy座標で移動させること。
8にファイルの数を取得する関数があれば良いけど、
無いならファイルの数は外部テキストで読み込ませる。

751:Now_loading...774KB
06/02/11 16:24:50 gBT9xPab
カスタム関数について質問です。
引数だけで値を呼び出し元に返せないんでしたっけ…。
例えば、下記のスクリプトでムービークリップ「MC1」のフレームを動かしたいんですが
上手くいかなくて。

//_rootのフレーム一行目AS
function testR(tPlace){
  tPlace = 6;
}

//_root.MC1.mc2のムービークリップAS
on(release){
  var MCtest;
  testR(MCtest);
  _parent.gotoAndStop(MCtest);
}

752:725
06/02/11 16:31:08 mwSYq/Ne
>>751

//_rootのフレーム一行目AS
function testR(){
  return 6;
}

//_root.MC1.mc2のムービークリップAS
on(release){
  var MCtest = testR();
  _parent.gotoAndStop(MCtest);
}



それはともかく、>>725は誰もわかりませんかねー。
無謀なことせずに、MovieClipLoader は一個で確実に動かすべきですか。

753:747
06/02/11 16:44:26 WCWIzjn7
>>750
やっぱりそれしかなさそうですね・・・
回答ありがとうございました。

754:Now_loading...774KB
06/02/11 16:57:02 gBT9xPab
>>752
ありがとうございます。
返せなかったのか……。

更に質問で恐縮なんですが、
関数から複数個の値を返したい時ってどうやってます?
例えば…私の勘違いしていた例>>751でやるなら下記みたいな感じの時です。

//_rootのフレーム一行目AS
function testR(tPlace1, tPlace2){
  tPlace = 6;
  tPlace = 10;
}

755:Now_loading...774KB
06/02/11 17:27:52 PMvln3DQ
>>754
配列やオブジェクト(内部的には同じっぺぇ)は参照渡しされるからそれつかったらええ

756:Now_loading...774KB
06/02/11 18:21:40 gBT9xPab
>>755
う、勉強不足でいまいち飲み込めないんですが、
こういう事ですか?

function testR(){
  tPlace = new Array();

}

757:Now_loading...774KB
06/02/11 18:24:51 gBT9xPab
>>756
途中で送ってしもた!
こんな感じですかね。

function testR(){
  tPlace = new Array();
  tPlace = [6, 10];
  return tPlace;
}

758:Now_loading...774KB
06/02/11 18:28:56 FjxsAZYA
>>757
最初のnew Array()は何がしたいの?

function testR(){ return [6,10]; }

でいいだろ。


で、どうしても引数を使って返したいというなら次の方法だ。

function testR(out){
out[0]=6;
out[1]=10;
}

var temp=[];
testR(temp);
trace(temp[0]);
trace(temp[1]);

759:Now_loading...774KB
06/02/11 18:39:35 gBT9xPab
>>758
どうもありがとう、すっきりわかりました。
new Array();は…明示的に書かないと(私が)解りづらくなってしまうって事でひとつの癖です。

760:Now_loading...774KB
06/02/11 18:45:06 FjxsAZYA
>>759
そのよくわからん癖は、このような風に変えた方がいい。

var tPlace:Array = [6,10];

761:Now_loading...774KB
06/02/11 19:04:39 xgpGZRji
横レスだけど

tPlace = new Array();
tPlace = [6, 10];

var tPlace:Array = [6,10];
って同じ?
varでローカルにするところが違うのかな?

762:Now_loading...774KB
06/02/11 19:13:22 FjxsAZYA
違う。変数のデータ型をArrayだと指定している。
Javaのような言語で表すと

Array tPlace = new Array();

と似たような感じ。
データ型指定はあまり普及してないんかな?

データ型指定がよくわからんなら、変数の末尾に_arrayと付けるのはどうだろう?
その変数に配列が入ってることが分かるし、入力支援も受けられる。


763:Now_loading...774KB
06/02/11 19:37:30 PK3az8rL
>>761
そう。スコープが変わってきてしまう。
なるべくvarで宣言しておいたほうがいいよ。

764:Now_loading...774KB
06/02/11 20:34:12 xgpGZRji
でも
tPlace = new Array();
ってだけでデータ型指定されてるってことになるでしょ?
ローカルorグローバル指定は用途によって異なるしどちらとも言えないけど。

あと
var tPlace:Array = [6,10]; ってvar外すと使えないのが前から謎です。

765:Now_loading...774KB
06/02/11 20:44:46 yvHzgles
自己流で変な癖が付く前に、基本を学んだ方がいいよ。

766:Now_loading...774KB
06/02/11 21:09:11 FjxsAZYA
>>764
>ってだけでデータ型指定されてるってことになるでしょ?
いや、ならないよ。

>var tPlace:Array = [6,10]; ってvar外すと使えないのが前から謎です。
データ型指定は変数宣言時に付けるモノだからね。

767:Now_loading...774KB
06/02/11 21:14:51 NDM1coPn
>>764
var 変数名:型
が一つのセットだからvarを外したらエラーになるだけ。
それからデータ型指定は、中身を指定するのが目的じゃなくて、
その変数には特定のデータ型しか入れられなくするのが目的。

つまり、エラーかどうかを判断したり、コードヒントを出したりという、
作り手にわかりやすくするための宣言という事。

tPlace = new Array(1,2)
でも、確かにtPlaceの中身は配列だけれども、その後に
tPlace = 10
と数値を入れることもできる。そういう用途にしたいのなら型宣言は
必要ないかもね。

でも、普通はそういう変な代入したときにきちんとエラーになってくれるように
var tPlace:Array = new Array(1,2)
と、型指定をするわけ。

768:Now_loading...774KB
06/02/12 00:43:53 bP5tyy4T
しつこかったらごめんなさい。
var tPlace:Array = new Array(1,2)
この書き方、ローカルの場合はいいけど、グローバルの場合はどうすればいいの?
var取るとエラーだし、var付けるとローカルだし。。。

769:Now_loading...774KB
06/02/12 00:50:26 ML0835Jd
>>768
グローバル変数は、ActionScript2のシンタックスの制限により
データ型指定は出来ない。

かといって、この↓書き方でも、データ指定は出来ていない。
tPlace = new Array();
tPlace = [1,2];

これは無駄に配列オブジェクトを生成して捨ててるだけ。


770:Now_loading...774KB
06/02/12 01:03:03 4ppzQo1+
>>768
グローバル変数は型定義できない。
でもタイムライン変数だったらメインのタイムラインでvarステートメントで宣言すればいいだけ。
ローカル変数だったらfunctionの中で宣言するだけ。
つまり、
_global.tPlace(グローバル変数)の型宣言はできないけど、
メインのタイムライン上で、
var tPlace:Array
とタイムライン変数の型は宣言できるし、
function hoge(){
var tPlace:Array
}
とローカル変数の型も宣言できる。

グローバル変数の型宣言はなんでできないの?という話になると、これはActionScript
がそういうようにできているから、としか言いようがない。

771:739
06/02/12 01:33:44 NrXXDOqh
>743
動きました。リスナーオブジェクトでいけるんですね
なんで自分は駄目だったんだろ
詳しく比較してみます。ありがとうございました

772:Now_loading...774KB
06/02/12 01:50:35 MWT3fjar
グローバル変数なんか使わない方がいいよ。


773:Now_loading...774KB
06/02/12 02:04:31 2v6eXnvu
それは…_global使うとプログラムに負担がかかるって事?

774:Now_loading...774KB
06/02/12 02:55:06 ML0835Jd
いや、プログラマに負担がかかる、と一般的には言われてるかな。


775:Now_loading...774KB
06/02/12 03:57:26 bP5tyy4T
>>770
なるほど。わかりましたありがとうございます。疑問が解けました。
~ = new Array()、2次元以上の配列のときに出番がくるのかな。


776:Now_loading...774KB
06/02/12 06:22:01 OntY83Ki
var myNumber:Number = new Number(3541);
trace(myNumber.toString(16));
とすると"dd5"という値が帰ってくるのですが、
これをまた10進法に戻す方法というのは無いのでしょうか?

777:Now_loading...774KB
06/02/12 07:20:43 pu9/miPc
>>776
parseInt(myNumber.toString(16), 16);
Number("0x"+myNumber.toString(16));

とか。

778:Now_loading...774KB
06/02/12 07:54:46 OntY83Ki
>>777
parseIntを使えばいいんですかー。
ありがとうございます!

779:Now_loading...774KB
06/02/12 09:34:23 eb/lcfbJ
>>773
そう。ローカル変数に比べてスコープを移動して走査する分遅くなる。
探す範囲が広くなるから遅くなるという事ね。
それと、多用するとプログラムが読みにくくなるというのもある。

780:Now_loading...774KB
06/02/12 09:56:58 jdpXcpZJ
遅くなるって、、、、なかなかすごい意見だ

781:Now_loading...774KB
06/02/12 10:16:15 jdpXcpZJ
>>776
また戻すというか、NumberはNumberだから、表現方法を変えるだけ。
違うものになるわけじゃない。

782:Now_loading...774KB
06/02/12 10:48:54 eb/lcfbJ
>>780
常識だっての。試してごらん。

//ローカル変数利用
var t = getTimer()
function hoge(){
var v = 0
for(i=0;i<100000;i++)v+=i
return v
}
v = hoge()
trace([v,getTimer()-t])

//グローバル変数利用
_global.v = 0
var t = getTimer()
function hoge(){
for(i=0;i<100000;i++)v+=i
return v
}
v = hoge()
trace([v,getTimer()-t])

783:Now_loading...774KB
06/02/12 10:53:06 eb/lcfbJ
>>781
toStringの戻り値は文字列だからNumberじゃない。まったく別物。

784:Now_loading...774KB
06/02/12 10:56:55 jdpXcpZJ
で、何msちがうの?

785:Now_loading...774KB
06/02/12 10:58:25 jdpXcpZJ
>>783
そんなのあたりまえじゃん。Number自体を変えるということではないよということでし。

786:Now_loading...774KB
06/02/12 11:18:32 oe8Ewmel
>>782
じゃあ、return _global.v;とスコープをちゃんと解決させたらどうなるの?


787:Now_loading...774KB
06/02/12 11:51:49 jdpXcpZJ
>>782
質問でし
iがvar宣言されてないから1度目のローカル..の方で宣言され、それがグローバルの
方でも使われる。ここで差が出る。あと、vでは無く_global.v=にしないと意味がない。
vという変数が新たに定義されそれに対して演算してる。この疑問に答えてちょ。

788:Now_loading...774KB
06/02/12 12:12:32 Fqke+fej
782のscriptを走らせた結果
local:650ms
global無し:900ms
_global有り:800ms

_global.vとしてもlocal変数の方が早かった。

>>787
>iがvar宣言されてないから1度目のローカル..の方で宣言され
コメントアウトしてそれぞれを実行した。
>vでは無く_global.v=にしないと意味がない。
_globalまでvを探しに行く。

789:Now_loading...774KB
06/02/12 12:20:35 jdpXcpZJ
>>788
参照はできるが、代入なり演算処理ではvは隠蔽されると思われるが。

790:Now_loading...774KB
06/02/12 12:29:55 jdpXcpZJ
_global .v = 0;
v=1;
trace(_global.v +":"+v);
な、感じ。

791:Now_loading...774KB
06/02/12 12:51:48 1eThsiou
>>789
あー! だから_globalつけずに代入しようとしたときにローカルに勝手に同一名が作られたんだ。

速度のことも含めて、勉強になったよ。オマイラ、ありがとう。

792:Now_loading...774KB
06/02/12 12:52:31 Fqke+fej
>>790
>参照はできるが、代入なり演算処理ではvは隠蔽されると思われるが。
納得。

_global.v = 100;
var t:Number = getTimer();
function hoge():Number {
for(var i:Number = 0; i < 100; i++) {
v++;
}
trace(v);//200
return v
}
hoge();
trace(_global.v);//100

793:Now_loading...774KB
06/02/12 21:21:22 2xlKm2kG
loadMovieについての質問なのですが、
最初にindex.swfというファイルを再生させたあと、その中にある
いくつかのボタンをクリックするとa.swfやb.swfなどをloadMovieするようにしています。
ですがa.swfをロードしたあと、たとえばさらにb.swfをロードさせたり
またa.swfをロードさせたりc.swfをロードさせたりすると
その都度それぞれのムービーが再生される前に一瞬だけ
index.swfの最後のフレームが表示されてしまいます。
画面がちらつくようでなんとか回避したくてググったりもして調べたのですが、
解決法がわかりませんでした。
つたない説明で恐縮ですが、どなたかご教示お願いします。

794:Now_loading...774KB
06/02/12 21:57:33 iaF8GvTC
flashとphpを組み合わせて遊んでいるのですが、
これらは同じドメイン内に置かないとダメですよね?

ナントカして違うドメイン間で通信させたいのですが、
何かよい方法はないものでしょうか。
どうぞよろしくお願いします。

795:Now_loading...774KB
06/02/12 22:32:23 FPRFZjh/
>>793
最小構成で試してもそうなる?
他にASかいてたり、this.stop()かいてなかったりしない?

796:Now_loading...774KB
06/02/12 22:35:28 0oaspviG
crossdomain.xmlをおけばダイジョーブ

797:Now_loading...774KB
06/02/12 22:49:04 iaF8GvTC
>>796
おー ホント助かりました!
ありがとう

798:Now_loading...774KB
06/02/13 04:32:05 EyJLc4KW
OSに関することになるかもしれませんが…質問させて頂きます。
静止テキストからリンクをはる対象がWindowsのユーザ名やMacOSXのユーザ名のとき、どのようにユーザ名を取得すればいいのでしょうか?
不特定多数のユーザに対応して「C:/Document and Settings/hogehoge/」や「/Users/hogehoge/」にリンクを作りたいです。
このような時はhogehogeのところにユーザ名取得の何かを入れると思うのですが…
よろしくお願いします。

799:Now_loading...774KB
06/02/13 11:01:42 tSD93hw4
flashでRSSを読み込みたいのですが、初心者なので何をどうしたらよいのかよくわかりません。
どなたか簡単にご説明頂けないでしょうか?


800:Now_loading...774KB
06/02/13 11:41:54 cNjYzG/C
>>799
RSSリーダーを作れというなら皆、断ると思うよ。
ヒントが欲しいとか、作ってみたが上手く行かないとかなら
教えてもらえるはず。
とりあえずFlashでxmlを処理する方法でも調べてみたら?

801:Now_loading...774KB
06/02/13 13:59:49 y/taBPuw
CGIから値を受け取るときに、
配列を受け取れたら便利だなあと思っています。

そこで、hoge[1]=abc&hoge[2]=def&... というものをCGIに送信させて受け取ってみたところ
[ や ] . が %2Eなどにエンコードされてしまってうまくいきません。

うまい方法はないでしょうか?
環境はXP, Flash 8 です。よろしくお願いします。

802:Now_loading...774KB
06/02/13 14:08:08 VcbY23Q3
>>801

hoge1=abc&hoge2=def&...

で、Flash上でアクセスするときは

this["hoge" + i]

にすれば、実質配列があるのといっしょでしょ。


803:Now_loading...774KB
06/02/13 14:12:08 wPIzLkaU
>>801
xml使う。簡単なテキストなら難しくないよ。

804:Now_loading...774KB
06/02/13 14:18:18 cNjYzG/C
>>801
UTF-8に変換すればいいんじゃない?

805:Now_loading...774KB
06/02/13 14:46:20 y/taBPuw
さっそくのお答えありがとうございました。
いろいろ試してみますっ。

806:Now_loading...774KB
06/02/13 17:03:38 C0NdvhUj
質問です。
mc.gotoAndPlay();や mc.gotoAndStop(); って、
括弧内に変数を指定する事ってできないんでしょうか。

変数内の数値を渡しても動かないので、
ムービークリップ「mc」のフレームラベルに
現在のフレームと同じ数値を入力し、
toString()で文字列に変換して渡しても無理だったんで…

807:Now_loading...774KB
06/02/13 17:28:21 rQstAk8M
>>806
物凄く単純な実験用のファイルを作って、いろいろやってみるといい。

808:Now_loading...774KB
06/02/13 19:20:24 wPIzLkaU
>>806
んなわきゃない。どうせpath違うとか、変数が文字列とか、そういう問題だろ。
文字列の場合はその名前のラベルにヘッドが移動する。

809:その1
06/02/13 19:24:59 DqUprnRC
長くてすいませんけど、詳しく書かないと伝わらないかもしれないので、
申し訳ないですけど分割して書き込ませてもらいます。

格子状に並んだ四角形を奥行きがあるように手前に飛び出たり
奥に引っ込んだりさせて、面(布みたいな、水面みたいな)が波打ってるようにしたいんですけど。
それそれの四角には変数Zを設定して
クリックした四角はデフォルトの変数Zに向かってバネの動きをさせて
その隣の四角はクリックした四角のZに向かって緩やかに減速しながら近付くようにして
そのまた隣の四角はクリックされた方向の隣の四角のZに向かって減速しながら近付くというふうにスクリプトを書きました。
例えば縦3横3の面を作るとして、下図のようにmc1からmc9までにそれぞれmc番号・縦番号・横番号を設定して
mc1・1・1 mc2・1・2 mc3・1・3
mc4・2・1 mc5・2・2 mc6・2・3
mc7・3・1 mc8・3・2 mc9・3・3
どこかのmcがクリックされたときに、変数click1から9と、変数targetMc1から9が設定されます。
targetMcが、上のmcのときは自分の縦番号-1、右のmcのときは横番号+1というふうに設定されます。

810:その2
06/02/13 19:25:42 DqUprnRC
そしてルールさせるスクリプトは
i=0;
while(i<9){
 i++;
 if(eval("click"+i)){
  eval("ZV"+i)=デフォルトのZに向かってバネ運動
 }else{
  eval("ZV"+i)=targetMCのZに向かって減速接近
 }
 eval("Z"+i) += eval("ZV"+i);
 //
 以下はそれぞれmcの_x、_y、_xscale、_yscale、depthsに変数Zによって得られた数値を代入するスクリプト
}
というふうにを書きました。
で、だいたい思うような動きにはなったんですけど、一つ致命的な不具合が発生してしまいます。

811:その3
06/02/13 19:30:00 DqUprnRC
問題は減速しながら近付くときの減速値で、ZV = (targetMcのZ-自分のZ)/減速値という式で
減速値を1に設定した場合、本来なら縦3横3の面全体が同時に動いて大きくなったり小さくなったりして
全体として動くけど、面自体が波打つようには動かないはずでしたが
mc1をクリックした場合にのみ、そのように正しく動くのですが、
その他のmcをクリックした場合はなぜかズレが生じてしまいます。mc9をクリックした場合は順々に波打ってしまいますし
まん中のmcをクリックした場合は変なふうにブロック状にいっしょに動くmcとズレて動くmcとができてしまいます。

これはflashの特性みたいなものなのでしょうか?
while文は1から始めて9が最後に計算されるからなのか、どこが原因なのでしょうか?
番号で管理するやりかたに無理があるのか・・・?
これはflash5で作ってるのですけど、最新のflashでは解決法があったりとかするのでしょうか?
長くてすいませんけど、教えてほしいです。

812:Now_loading...774KB
06/02/13 19:44:29 wPIzLkaU
>>811
ぱっと見だが、iは1から8まででいいのか?

813:Now_loading...774KB
06/02/13 19:48:32 wPIzLkaU
あ、<か、スレ汚しごめん。

814:809から811
06/02/13 19:51:06 DqUprnRC
>>812
ありがとうございます。

iは8の状態で最後の繰り返しに入って
まず+1されるので結局9になるというふうしました。
そこは間違ってないと思います。
動きはズレの問題がさえなければそれなりに正常に動いているので。

815:Now_loading...774KB
06/02/13 20:03:58 C0NdvhUj
>>807-808
うー、遅れたけど確認しました、ありがとう。

816:Now_loading...774KB
06/02/13 20:36:03 9THCFsld
どこかにflaでもUPしてみればいいと思うよ。

817:Now_loading...774KB
06/02/13 21:18:51 X5jTIWg+
function selectDirectory(image_num) {
if (image_num < 10000) {
return ("00000");
} else if (image_num > 9999 && image_num < 20000) {
return ("10000");
} else if (image_num > 19999 && image_num < 30000) {
return ("20000");
} else if (image_num > 29999 && image_num < 40000) {
return ("30000");
}
}

こんな感じで、たとえば12345を与えると
"10000"と戻ってくるような関数を作ったのですが、
もっと効率のいい書き方はないものでしょうか?

818:Now_loading...774KB
06/02/13 21:35:05 GyqWhagF
>>817
方針としては
(1)まず1万で割る
(2)小数点以下を切り捨てる(Math.floor)
(3)1万倍する

でいけると思うんだけど。

819:Now_loading...774KB
06/02/13 21:36:30 2YBOxFA8
>>817
function ValentineDayHaisi(n){
return int(n/1000)+"0000"
}
10000で割って切り捨てたのに0くっつけりゃいいんじゃね?

820:Now_loading...774KB
06/02/13 22:18:28 X5jTIWg+
>>818
>>819
おおーありがとうございます。
お礼です
つ[チロルチョコ]

821:809から811
06/02/13 22:41:16 DqUprnRC
flaファイルをアップしました。
URLリンク(uploaderlink.hp.infoseek.co.jp)

上で書いたのとはちょっと違うんですけど
縦5横5に増えてます。mcの名前はcell1からcell25になってます。
otherDampという変数を増やすと波打つ動きになって、1にすると波でなく板状になる
はずだったのですが、cell1をクリックしたときは正常に動いているようになりますけど
それ以外の四角だとズレがでてしまいます。
otherDampが1以上でも動き自体はズレているのですが、全体として波うっているので
そのズレが目立たないだけってことですけど。

while文っていうのは同時にmcを動かしてるわけじゃないってことですかね。
同時に動かすにはどうすればいいのでしょうか?

822:Now_loading...774KB
06/02/13 22:52:50 7l17HVAg
>>821
常に1なら
on(press){
_parent.mcClick(1);
_parent.mcPush(1);
}
じゃないと駄目だべ。

823:809から811
06/02/13 23:01:25 DqUprnRC
>>822
常にcell1を押すのではなくて
どのcellを押しても
otherDampが1なら板状に、1以上なら波になるようにしたいのです。


824:Now_loading...774KB
06/02/13 23:32:32 7l17HVAg
だからそれしたいなら引数が1じゃないと駄目じゃねーの?
今のコードは前のcellの位置や大きさに引数分だけ変化させる
コードなんだからさ。
うpしたのはotherDampに依存してなくね?

825:809から811
06/02/14 00:00:50 AWUPAnZX
>>824
しつこくてすいません
on(press){
 if(_parent.otherDamp==1){
  _parent.mcClick(1);
  _parent.mcPush(1);
 }else{
  _parent.mcClick(mcNum);
  _parent.mcPush(mcNum);
 }
}
って書くということですか?
たしかにこうするとotherDampが1のときは
どのmcを押しても板状に動きます。
でもズレを根本的に消してるわけじゃないですよね。
自分の説明が悪かったと思います。
otherDampが1の状態に限らず動きのズレを消したいということなのです。
otherDampは常に1なのではなくパラメーター操作のように
スライドバーかなんかで調節できるようにしようと思っているのですが。
波状に動かしているときのズレを消すのはやはり無理なのでしょうか?

826:Now_loading...774KB
06/02/14 00:11:25 Kr6Uz1AQ
じゃあ
function mcClick (clickNum) {
j = 0;
clickNum=otherDamp


function mcPush(pushNum){
pushNum=otherDamp

でいいんじゃね?雑な修正だけど。
つーか内容わかってる?丸写し?

827:Now_loading...774KB
06/02/14 00:12:25 Kr6Uz1AQ
なんかめんどくさそうだから他の誰かに任せた。バイバイ。

828:809から811
06/02/14 00:50:11 AWUPAnZX
>>826
教えてもらってんのに
否定ばかりですいませんけど
でもclickNumとかpushNumというのは
あくまでもeval("click"+○)とかeval("ZV"+○)というような
それぞれのcellの番号に対応した変数を番号指定するための変数で
otherDampというのはループスクリプトの中の
eval("ZV"+k) = (eval("tagMc"+k).nowZ-this["cell"+k].nowZ)/otherDamp;という
減速接近の式につかう減速値なので
clickNum=otherDampというように代入するのは
ちょっと違うと思います。
ちなみにこのスクリプトは他人のものを丸写しにしたりとかしてません。
自分で書いたことは理解してます。
わからないのは、ステージ上にあるmcを同時にリアルタイムに動いているようにしたいのに
タイミングがズレているところでして。はじめはそれぞれのmcの中のフレームに
スクリプトを書いて動かしてみたものの、同時に動かず、
ならば親mcにすべての子mcを動かすスクリプトをかけばいいのかと思い
while文を使ってみたものの上手くいかないという状態です。

829:Now_loading...774KB
06/02/14 01:13:59 KHaV1oh6
evalがうちではエラーはくからめんどい


830:Now_loading...774KB
06/02/14 01:51:54 KHaV1oh6
>>828
おまいさんの長文はマトモに読んでないし、
ソースも適当にみた感じだが、
とりあえず、
処理順が頭からで、押したcellより前のcellのnowZの値は、その時点でのnowZを参照する
したがって、押したcell以前のtagMc参照はそのフレームでセットした値じゃない
だからズレル
最初の1枚は最初に値をいれられ、それ以後のcellはターゲットとしてその値を使うからずれない

仕様とかなんとかじゃなく、そういう設計のスクリプト

解決方法まで考えるのめんどいしもう寝る
あとはがんがれ


831:809から811
06/02/14 05:54:40 tlzB0qh4
>>830
なんかわかんないですけど
手がかりみたいなものは見えてきました。
ありがとうございます。
クリックした番号からはじまって放射状にナンバリングしなおして
その順番でwhile文でループさせるというやり方くらいしか
自分には思い浮かびませんけど・・・。


832:Now_loading...774KB
06/02/14 15:44:01 ocCQ0f62
>>817
明治ミルクチョコでいいでし。。。順番変えると大変なことにw

var aa:Number = 39999;

function selectDirectory(image_num:Number):String {
if (image_num > 40000) return ("OutofOrder");
if (image_num > 29999) return ("30000");
if (image_num > 19999) return ("20000");
if (image_num > 9999) return ("10000");
return "00000";
}

trace(selectDirectory(aa));

833:Now_loading...774KB
06/02/14 19:01:36 gEtqHe+n
PHPを利用してwww.hoge/index.php?id=0001 などとして
表示されるWebページ上のFLASHにこのID=0001を取り込みたいのですが
どのような方法がありますか?


834:Now_loading...774KB
06/02/14 19:06:32 hy+7RG6R
>>833
swfに引数渡す

835:Now_loading...774KB
06/02/14 20:47:47 jyi6//Z2
くっそー!

gotoAndPlay(0)で最初のフレームに戻ってくれねーから、
なにが原因なんだと30分ぐらい悩んだぜ!

フレームは1スタートだからgotoAndPlay(1)が正解だったなんて!

836:Now_loading...774KB
06/02/14 21:44:28 KsNyUi7Y
フラッシュ8を使ってます
質問させてください
下記のASを用いてボタンを押すと2p、3p、4pと次のページに進む
絵本(?)の用なものを作っています
次のページには進めますが、最後のページから最初のページ
(1フレ目)に戻りたいのに戻れません


this.stop();
b1.onRelease = function() {
gotoAndStop(2);
};
b2.onRelease = function() {
gotoAndStop(3);
};
b3.onRelease = function() {
gotoAndStop(4);
};
b4.onRelease = function() {
gotoAndStop(1);
};

助けてください

837:Now_loading...774KB
06/02/14 22:38:44 2vDPATjY
fla見ないとワカンネ

838:Now_loading...774KB
06/02/14 22:43:30 lh/CLm4y
あるMovieClipの上に載っているコンポーネントに、そのMovieClipのクラスから
アクセスするには、どうすればよいのでしょう。

例えばLabelのTextプロパティに、外からアクセスするには、
hogeMC.label.text でアクセスできますが、自分のクラスの内部から
アクセスしようと、this.label.text ではアクセスできません。

教えていただけませんでしょうか。お願いいたします。

839:Now_loading...774KB
06/02/14 23:05:36 ZtgAM75b
>>836
そのスクリプト書いたフレームより後ろにb4ボタンない?
か、インスタンス名がおかしいか。

>>838
とりあえずtrace(this)でthisがなんかのか確認してみれば?

840:Now_loading...774KB
06/02/14 23:25:57 KsNyUi7Y
>>836です

>>837
ここにあげるのがちょっと恥ずかしいフラなんですが。。。

>>836
インスタンス名は間違えないです
何回も確認した上、たった二文字をコピペしました
b4ボタンは後ろも前にもないです

841:Now_loading...774KB
06/02/14 23:27:09 KsNyUi7Y
>>840
アンカーまちがえたスマソ
最後の>>836宛は>>839宛です

842:Now_loading...774KB
06/02/14 23:28:50 jyi6//Z2
質問です。

mc_Aは空のムービークリップです。
mc_Aに、beginFill,lineStyle,moveTo,lineTo,endFill を利用して多角形を描画します。
mc_B.setMask(mc_A) としたのですが、マスクされていません。

動的に描画された多角形ではマスクできないのでしょうか?

843:Now_loading...774KB
06/02/14 23:29:39 LhWvktVW
>>840
}のあとに;っているっけ?

844:Now_loading...774KB
06/02/14 23:36:53 ocCQ0f62
>>842
多角形はやったことないけど、円ではできるよ。
lineStyleとbeginFillの色を合わせてべた塗りっぽくしてみるとか。

845:Now_loading...774KB
06/02/14 23:45:28 Bl5ZaEzQ
>>843
いるよ

846:Now_loading...774KB
06/02/14 23:52:04 LhWvktVW
>>845
自分MXでよくわからなかった。すまぬ。

847:Now_loading...774KB
06/02/14 23:59:17 Bl5ZaEzQ
いや、おれもMX。
付け忘れてもスクリプトの揃え?チェック?をすると自動的に付くけど。

848:Now_loading...774KB
06/02/14 23:59:33 ocCQ0f62
無くても問題ない。俺の場合、むしろ、見づらくなるからつけない。

849:Now_loading...774KB
06/02/15 00:01:32 /YmA9sJB
>>840
ボタンじゃなくてMC?
とりあえずそのASより後ろにあったらだめ。

そのFlaじゃなくても最小構成で作ってUpすれば?

850:846
06/02/15 00:02:15 +d2C5g/w
>>848
そういうことか~!自分も付けない派だったってことか!サンクス

851:840
06/02/15 00:18:17 4EC/FqmV
>>849
うしろにはないです。ボタンはすべて違うインスタンス名つけてます。なんでだ。
ってところで、違う方法で強制的に解決しました
戻るボタンでそのフラが置いてあるhtmlをリンクさせるって言う・・・。
一瞬白くなりますが、、、まぁいいかと。
なんっていうか、すいませんお騒がせいたしましたorz


852:842
06/02/15 00:20:08 xNwKbwtR
>>844
レスありがとうございます。
円を描くのって、
URLリンク(www.fumiononaka.com)
にあるように、curveTo を使用するのですよね?

だったら、beginFill,lineStyle,endFill を利用した基本は同じですから、
多角形で出来ない道理はないですね。

きっと、自分のしょーもないミスでマスクされてないだけなのでしょう。
もっかい調べてみます。

853:Now_loading...774KB
06/02/15 00:23:33 hAjIZOge
>>852
ああ、出来るよ。
マスクした後で描画しても出来る。
深度がマスクするMCより上じゃないと駄目とかじゃね?

854:Now_loading...774KB
06/02/15 00:26:33 xNwKbwtR
>>836で記述されてるスクリプト、1フレーム目に書いてあるのかな?
gotoAndStop,gotoAndPlay は「今処理しているフレーム」には飛べない。
そのへんが問題なんじゃないかな。
ダミーフレームを入れれば飛べるようになりそうな予感。

855:Now_loading...774KB
06/02/15 00:30:56 hdPnaVLD
>>845
どこに出てた?

856:Now_loading...774KB
06/02/15 00:38:52 +d2C5g/w
>>854
おれもそんな気がする・・・。

857:Now_loading...774KB
06/02/15 00:42:25 B3LdgDLG
>>855
MXなら、エキスパートモードで適当に関数を代入で作成してからノーマルモードにしてみ
その時点で;がついてる
で、そのまま編集して警告でるが無視して、エキスパートモードもどるとそのまま;がついてる

まあ、普通に意味考えれば;いるのはわかるっしょ
無くても問題はないけどね

function 名称(){}定義ではいらん


858:Now_loading...774KB
06/02/15 00:58:08 hdPnaVLD
ぶっちゃけASは勉強中だからよーわからんのけど、ありがと。
解説本読み込んでみるわ。

859:840&851
06/02/15 01:00:07 4EC/FqmV
>>854 >>856
1フレじゃなく、AS用のレイヤー作ってそこに頭からケツまでのばして書き込んでます
ってことは、AS書き込んでた所が間違いだった...?

860:Now_loading...774KB
06/02/15 01:03:40 /YmA9sJB
>>859
なんでhtmlがでてくる?
swf内で処理してるんでないの?

861:859
06/02/15 01:07:47 4EC/FqmV
>>860
最後まで行ったら、最初に戻ってほしくて、
そのフラが置いてあるhtmlごと更新してしまえ...と...orz


862:Now_loading...774KB
06/02/15 01:08:04 B3LdgDLG
>>859
URLリンク(www.uploda.org)
上ので作るならこんなんかね
フレーム伸ばしてもキーフレーム打たなきゃ1フレーム目に書いてるのと同じ


863:859
06/02/15 01:19:43 4EC/FqmV
>>862
そうなんですか!なるほど。だからだめだったんだ。凄い納得
ってか、アレから今の間にこのフラ作ったんですか!!すごい。
此処の人ってみんなこのくらい凄いんですかね。
初心者がお邪魔しましたorz
再び頑張ってきます


864:863
06/02/15 01:44:03 4EC/FqmV
出来ました!!!もの凄くどうもありがとうございました
無事フラ内で戻れるようになりました。お騒がせいたしました

865:Now_loading...774KB
06/02/15 01:45:49 +d2C5g/w
>>864
よかったね!ガンガレ

866:842
06/02/15 02:00:10 xNwKbwtR
あ~、やっぱりくだらないミスでした。
最初に

mc_B.setMask(mc_A);

とセッティングしておいていろいろやってたのですが、途中、

mcl.loadClip("hoge.swf",mc_B);

をしてたせいで、ファイルの読み込みが完了した瞬間にマスクのセットも外されてたみたいです。
onLoadInit 内で setMask することで解決しました。


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