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

このエントリーをはてなブックマークに追加
1Now_loading...774KB
AcitonScriptのことなら
初歩的な質問でもなんでもおk

見れない、保存したい、flashを作りたいはスレ違い

●質問する時は自分の環境を書く
●質問はものすごい勢いじゃなくて結構
●できるだけコードも示す
●自分が試してみた処理を書く

過去スレ
ActionScript 誰かが物凄い勢いで解答するスレ 5
http://pc5.2ch.net/test/read.cgi/swf/1103196358/
ActionScript 誰かが物凄い勢いで解答するスレ 4
http://pc5.2ch.net/test/read.cgi/swf/1095080177/
ActionScript 物凄い勢いで怪盗するスレ その3
http://pc5.2ch.net/test/read.cgi/swf/1085202423/l50
ActionScript 物凄い勢いで解凍するスレ その2
http://pc5.2ch.net/test/read.cgi/swf/1079068678/
ActionScript 物凄い勢いで誰かが質問に答えるスレ
http://pc5.2ch.net/test/read.cgi/swf/1070704688/

関連スレ、サイト、書籍は>>2あたり
2Now_loading...774KB:05/02/12 20:29:43 ID:PqpEL5pK
関連スレ
actionscriptに行き詰まった厨が語り合うスレ2
http://pc5.2ch.net/test/read.cgi/swf/1059977784/
【AS】ActionScript技術交換スレ Part2 (ASを完全に組める人向け
http://pc5.2ch.net/test/read.cgi/swf/1071929938/l50

ASお勉強さいと
FLASH ActionScript Helper (初級〜中級。ASの概念をじっくりと
ttp://homepage3.nifty.com/ginga-b/
はりぼてあくしょんすくりぷと (ホンさんの分かりやすい解説
ttp://www.geocities.co.jp/Milano-Cat/4036/bote/index.html
FumioNonaka.com (AS辞書正誤表なども
ttp://www.fumiononaka.com/

AS書籍
おしえて!!Macromedia FLASH MX Action Script (イラスト入りで分かりやすい
macromedia FLASH ActionScriptバイブル (リファレンス本
続FLASH ActionScriptバイブル MXのツボ (上の続編、MXに対応
Macromedia Flash Mx 2004 Actionscript 2.0 Dictionary
Actionscript for Flash Mx: The Definitive Guide
購入は書籍店か、アマゾンあたりで。
3Now_loading...774KB:05/02/12 20:49:43 ID:PqpEL5pK
テンプレ追加

Flash情報交換フォーラム
ttp://www.3enhancedesigners.com/
ttp://www.flash-jp.com/
4Now_loading...774KB:05/02/13 16:36:59 ID:aEFKJt4F
>>1
乙〜

>>
前スレ埋め立てヨロー
5Now_loading...774KB:05/02/13 17:40:04 ID:xzTLprLE
MX2004 XPです ある参考書の例文で
○     |
↑     ↑
MC    goal_x
として、MCにAS

//バネ運動
onClipEvent (load) {
deccel = 4;//減速の度合
goal_x = 250;//ゴール位置
}
onClipEvent (enterFrame) {
//加速度は距離から算出
dist = goal_x - this._x;
accel = dist /deccel;

speed += accel;
this._x += speed;
}

これをプレビューするとMCがgoal_xの右に移動→また左へのばね運動をするのですが、
なぜでしょうか?loadで、speedの初期値がないのならば、これはgoal_xでとまるのではないので
しょうか?直前に左右に減速しながら移動するMCの項目はりかいしたのですが、
これは少し疑問におもっています。どなたか解説よろしくお願いいたします。
65:05/02/13 17:45:45 ID:xzTLprLE
今、自分なりに考えたのですが、EnterFrameだから
左にあるMCがフレームごとに加速がたとえば30.20.10・・・のように
goal_xに向かって付いていき、goal_xを通過したら逆に少しずつ加速値が-10.-20.-30のように
減速していく、という感じでしょうか?
説明下手ですが、こんな感じでしょうか?
7Now_loading...774KB:05/02/13 17:48:35 ID:xe6h36cz
真中に、trace(dist)入れれ
マイナスの値が入るはず
85:05/02/13 17:52:10 ID:xzTLprLE
>>7
その通りになるました。こういうことだったのですね。
ありがとうございました。
9Now_loading...774KB:05/02/13 17:53:00 ID:aeCdOnC6
10Now_loading...774KB:05/02/13 17:58:36 ID:qDQ6p/wR
1、こんなMCをつくりました。

 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
 | 削除します よろしいですか?  |
 |      ____  ____     |
 |    |  Yes  |  |  No  |    |
 |     ̄ ̄ ̄ ̄    ̄ ̄ ̄ ̄   |
  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 

           ↓
11Now_loading...774KB:05/02/13 18:00:22 ID:qDQ6p/wR
2、_rootにYesを押したら処理Aを実行するActionScriptを作りました。

if ( YesNoMsg() == "Yes") {
 処理A();
}


3、関数YesNoMsgの中身を作ります。
私はYesかNoを押すまで無限ループをする処理を思いつきました。
が、プレビュー中にFlash2004がフリーズしてしまいました。

ええ馬鹿です。


関数YesNoMsgの中身は、
1、確認MCをattachMovieする
2、ユーザがYesかNoを押すまで待つ。
3、Yesだったら"Yes"、Noだったら"No"を返す。


こういうプログラムは
もしからした実現不可能なのでしょうか?

このMCは汎用的に使いたいので
Yesボタンに処理Aを埋め込むのってのは無しでお願いします。
12Now_loading...774KB:05/02/13 18:02:34 ID:xe6h36cz
addlistener
1312:05/02/13 18:16:27 ID:xe6h36cz
いあ、違う。
mouseDownと
yesボタン.hitTest(マウスの座標)

ダイアログ出ているとき操作できなくしたいみたいだが
実際作ると面倒だよ。時代に逆行したプログラミングだし

画面いっぱいのボタンに、useHandCursor=flaseで
他のもののクリック誤魔化せるかもしれないから試してみては
14Now_loading...774KB:05/02/13 18:52:11 ID:L7p4nmi5
おっさん、本買って一冊読めよ。
15Now_loading...774KB:05/02/13 20:38:13 ID:aEFKJt4F
ちがうよ、オサーんはウインドウズ3時代にイジメラレタンダヨ。
大目に見てやれよ。
16Now_loading...774KB:05/02/14 07:10:28 ID:kIfYcIrh
>>10です
しくしく
あのMCは
時代に逆行したオサーんの考え方なんですね。
VBみたいなプログラミングスタイルは
敬遠されるとですね。

ボタンにイベントをaddEventListenerして解決しますた。
17Now_loading...774KB:05/02/14 16:04:52 ID:ygF/Tq/c
彼女の肛門から消化できなかったモヤシが出ていたので質問させてください。
/* フレームすくりぷと */
onEnterFrame = function () {
if (Math.sin(ball_mc.hoge)<=-0.99) {
clear();}
if (ball.foo>=1) {
lineStyle(1, 0x0000ff, 100);
} else {
lineStyle(1, 0xff0000, 100);}
moveTo(0, 200);
lineTo(_root.ball._x, _root.ball._y);};
/* ball_mc すくりぷと */
onClipEvent (enterFrame) {
hoge += 0.2;
_x += foo;
_y = 200+hoge*5*Math.sin(hoge);
if (_x>=450 || _x<=0) {
foo = -foo;
hoge = -hoge;}}
onClipEvent (load) {
foo = 2;
hoge = 1;}
この様に、移動しているballに対して固定点からラインを描写しているのですが、
現在はある点に到達した際に clear() をしてそれまでの線を消す制御を取っています。
ここで質問なのですが、俗に言うチェイスオブジェクトのように、描写し終えたラインに対してディレイを掛けて消して行く方法はありますでしょうか。

残像5本で消したい場合、5つの関数をインクリ変数制御でその都度呼び出して描写→消去していく方法は思いついたのですが、
残像数が増えた時の事を考えて、もしも一つの関数内で制御する方法があればと思って質問させてもらいました。
何か方法がありましたら是非ともご教授くださいませ。よろしくお願いします。
18Now_loading...774KB:05/02/14 16:06:38 ID:ygF/Tq/c
非常に見にくくて申し訳ありませんです。
ball_mc と書いてないのは記述ミスです。失礼しました。
19Now_loading...774KB:05/02/14 17:49:17 ID:99+kP6ci
>17
まずは線引き用の空MCを5つ用意しましょう。
それで再チャレンジして。
20Now_loading...774KB:05/02/14 17:49:44 ID:t+yeBOJj
Flash Lite 1.1でやってます。

functionがないのでcallでフレームのスクリプトを呼び出すことになるのですが、
functionにおけるreturnのように途中で呼び出し元のスクリプトに戻すことは
できないでしょうか? もちろん戻り値などの処理は必要ありません。
21Now_loading...774KB:05/02/14 18:00:07 ID:m8erKS3W
MX使っています。
ActionScriptで、JavaのClass.forName().newInstance()に
相当する操作は出来ないでしょうか?
勢いでこんなコードを書いてみましたが、

var name = "Test";
var obj = eval("new " + name + "()");

やはりダメでした。
なにかうまいやり方はあるものでしょうか?
22Now_loading...774KB:05/02/14 18:03:31 ID:ygF/Tq/c
>>19
やはり残像数だけ複製させて仮想的に戻り値を持たせるのがよさそうですね。
ありがとうございました。
23Now_loading...774KB:05/02/14 19:54:58 ID:x4N/cyJ8
初心者です。
環境
winXP
FlashMX

外部から変数を取得するときについてです。
<EMBED src-"sample.swf?txt="test"" ......
の用にswfを呼び出したとき
txtとtestはAS側からどのようにすれば取得できるのでしょうか?
よろしくお願いします。
24Now_loading...774KB:05/02/14 20:04:41 ID:xhj7/Y+E
_root.txt
25Now_loading...774KB:05/02/14 21:53:59 ID:hcJ1sffe
>>21
var obj = new [name]()
//var obj = new _global[name]()
26Now_loading...774KB:05/02/15 01:45:15 ID:C/ODpJiI
var obj:Test = new Test(); の場合は?
2721:05/02/15 20:02:08 ID:2Hg1jMV0
>>25
インスタンスキターーーーーーーー!!!!!
25はネ申。
サンクスコ!
28Now_loading...774KB:05/02/16 15:16:09 ID:+2/c4bjO
ボタンのスクリプトを教えて下さい。

ムービーは最初からBGMが流れています。
BGM再生中にボタンにオンマウスすると
[■停止]シンボルが表示され、クリックでBGM停止。
BGM停止中にボタンにオンマウスすると
[▲再生]シンボルが表示され、クリックでBGM再生。

MAC OS XでFLASH 5を使用しています。
よろしくお願いします。
29Now_loading...774KB:05/02/16 16:04:18 ID:DCFAhde6
ネット上に公開した(または、された)ライブカメラ映像を
フラッシュの中に取り込みたいんですけど
どうしたらいいのかわかりません
どなたか教えてください
3029:05/02/16 16:06:26 ID:DCFAhde6
ちょっと説明不足だったので付け足します
フラッシュの中に取り込むというのは
たとえば公開されているライブカメラ映像に
フラッシュで枠をつけたしたりして公開したりするということです
説明下手ですいません
31Now_loading...774KB:05/02/16 16:09:08 ID:E9khMryb
>>28
//MCボタン、インスタンス名はcontrolBtn
//ラベルレイヤー、スクリプトレイヤー、テキストレイヤー、ボタン形状レイヤーを作成
//1フレーム:ラベル "none" 、テキストレイヤーは無記入
//2フレーム:ラベル "start" 、テキストレイヤーは「再生」、スクリプトレイヤーにthis.stop();
//3フレーム:ラベル "stop" 、テキストレイヤーは「停止」
//以下MCボタンクリップイベント
onClipEvent (load) {
btnFlg = "stop";
}
on (rollOver) {
this.onEnterFrame = function() {
if (btnFlg == "stop") {
this.gotoAndStop("stop");
this.onMouseDown = function() {
stopAllSounds();
btnFlg = "start";
};
} else if (btnFlg == "start") {
this.gotoAndStop("start");
this.onMouseDown = function() {
_parent.mainBGM.start(0, 999);
btnFlg = "stop";
};
}
};
}
on (rollOut) {
this.gotoAndStop("none");
}
32Now_loading...774KB:05/02/16 16:12:27 ID:cOl0xs3N
FlashMX 2004 Professional + WinXP です。デバッガについて教えてください。

クラスは外部ファイルなのでブレイクポイント付けられませんが、どうやって
デバッグすればいいですか?

fla から明示的に呼び出すメソッドならともかく、イベントで呼び出されるメソッドは
ブレイクポイント付けられないと追っかけられないです・・・
33Now_loading...774KB:05/02/16 16:17:57 ID:qRvJUObk
>>30
無断かい?隣接権とかありそうな希ガス
ライブカメラ映像製作者、著作権管理者と相談しガンがってください

それが嫌ならテーブルででも配置すればいいさ
34Now_loading...774KB:05/02/16 16:20:18 ID:qRvJUObk
>>31
fla5だと匿名関数いけなくない?
う〜ん、条件変えてやるならありそうだけど。
サウンド用のMC用意して、そいつをとめたり再生ヘッド送ってやったり
35Now_loading...774KB:05/02/16 16:20:55 ID:pdoN00mN
>>28
Flash5ならこんな感じがいいかも。
MCを作り、
1フレーム目に停止ボタンを置く
2フレーム目に再生ボタンを置く
1フレーム目にフレームアクション stop();
ボタンはオーバー等の各フレームにそれなりの絵を入れておく。

停止ボタンのアクション
on( release ){
gotoAndStop(2);
音楽の停止用アクション
}

再生ボタンのアクション
on( release ){
gotoAndStop(1);
音楽の再生用アクション
}
3628:05/02/16 16:49:13 ID:+2/c4bjO
>>31
ありがとうございます。
>>35
ありがとうございます。

教えて頂いた方法で両方試してみようと思います。
とても助かりました。
37Now_loading...774KB:05/02/16 19:23:30 ID:h6E3ecpN
環境
FlashMX
Win2000

質問
MovieClip.loadMovieの正否の確認はどうすればできるでしょうか?
どこまで読み込んだとかじゃなくて読み込み自体が成功したかどうかです。
ファイルが存在しなかった場合等を判定したいです。

getBytesTotalが0かどうかで判定するとかでしかできないでしょうか?

お願いします。
38Now_loading...774KB:05/02/16 19:48:30 ID:HP28j+f5
>getBytesTotalが0かどうかで判定
うん。
39Now_loading...774KB:05/02/16 20:03:41 ID:GJ7R9PfC
>>37
loadMovieじゃなくてMovieClipLoaderってのつかいなしゃい。
40Now_loading...774KB:05/02/16 20:07:35 ID:A4P9Oxcz
どこで質問すべきか迷ったのですがこちらで質問させてください。
環境はMXとWindows2000ですが、flaファイルに何かすることができないので
環境は特に気にしないでください。

下記のようなメールマガジン配信登録を行なっていました。

1.ユーザーがswfにメールアドレスを記入して送信ボタンを押す

2.(ColdFusionが動いているサーバ内)cfmファイルにPOSTでメアドを渡す

3.cfmファイルが受け取ったメアドでDB内検索

4.検索の結果に応じてcfmファイルが"a" "b"などをswfに返す

5.cfmファイルから返ってきた変数を受け取って表示が変化する

上記のものをColdFusionを使わずにやるということになってしまいました。
flaファイルがないので指定されているcfmファイルは変えようがなく
当該cfmの頭にPHPを記述してPHPで値を返そうと思ってますが
思ったように返せなくて行き詰まっております。
どういった記述をすればswfの方で受け取れますでしょうか?
Action Scriptのソースだけは抜いたので晒しておきます。
4132:05/02/16 20:11:37 ID:cOl0xs3N
>>32です。しつこくてすみません。
皆さん困ってないんでしょうか?
クラスつくった時のデバッグってどうやってるんですか?
4240:05/02/16 20:13:34 ID:A4P9Oxcz
ソースです。
足りなかったら他も探してみます。
よろしくお願いします。

onClipEvent (load){
url = "***.cfm";
function (){
();
_parent;
sendLoadVars = new LoadVars();
loadLoadVars = new LoadVars();
loadLoadVars.onData = function (data){
(_parent);
_parent;
ret = data;
if (ret == -1){
_parent.mcMailForm.gotoAndStop("ok");
} else if (ret == 0){
_parent.mcMailForm.gotoAndStop("ngErr");
} else if (ret == 1){
_parent.mcMailForm.gotoAndStop("ngDouble");
} else if (ret == 2){
_parent.mcMailForm.gotoAndStop("ngInvalid");
4340:05/02/16 20:14:11 ID:A4P9Oxcz
続きです。

} else{
_parent.mcMailForm.gotoAndStop("ngErr");
} // end if
ret = NULL;
(_parent);
} // End of the function
();
} // End of the function
initLoader = function ();
function (){
delete("sendLoadVars");
delete("loadLoadVars");
initLoader();
} // End of the function
resetLoader = function ();
function ()
{sendLoadVars.email = _parent.mcMailForm.txtEmail.text;
sendLoadVars.sendAndLoad(url, loadLoadVars);
} // End of the function
sendData = function ();
initLoader();
_parent.mcMailForm.gotoAndPlay("normal");
}
44Now_loading...774KB:05/02/16 20:18:16 ID:GJ7R9PfC
>>41
デバッグはブレークポイントだけかよ。
そもそもブレークポイントなんてそんなに使ったことないし。

>>40
質問の意味が不明。
こうやったが駄目で何処が悪いかなら答えやすいが
どう記述したら、という質問は答えようが無い。
45Now_loading...774KB:05/02/16 20:24:03 ID:0/L3tei/
>>40
上司に聞けよ。
46Now_loading...774KB:05/02/16 20:34:06 ID:W3QTpmjJ
ソースだけは抜くって、ちゃんとFla作ったとこに筋と金通してソースファイル貰えよ。
つーか、普通そのソース見りゃ何返せばいいかわかんだろ。
PHPの書き方なら他所で聞けよ三流業者。
4732=41:05/02/16 20:36:38 ID:cOl0xs3N
>>44
どうも。ブレイクポイント以外だと trace とかで出力するってことですか?
かなり原始的だなあ。
assert も無いから自分でデバッグ用の条件式埋め込んで、
コード汚さなきゃいけないんでしょ?

OOPだのなんだの言っといて、肝心のクラスのコードでデバッガ使えないなんて
ありえないよなあ。きっと俺がどっか間違ってるんだと信じたい。
48Now_loading...774KB:05/02/16 20:41:13 ID:0/L3tei/
OOP実装とデバッガ実装混同イクナイ。
4932=41=47:05/02/16 20:45:49 ID:cOl0xs3N
>>48
いや、混同じゃなくてさ。
C++やJavaの開発者も取り込みたがってると思うんだよ、Macromediaは。
ActionScriptも2.0でだいぶOOP的に洗練されたし、Flashプロジェクトなんて
バージョン管理用の仕組みも導入されたし。

なのにデバッグ環境が貧弱っていうか、外部ファイル使う場合には存在しないってのは笑い話だよ。
俺が勘違いしてるんじゃなければ。

少なくともそんな貧弱な開発環境で本格的にチーム開発なんてできるわけない。
試験とかどうすんだよって感じ。
50Now_loading...774KB:05/02/16 20:48:46 ID:0/L3tei/
論点のすり替え最悪。
51Now_loading...774KB:05/02/16 20:51:51 ID:GJ7R9PfC
理論をまとめると

OOP実装なら当然デバッグも実装だよな
なんだよ騙された!無いじゃないか。
デバッグつけないでOOP実装するなんて最悪だ!謝罪しる!

こんなこと言ってるわけだが。
5240:05/02/16 20:55:01 ID:A4P9Oxcz
ごめんなさい。質問が下手で…。
辛うじてわかる人間が自分のみで、それでもさっぱりな技術なので…。
元のcfmは↓こうなっております。
<CFSETTING ENABLECFOUTPUTONLY = "Yes">
<CFPARAM NAME="email" DEFAULT="">
<CFIF email NEQ "">
<CFQUERY NAME="chkEMAIL" DATASOURCE="s">
 //DB内に#email#が存在するかどうかチェック
</CFQUERY>
<CFIF chkEMAIL.cnt NEQ 0>
<CFOUTPUT>1</CFOUTPUT> //重複
<CFELSEIF chkEMAIL.cnt EQ 0>
<CFQUERY NAME="insEMAIL" DATASOURCE="s">
 //存在しないので#email#をinsert
</CFQUERY>
<CFOUTPUT>-1</CFOUTPUT> //正常に登録
<CFELSE>
<CFOUTPUT>0</CFOUTPUT> //上記以外でエラー
</CFIF>
<CFELSE>
<CFOUTPUT>2</CFOUTPUT> //未記入
</CFIF>
5340:05/02/16 20:56:17 ID:A4P9Oxcz
それでまず未記入を返そうと思い、下記のように記述しましたが
うまく返せませんでした。$_POST['email']には格納されているようです。
<?
$email = $_POST['email'];
if(!isset($email)) {
$data = "2";
print "sendLoadVars = $data";
}
?>
ただ変数名がおかしいだけなのでしょうか…。
5449:05/02/16 20:56:23 ID:cOl0xs3N
>>50-51
いや、勘違いさせたんならすまん。
別にMacromediaを責めてるわけでも何でもなくて、
本当にクラスのコードをデバッガで追えないの?
他の部分は頑張ってるのに何でこんなに大事なとこが
実装されてないのかなあ?もったいないな〜って感じだよ。

ていうか本当にみんな、trace使ってデバッグしてんのか?
55Now_loading...774KB:05/02/16 21:00:28 ID:0/L3tei/
>>54
おれ、traceしてるよ。その方が楽だし。何でデバッガなんてかったるい物使うかなと思う。
デバッガなんて無いのが普通だと思ってるからなんも苦もないし。

つか、40むかつく。
56Now_loading...774KB:05/02/16 21:00:42 ID:GJ7R9PfC
つうかなんでここ数年で登場したスクリプトが
今主体のプログラムレベルまで高機能だと思うわけよ。
57Now_loading...774KB:05/02/16 21:01:54 ID:GJ7R9PfC
>>52
板違いだってば。
58Now_loading...774KB:05/02/16 21:02:42 ID:8aOf7oU1
>>39
MovieClipLoadertというのは知りませんでした。
MovieClipLoaderってMXでも使えるんですか?

ttp://www.fumiononaka.com/TechNotes/Flash/FN0501003.html
59Now_loading...774KB:05/02/16 21:18:02 ID:GJ7R9PfC
ああ、そうかMXか。
じゃああきらめるしか・・・。
60Now_loading...774KB:05/02/16 21:23:57 ID:hICh04rb
mxはエラーで処理停止になっから、無理なんだよ
2004でloaderがエラーを返す仕組みになったから、出来るようになったんだよ
61Now_loading...774KB:05/02/16 21:42:19 ID:qh8y2XJx
漏れ40知人かも。
すんげえ似た案件メールで相談してきた

頑張れで済ませたが・・・
62Now_loading...774KB:05/02/16 21:47:57 ID:5dHdma8h
知人というか上司?
63Now_loading...774KB:05/02/16 21:56:12 ID:8PspwmVS
>>49
2004proだと、デバッガでステップインして見ていくしかないね。
インスタンスを扱う箇所で止めて、ステップインしながらクラスの処理を確認。
複雑な作りだと面倒だけど、現状はそれが一番かな。

#assertとtraceってそんなに違う?止まるか止まらないかの差じゃない?
64Now_loading...774KB:05/02/16 22:55:50 ID:mVm5XVqL
actionscript2.0について詳しく解説しているサイトありますか?
65Now_loading...774KB:05/02/16 23:06:23 ID:46cxytM8
JAVAの入門サイトがお勧め
66Now_loading...774KB:05/02/17 00:57:25 ID:JB7fBCaN
>>64
マルチする場合は向こうのスレにこっちで聞く旨を伝えるようにして欲しい
答えてくれている人が可哀想じゃないか
67Now_loading...774KB:05/02/17 00:59:17 ID:JB7fBCaN
スマン。>66間違えた。
向こうから誘導された事を書くように。
68Now_loading...774KB:05/02/17 01:12:41 ID:VU+1qOQf
>>64
本を買った方がいいが>>65の言うようにほぼ概念はJavaだ。
69Now_loading...774KB:05/02/17 04:52:13 ID:a3xfMbW7
MACos10/FLASHMX2004/safari、IE、netscape

http://www.fumiononaka.com/TechNotes/Flash/FN0307007.htmlの
外部swfファイルを読み込む記述をしました。

フレームに記述したactionscript
stop();
this.MC.loadMovie("test/test.swf");

ムービークリップMCに記述したactionscript
onClipEvent (data) {
if (this.getBytesTotal()>0 && this.getBytesLoaded()>=this.getBytesTotal()) {
this.gotoAndPlay(2);
}else{
this.stop();
}
}

そして読み込みの対象となるswfファイルには
LOADINGの文字が点滅するムービークリップが1フレーム目に配置されています。

これをアップロードしてプレビューしたところ
読み込みの間1フレーム目でずっと停止が行われる・・・はずなのですが
読み込み中何も表記が行われません。要因はどこにあるのでしょう?
よろしくおねがいしますです。
70Now_loading...774KB:05/02/17 04:53:45 ID:a3xfMbW7
しまった、直リンしてしまった・・・(汗
71Now_loading...774KB:05/02/17 10:14:03 ID:VU+1qOQf
読み込みの対象のswfに書かなきゃ駄目だよ。
72Now_loading...774KB:05/02/17 10:29:46 ID:x+KW9sEV
>>59
>>60
ありがとうございました。

2004買うかなぁ
73Now_loading...774KB:05/02/17 12:19:33 ID:8irsPhRY
アドベンチャーゲームみたいなもので、文字を一文字ずつ表示させたいんですがどうすればいいでしょうか。
74Now_loading...774KB:05/02/17 12:52:35 ID:KW1vXCDs
もういいから
つまらん釣りはよせ
75Now_loading...774KB:05/02/17 13:03:12 ID:r3TzBq29
>73
1読んで
76Now_loading...774KB:05/02/17 16:07:33 ID:fsna1xS6
>>73
一文字ずつムービークリップしてタイムラインに一つずつ配置
77Now_loading...774KB:05/02/17 17:21:46 ID:mLeJNurU
Math.randomで、同時に違う数字を出す方法教えてください。
環境はFLASH5です。
78Now_loading...774KB:05/02/17 17:26:43 ID:WbBYEFrH
>>71
サンプルを開いたところ読み込み対象のswfではなく
swfを読み込むムービークリップに直接asが記述してあるから違うかと。
79Now_loading...774KB:05/02/17 17:27:02 ID:xcwrkFpV
>>77
完璧に同時は難しいな。
どのくらいの精度での同時?
80Now_loading...774KB:05/02/17 17:32:29 ID:DdFPCoZv
>>77
2回実行すればいいのでは?ちゃんと違う数字を返してくれるよ。
81Now_loading...774KB:05/02/17 17:34:56 ID:xcwrkFpV
>>77
ひょっとして、配列作ってシャッフルして取り出すとかのことかな?
82Now_loading...774KB:05/02/17 17:57:30 ID:mLeJNurU
返答サンクスです。
>>79=81
スイッチAを押したら、変数Aと変数Bに
それぞれ違う数字を代入するようにしたいんです。
できますかねぇ・・・。
>>80
ふむ・・・。
2回実行ですか
ちと試してみますね。
83Now_loading...774KB:05/02/17 18:09:27 ID:xcwrkFpV
>>82
昔、同じような質問に回答したような気がするが、こんなんだったような。0〜9ランダム
r = 10;
a = Math.floor(Math.random()*r);
b = ( a+1+Math.floor(Math.random()*(r-1)) ) % r;
84Now_loading...774KB:05/02/17 18:11:38 ID:KW1vXCDs
hensuA = Math.floor(Math.random()*xxx);
hensuB = Math.floor(Math.random()*xxx);
85Now_loading...774KB:05/02/17 18:12:17 ID:DdFPCoZv
漏れはFXで試して普通に返り値が変わってるけど、5だとSEED変えてないとか
そう言うオチですか?
8684:05/02/17 18:13:13 ID:KW1vXCDs
あ、違う数字か。
同じになっちゃダメなのね。勘違いスマソ。
87Now_loading...774KB:05/02/17 18:17:56 ID:mLeJNurU
>>83
おお、サンクスっす。

>昔、同じような質問に回答したような気がするが
そうですか・・・。
すいません、これからは過去スレもちゃんと読むようにしますね(゜・ω;:..

とにかく、ありがとうございました〜
88Now_loading...774KB:05/02/17 18:20:30 ID:oD/mSao3
==を使えばいいんじゃね?
89Now_loading...774KB:05/02/17 19:08:54 ID:fsna1xS6
MX 2004 pro + WinXPです。

class Hoge extends MovieClip {
Hoge() {
trace("Hoge");
}
}

のようなMovieClipを継承するクラスをつくって

var hoge: Hoge = new Hoge();

とやっても当然?ながら何も表示されません。
これを表示させるようにするには
createEmptyMovieClip() か attachMovie() を使うんですか?
その場合MovieClipを継承したクラス名はどうやってメソッドに渡せばいいですか?
90Now_loading...774KB:05/02/17 19:13:52 ID:F6lRasZc
>>83
それうまいことやってるね〜
bのmath.randomで出る値が9以上だったら、aと被るから
9以上を出さないようにしてるんだね。
うん、うまい
91Now_loading...774KB:05/02/17 19:44:53 ID:21JilLmW
マウスチェイサーの動きにバネのような動きを加えたいのですが
うまくいきません(´;ω;`)ウッ…
マウスを動かす早さに比例して、マウスを止めた時にチェイサーも比例して動き
反復運動しながら静止する。というような動作です。
言いたい事うまく伝わるかな?(´;ェ;`)ウゥ・・・

環境はFlashMX2004です。

どなたか教えてください。
92Now_loading...774KB:05/02/17 20:20:07 ID:jR4il2Bl
とりあえずバネの動きを、x方向のみで作ってみれ
ここの少し前のログに似たスクリプトあるし。
9391:05/02/17 21:18:02 ID:21JilLmW
上にあるログを参照して試してみたのですがやっぱりダメでした(´;ェ;`)ウゥ・・・
deccelやaccel等の記述の仕方も使ったことがない(スクリプトの検索でも見つからない)
のでどうしたらいいかさっぱり。。。
独学で

onClipEvent(enterFrame){
this._x += _xmouse (*か/の後に数値を入れる事によって遅れてついてきたりする)
this._y += _ymouse (*か/の後に数値を入れる事によって遅れてついてきたりする)
}

までは分かったんですけど
どなたか私にアドバイスお願いします。
9489:05/02/17 22:11:58 ID:fsna1xS6
ヘルプによると、あらかじめ空のムービークリップをライブラリにつくっておいて、
リンケージでクラスを指定しておき、attachMovieClip 呼び出せいと書いてありました。

スクリプトだけでできないですか?
95Now_loading...774KB:05/02/17 22:18:32 ID:VU+1qOQf
>>93
変数の使い方を覚えなさい。
速度の変数ってものが必要。
9691:05/02/17 22:54:55 ID:21JilLmW
>>92 95
レスありがとうございました。
私の買って読んだ参考書には速度の変数って載ってなかったので
その存在自体知りませんでした。
もう一度自分で調べて出直してきますね。
お手数かけました。
97Now_loading...774KB:05/02/17 22:58:18 ID:rK17DBaS
右クリックを制御するスクリプトってあるんですか?
Keyオブジェクトのようなものがあれば理想なんですが。。
98Now_loading...774KB:05/02/17 23:29:14 ID:VU+1qOQf
>>97
あります。
99Now_loading...774KB:05/02/17 23:34:38 ID:5kPSqyy6
>>97
ASnative(800, 2)(2)
100Now_loading...774KB:05/02/18 08:22:22 ID:OMP4hmz8
class Hoge extends MovieClip {
function Hoge() {
trace("Hoge");
}
function Hoge2() {
trace("Hoge2");
}
}

var hoge:Hoge = new Hoge();
hoge.Hoge2();
101Now_loading...774KB:05/02/18 14:50:33 ID:svt1a71x
MC1のボタンを押すと、MC1内ボタンが無効・MC2内ボタンが有効になり
MC2の中にあるボタンを押すとMC1が再び有効に、MC2が無効になるASが
動作がうまいこといきません。
MC1のAS
on (release) {
_root.MC2.onPress={};
_root.MC2.enabled = true;
_root.MC1.onPress={};
_root.MC1.enabled = false;}
MC2のAS
on (release) {
_parent.gotoAndPlay(9);
_root.MC1.onPress={};
_root.MC1.enabled = true;
this.onPress={};
this.enabled = false;}

クリックしても交互に有効・無効にならないんです。
一体どうしたらいいんでしょうか。
102Now_loading...774KB:05/02/18 15:02:44 ID:11k+GFk+
フラグ使えばどう?
//MC1
on(release){
if((_root.flag++)%2==0){
/*有効です*/
}
}
//MC2
on(release){
if((_root.flag++)%2==1){
/*有効です*/
}
}
103Now_loading...774KB:05/02/18 15:03:49 ID:11k+GFk+
あ、ごめん
if((_root.flag)%2==1){
_root.flag++;
/*有効処理*/
}
のミスです
104Now_loading...774KB:05/02/18 15:15:53 ID:11k+GFk+
処理だけの問題じゃないのね、
on(release){
trace("MC1");//trace("MC2");
_root.MC1.enabled=false;//_root.MC2.enabled=false;
_root.MC2.enabled=true;//_root.MC1.enabled=true;
}
これで問題ないよ。
ボタンに記述してるthisは_rootを指してるよ
105101:05/02/18 15:24:28 ID:svt1a71x
すみません、やはりうまくいきませんでした。
MC1に
on(release){
_root.MC1.enabled=false;
_root.MC2.enabled=true;
}
MC2に
on(release){
_root.MC2.enabled=false;
_root.MC1.enabled=true;
}
と記述しました。MC1、2共にどちらもクリック後、無効にした物が反応してしまいます。
多分こちらが103さんの意図を汲めていないせいだと思います…すみませんorz
103と104のASは併用するんでしょうか?
106Now_loading...774KB:05/02/18 15:35:41 ID:ppZko0HP
★level0(index.swf)
loadMovieNum("sound.swf", 10);
---------------------------------------------
★level10(sound.swf)
■_rootのタイムライン上のスクリプト
_global.Mute = false;
//メニュー開く音
var btsound01:Sound = new Sound();
btsound01.attachSound("btsound01.wav");
function playsound01() {
  if (!_global.Mute) {
    btsound01.start();
  }
}
//メニュー閉じる音
var btsound02:Sound = new Sound();
btsound02.attachSound("btsound02.wav");
function playsound02() {
  if (!_global.Mute) {
    btsound02.start();
  }
}
■_rootに置いてあるbutton_MC
target = "bt01_sub01";
onRollOver = function () {
  _parent[target].tabOn();
  _root.playsound03();
};
onRollOut = function () {
  _parent[target].tabOff();
};
というスクリプトを組んだのですが、index.swfを開いてbutton_MCの上にカーソルを合わせても音が鳴りません。sound.swfのみを開くと音が鳴ります。理由がぜんぜんわかりません。よろしくお願いします。
107Now_loading...774KB:05/02/18 16:07:10 ID:bHbbqTAq
共有ライブラリで調べるといいことあるかも。
108Now_loading...774KB:05/02/18 16:16:48 ID:Jfeba55Z
フラッシュっておかねかかるんですよね。
あと、どこでフラッシュって買えるんですか?
109Now_loading...774KB:05/02/18 16:17:17 ID:Jfeba55Z
上まちがえました。すいません
110Now_loading...774KB:05/02/18 17:13:43 ID:p0uQlwU7
>>101
バージョン
111Now_loading...774KB:05/02/18 17:32:09 ID:b5SWDmhG
>106
ん?そのスクリプトのみで sound.swfのみを開いたとき音がなる?
playsound03てどこにあるんだ。

とりあえずloadMovieして
sound.swf内の_rootのパスが変わっているのが原因だと考えられる。
112Now_loading...774KB:05/02/18 17:41:09 ID:b5SWDmhG
>101,105
各ボタンへのパスが間違ってませんか?
113101:05/02/18 17:48:14 ID:6/89GeY0
バージョンはMX2004、Macで使っています。
>112さん
MC1、2両方共直下にボタンを仕込み、
MC1、2自体はメインのタイムライン上に置いてあります。
パス、間違っているでしょうか…?
114Now_loading...774KB:05/02/18 19:24:22 ID:b5SWDmhG
>101,113
MC自体をボタンにしているのではなく
MC内にボタンシンボルを配置しているのなら
パスも違いますし、スクリプト書く場所も違いますよ。

各ボタンシンボルにインスタンス名を付けて
スクリプトはボタンシンボル上に書く。パスも変更。
115Now_loading...774KB:05/02/18 19:37:16 ID:ppZko0HP
>>107
調べてみましたが、今回のとはちょっと違う気がします。_level0は_level10にsound.swfを読み込んだあと、まったく何もしません。
>>111
すいません、間違えましたplaysound03→playsound02とかです。
>sound.swf内の_rootのパスが変わっているのが
sound.swfは、_level10の_rootにloadMovieNumで読み込んでいますが、_rootのパスが変わることってあるんでしょうか。
116101:05/02/18 20:14:15 ID:6/89GeY0
>114さん
はい、MC内にボタンを配置しています。
「MC1のAS」等と書いた物は、
MC1の編集画面でボタンをクリックした状態で
(ASパネルの左上に、シンボル:ボタンと出ている)ASを入力していました。
ASを書く場所はこれで合っていると思うのですが…違っていたらご指摘お願いします、
最初の書き方も悪くて、すみません。

もし上のスクリプトを書く場所が合っているとすれば、パスは
各ボタンシンボルにつけたインスタンス名まで、という事で良いでしょうか?
b1がMC1内ボタンにつけたインスタンス名だとすると、_root.MC1.b1
117Now_loading...774KB:05/02/18 21:52:56 ID:XrrlD+WI
level10の_root?なんだそりゃ?
118Now_loading...774KB:05/02/18 21:57:04 ID:7D25XSy9
>>117
levelごとに_rootがあります。
パスを変更しなくてもいいからloadMovieNumは便利よ。
119Now_loading...774KB:05/02/18 22:09:22 ID:XrrlD+WI
_level1._rootなんて記述もあるかい?
120Now_loading...774KB:05/02/18 22:12:20 ID:XrrlD+WI
悪いあった。
あんまみたことなかったから。
121Now_loading...774KB:05/02/19 02:56:51 ID:zwm3pKx+
こんばんわ、
最近フラッシュはじめたんですけど、何枚か絵を描いて、それをランダムで表示させること、ASでできますかね。
あまり難しいことはわからないんですけど
122Now_loading...774KB:05/02/19 02:59:25 ID:whTxMYCz
できる
123Now_loading...774KB:05/02/19 03:02:52 ID:zwm3pKx+
どういったASを使ったらよろしいんでしょう?
124Now_loading...774KB:05/02/19 03:28:33 ID:iJ27Dcbe
基本から押しえるのはめんどい。
下の見てどうすればいいのかわからなかったら、
聞くのはあきらめて自分で勉強して。

pictNum = 10; //絵の枚数
viewNum = Math.floor(Math.random()*pictNum)+1;
this.gotoAndStop(viewNum);
125Now_loading...774KB:05/02/19 07:15:26 ID:9Em3b6qg
すみません
ASを打っていてどうしてもうまくいきません…

フレーム1に配置されている
ダイナミックテキスト[aaa]が配置されているMC[bbb]に
onClipEvent(enterFrame){
abc = new Array("A","B","C","D","E");
cnt = 0;
function left(){
cnt--;
if(cnt < 0){
cnt = 4;
}}
function right(){
cnt++;
if(cnt > 4){
cnt = 0;
}}
this.aaa = abc[cnt];
}
のように書いて、ボタンに
on(release){
_root.bbb.left();
gotoAndPlay(20);
}
と書いてトゥイーンを再生し終わったら
gotoAndStop(1);
で戻るのですが
戻っても"A"が表示されるのみでBやCが表示されません。
どなたか原因がお分かりでしたらご教授お願いします…

OS…XP home バージョン…Flash MX です。
126Now_loading...774KB:05/02/19 07:38:43 ID:sCCOrZqY
>>125
毎回cntが0に初期化されてるね
127Now_loading...774KB:05/02/19 08:16:40 ID:wKXPKLhR
enterframeでfunction使って関数定義しまくるの気持ち悪い。
128Now_loading...774KB:05/02/19 10:17:48 ID:zORXmbqG
>>125
onClipEvent(load)
も使ってみよう。
129106:05/02/19 15:07:16 ID:IucW6Ifl
106です。ずっとやってるんですが解決法なし…。
アップしましたので、だれか見てやってください。どうかおねがいします。

http://nullpo.mydns.jp/up/updir/2105.lzh
13028:05/02/19 18:35:34 ID:XEX0xBzB
Webのフラッシュに関する質問をさせて下さい。

ボタンシンボルをクリックすると、別ウィンドウが
サイズ指定されて開く時のASを教えて頂けますか?

FLASH5を使用しています。
どうぞよろしくお願い致します。
131Now_loading...774KB:05/02/19 18:57:50 ID:BsQFdfuF
>>106
index.swfのライブラリにwavファイルを入れておく。
attachSoundは音がローカルライブラリに無いとだめみたいだから、
この場合はindex.swfのライブラリ内に、ということになるみたい。
実際、indexにwavを移した後soundのwavを消しても、index.swfを開いたら音は鳴った。

swfをいくつ読み込むのか知らないけど、
各swfでライブラリを管理したいなら、
>>107が言うように読み込むswfを共有ライブラリとして
index.swf内に書き出す必要があるんじゃないか?
132130:05/02/19 19:50:31 ID:XEX0xBzB
とりあえず自分で発見出来てしまいました。

on (release) {
getURL("JavaScript:newwin=window.open('a.html','sample',
'width=300,height=300,');void(0);");
}

>>130で質問した方法が可能なようです。
これから試してみます。
もし他のもっと確実な方法をご存知の方がいたら、
ぜひ教えてください。失礼します。
133130:05/02/19 20:06:20 ID:XEX0xBzB
連レスすいません。
どうやら>>132の方法はMXに対応しており5では無理ぽでした。
実践してから書き込むべきでしたスミマセンっ
134Now_loading...774KB:05/02/19 23:12:22 ID:zORXmbqG
>>133
マジレスすると、タブブラウザのユーザーも結構いるからそういう独立新ウィンドウはオススメしない。
135Now_loading...774KB:05/02/20 02:36:28 ID:JXJV34CR
インスタンス名ってひょっとして同じ名前を付けちゃいけないんですか?
136Now_loading...774KB:05/02/20 02:41:02 ID:GeTrIjH/
そりゃもう
137125:05/02/20 02:49:14 ID:eIMyITch
皆さんレス有難う御座います。
>>126
やはり毎回cntが0になっていたのか…
何かいい対処法ってありそうですか?

>>127
>>128
有難う御座います。
onClipEvent(load)に変更してみます。
138126:05/02/20 04:40:40 ID:eYTmUG8p
>>137
onClipEvent(load)で一度きりの動作
enterFrameで毎回の動作、と書き換えるの。
変数の宣言、関数の定義を前者で一度やっておく。

ちなみにenterFrameにする必要ないんじゃないのかな。
this.aaa=のとこも関数内に含めてしまっていいし。
あとgoto〜じゃなく、MovieClip.goto〜推奨。
139Now_loading...774KB:05/02/20 14:04:59 ID:WL4qAnhI
>>136
どおりで挙動がおかしかったわけだ。
ありがとう
140Now_loading...774KB:05/02/20 16:56:24 ID:lkSwAkHi
平日 = 社会人困ったちゃん
休日 = 素人困ったちゃん

で賑わうインターネットですね。ここは。
141101:05/02/20 17:32:27 ID:/SxcUz57
すみません、今FLASH自体触れない環境なんですが
上の>116の解釈で間違っていないかどうかどなたか教えて頂けないでしょうかorz
「MC自体をボタンにする」というのも、ぐぐっても
どういう行程でそうするのか分からず終いで焦ってます…
142Now_loading...774KB:05/02/20 17:47:27 ID:zSi+qRrW
「ボタンムービークリップ」でぐぐると出てくるよ、多分。
143Now_loading...774KB:05/02/20 17:53:54 ID:gQhCNyAr
>>141
互いの判定(ヒット領域)はどこ?
_root.MC1.b1    _root.MC1.b1
    ↑ここ?         ↑ここ?
前者ならMC1クリックしてASをインスタンスに記述
後者ならMC1編集画面でb1をクリックして以下同文
前者なら_root.MC2.enabledを弄って
後者なら_root.MC2.b1.enabledを弄る
144101:05/02/20 19:03:31 ID:/SxcUz57
「ボタンムービークリップ」 で調べたら出てきました、ありがとうございます。
自宅ではFLASH5を使っており、今回初めてMX2004を職場で使っているので
お恥ずかしいのですが、ボタンムービークリップの概念自体知りませんでした…。

>143さん
ヒット領域の事は正直あまり考えていませんでした…。
enabledをAS辞書で調べた際、「ムービー内でボタン様の物について操作する」
といった感じで書かれていたので、_root.MC2等と指定しておけば
MC内のボタンについては全部効果があるのかと思ってたんです……

【】がMC、●▲■(▲がb1)がボタンだとしたら
【  ● ▲ ■  】こんな状態で色々ボタンが入っている状態で
それぞれのボタンにヒット領域(マウスが反応する部分)があります

本当にアホでご迷惑おかけします…これだと、●▲■ボタンそれぞれがヒット領域になって
(_root.MC1.b1の「b1」がヒット領域)、
MC1編集画面でb1をクリック、で_root.MC2.b1.enabled =
以降true;など入力
で大丈夫でしょうか…
職場に行かないとMX2004が弄れないので、確認出来ず申し訳ないのですが……
145Now_loading...774KB:05/02/20 20:55:23 ID:gQhCNyAr
>>144
それでいいよ。
MC>button入れ子の場合
MCにイベントハンドラ定義したら子の方は有効でない
だからMC1にしてもMC2にしても▲(b1)のみに記述すればいい。
パスに気をつけよう

やっとわかった。
buttonの方に「MCx.enabled=false」と記述していたのね。
そうじゃなく、「MCx.b1.enabled=false」としないと無効化できないよ
146Now_loading...774KB:05/02/20 22:52:29 ID:h4hy05Sj
perlの変数をflashに渡す方法を教えてください。(テキスト以外で)

$hoge(perl)の数値(文字列)をそのまま hoge(flash)に。

よろしくお願いしますm(__)m
147Now_loading...774KB:05/02/20 23:03:01 ID:gQhCNyAr
>>146
printをSTDOUTモードで渡す(cgi側)
loadVarsクラスで受信する(flash側)
sendAndloadとか一つで終わらせレル
148Now_loading...774KB:05/02/20 23:11:42 ID:h4hy05Sj
助かりました。勉強して試してみようと思います。

環境変数を &でsplitして抽出するようなやり方ですね。
ありがとうございました〜
149Now_loading...774KB:05/02/20 23:13:53 ID:gQhCNyAr
>>148
そう、cgi側はそれでまとめてログ保存なりしたあと
printで一括送信。
flash側はその間待機しててくれます
150Now_loading...774KB:05/02/20 23:23:46 ID:h4hy05Sj
簡潔でわかりやすいレスいただきまして感謝です。
また困ったことがあれば書き込むかもしれませんが、宜しくお願いします。
では、早速勉強してきまっす!
151Now_loading...774KB:05/02/20 23:48:06 ID:kxnT6nVo
FlashMX、OSはW2kです

時間をデジタル表示したいのですが表示する時間が少し変わっています
ある決まった日時からの経過時間を表示したいのです
例えば2005年の1月1日からの経過時間(日だけでOK)ということです
ググった限りこんな便利なスクリプトはないっぽいんですが・・・
やはり普通に時間を取得して計算させるしかないんですか?

教えてください神様
152Now_loading...774KB:05/02/21 00:23:29 ID:1ptD8iE7
>>151
(現在のミリ秒-2005年1月1日の指定時間のミリ秒)を時間に変換汁!
153Now_loading...774KB:05/02/21 14:11:07 ID:7p39NYda
FLASH内の画面を揺らしたいのですがASで可能なんでしょうか?
よろしければ誰か教えてください
154Now_loading...774KB:05/02/21 14:12:30 ID:6jcxL//4
漠然としすぎ・・・。
155Now_loading...774KB:05/02/21 14:18:18 ID:QcIiAAHy
156Now_loading...774KB:05/02/21 17:33:22 ID:EGhhz8P3
おはつです。
解決アドバイスよろしくおねがいしますm(_ _)m

変数をダイナミックテキストボックスに表示しようとしているのですが、
逆にそのテキストにあらかじめ入力されている文字列が、変数のほうに代入されてしまいます。
いつもこうなってしまうわけではないんですが、うまくいく場合とそうでない場合の違いがわかりません。

具体的には
_global.txtTitle = String("Gallery");
としておいて
後に表示されるダイナミックテキストエリアに
「タイトル」と入力しておき、変数にtxtTitleと記述しています。
そうすると、テキストエリアに"Gallery"と入力されず、
逆に変数"txtTitle"の中身が「ガイトル」という文字列に変わってしまいます。

txtTitle = Gallery
になってしまうんです。
FlashMX2004、Actionscript2.0で書いてます。よろしくです。

ちなみに関連質問なんですが、このダイナミックテキストボックスを配置したMCを
on ClipEvent(enterFrame) {
this.alpha -=20;
}
と徐々に透明度を下げていきたいのですが、
MC自体は透明化されていのにそのMC上のテキストエリアだけ透明度が変わらないんです。
これはFlashの仕様でしょうか??
157156:05/02/21 17:52:55 ID:EGhhz8P3
上の質問
とりあえずテキストボックスの変数の値に

_parent.txtTitle

とパスも入れて指定したらうまくいきましたm(_ _)m
158156:05/02/21 18:02:55 ID:EGhhz8P3
自己レス御免。
ダイナミックテキストを透明化する件についても、
155さんのリンク先にいったらすぐ答えが見つかりました。

155さんどうもですm(_ _)m
159Now_loading...774KB:05/02/21 18:02:57 ID:VeXaWESj
ガイトルっつうのがよくわからんけど、バグなのかな?
下は埋めこみにしてる?
160156:05/02/21 18:05:39 ID:EGhhz8P3
あぁー
ガイトルっつーのはタイプミスでした^^;
161Now_loading...774KB:05/02/21 22:27:30 ID:Nq/kgcZ7
WinXPSP1a FlashMX2004Pro です。
System.setClipboard("文字");
で文字をクリップボードへコピーできるのは知ってますが、
これを使って改行の混ざった文字をコピーしてからメモ帳にペーストすると
改行が消えてしまっているようです。
改行が入ったままコピーするにはどうしたらいいのでしょう。
162Now_loading...774KB:05/02/21 22:45:16 ID:6jcxL//4
\n
163Now_loading...774KB:05/02/21 22:47:35 ID:2gnHeDgT
>>1
改行コード(\r)をwin用の改行コード(\r\n)に置きかえれ
System.setClipboard(textField.text.split("\r").join("\r\n"))
164Now_loading...774KB:05/02/21 23:16:33 ID:Nq/kgcZ7
>>163
改行コードを置き換えればよかったんですね。
解決しました。ありがとうございました。

私は1じゃないです。
FLASHの面白いゲームPart23の1ですが
165Now_loading...774KB:05/02/22 15:55:43 ID:Hh27ZBSM
switch/caseで聞きたいのですが
配列を使う場合カッコはつけるのでしょうか?
つけない、()、[]、とためしてみましたが、
どうも正常に作動していないようなんです。
switch/caseでの配列使用はどうすればいいのでしょうか

checkFlg = [true, false]
switch (checkFlg) {
case true, false :
trace("case1");
break;
}case false, true :
trace("case2");
break;
}
166Now_loading...774KB:05/02/22 16:03:13 ID:cam1C215
>>165

checkFlg = [true,false];
if ( checkFlg == true,false ) {
trace ("case1") }


あれ・・・???
167165:05/02/22 16:32:16 ID:Hh27ZBSM
>>166
上の例ですとたしかにif文でもいいのですが、
実際はcaseの数も多く、ところどころbreakが外してあったりして、
switchの方が使いやすいのでswitchの場合で知りたいのですが、
もし、ご存じでしたら教えていただけますでしょうか。お願いします。
168Now_loading...774KB:05/02/22 16:49:59 ID:Ny1wAkjH
配列で扱わないでtoStringで文字列として出力して比較すれば?
169Now_loading...774KB:05/02/22 16:51:27 ID:cam1C215
>>167
そうじゃなくて、>>166の文法に何かおかしいなー?って思う点はないかな。

>>165の記述で言うならば、配列checkFlg内の順序を監査・比較して、ケースとして実行させたいんだよね。

とりあえず配列内から要素を取り出すって部分から見直すといいかも。
170Now_loading...774KB:05/02/22 16:51:38 ID:4HNKucE3
多対多の比較を一つでやろうとしてる。意味なし。
171165:05/02/22 17:31:14 ID:Hh27ZBSM
>>168-170
ありがとうございます。
みなさんの回答をいろいろ混ぜてできました。

smcpHitFlgTxt = "";
for (i=0; i<=8; i++) {
if (smcpHitFlg[i] == true) {
smcpHitFlgTxt += "1";
}else{
smcpHitFlgTxt += "0";
}
}
switch (smcpHitFlgTxt) {
case "100000000" :
mapChipMC.gotoAndStop("v1");
break;
case "110000000" :
mapChipMC.gotoAndStop("v1l");
break;
.........
}
172Now_loading...774KB:05/02/22 18:23:02 ID:cam1C215
そう言う荒業嫌いじゃないぞ。俺。
173Now_loading...774KB:05/02/22 20:23:15 ID:Jasd0yh5
switchって処理重くね?
174Now_loading...774KB:05/02/22 20:26:17 ID:QfVfZJfQ
なんでぇ?
17597:05/02/22 20:29:45 ID:DpJYrg+l
>>98-99
ありがとうございました。
176Now_loading...774KB:05/02/22 23:58:40 ID:yqapzHhv
3DのScriptを組んでて影のつけ方の計算に躓いています。
どこか参考になるサイト等は無いでしょうか?
177Now_loading...774KB:05/02/23 02:49:17 ID:T8Mt7WWo
なんでFlashで3Dをやろうとするんだ。DirectXスレとかで聞いてみれば?
Flashのactionscriptってそういうことするもんじゃないよう。もっと幾何数学とか勉強すればいいと思うよ。
178Now_loading...774KB:05/02/23 07:22:23 ID:Nf3RZgFV
ユークリッドもおkっしょ。
Math特化してるし。
>>176計算でいけないかい?
ただボカシとかの話になると力技になって処理重くなる悪寒
179Now_loading...774KB:05/02/23 08:00:58 ID:UGtVTz1+
8ballまで待て
180Now_loading...774KB:05/02/23 20:03:03 ID:VkrMC+ME
ブロック崩しなどの
ボールが壁にぶつかって跳ね返るような動きはどのような記述でできるのでしょうか。
どなたか教えてください。
181Now_loading...774KB:05/02/23 20:23:13 ID:Fu8Fyagg
変数=式
プロパティ=式
182Now_loading...774KB:05/02/23 20:24:47 ID:QWQ8EO4m
>>180
こことか参照
ttp://ponk.jp/flash_game/index.php?page=3

onClipEvent (load) {
mx = 1;//x方向に移動する速さ
my = 1;//y方向に移動する速さ
top = _width/2;//画面上の壁
bottom = Stage.height-top;//画面下の壁
left = _height/2;//画面左の壁
right = Stage.width-left;//画面右の壁
}
onClipEvent (enterFrame) {
_x += mx;//横に移動させる
_y += my;//縦に移動させる
if (_x<left || _x>right) mx *= -1;//左か右の壁に当たったらx方向に移動する速さを反転する
if (_y<top || _y>bottom) my *= -1;//上か下の壁に当たったらy方向に移動する速さを反転する
}
183Now_loading...774KB:05/02/24 13:24:20 ID:Uf2t+hFk
FlashMX2004を使っておりまつ。

早速ですが、Flash上で複数のSWFファイル(a.swf、b.swf、c.swf)を同時に印刷したいのですが、どうすればいいのでしょうか。
通常であればprint関数*3でいいのですが、それだと印刷ダイアログが3つでてくるので。
できれば1つのダイアログ表示で3ファイルを印刷したいのですが、どうすればよいでしょうか。
184Now_loading...774KB:05/02/24 14:45:04 ID:D10KOxnw
無理。
印刷用に3つのムービー読み込むムービーでも作ればいけるかも?
185183:05/02/24 15:48:03 ID:Uf2t+hFk
>>184
そうですか・・・ちょっと調べてたんですが、
ttp://fpower.org/tips.htm
の「11.ブラウザに表示してあるものを印刷したい」のサンプルでは実現してるみたいなのですが・・・。
3つのムービーを読み込むという方法も考えてみます。
186Now_loading...774KB:05/02/24 19:19:17 ID:peu/9/Sb
外部画像を取得してサムネイルを一覧表示させようとしています。

forの繰り返し処理とattachMovieで画像ロード用のMCを等間隔に配置していくのですが、
任意の数の倍数で一段下げたいと思います。
通常はMCのX座標は100ピクセルずつ横にずれていくのですが、これでは横に延々と並んでしまうので、
例えば5の倍数の時のみY座標に100ピクセル追加して、X座標を0に初期化したいと思います。

■■■■■
■■■■■
■■■■■
■■■..........

そうすればこんな感じで0〜4、5〜9、10〜14....と改行させて配置できるはずなんですが、
任意の数値の倍数を求めるにはどうすればいいでしょうか?

FlashMX2004、Actionscript2.0です。
よろしくお願いしますm(_ _)m
187Now_loading...774KB:05/02/24 19:22:24 ID:lkwYYtyw
forの入れ子
for(num_i = 0; num_i < x; num_i++ ){
for(num_j = 0; num_j < 5; num_j++ ){
横に配列される
}
次の段にいく
ただしxは段数とします
}
188Now_loading...774KB:05/02/24 19:24:49 ID:DwFEoxvY
Math.floor(i/5)
189186:05/02/24 19:33:23 ID:peu/9/Sb
>>187
>>188

ありがとうございます!さっそくやってみます。
190Now_loading...774KB:05/02/24 22:03:53 ID:GiXbU605
FlashMXで動作可能なBBSで中身改良可能なんて都合のいい
代物はないですよね。

(ノω`)
191Now_loading...774KB:05/02/24 22:08:20 ID:mRgyL7Sd
スレ違い
192Now_loading...774KB:05/02/24 22:08:56 ID:lkwYYtyw
ごめん、いってる意味わからない。
フリーcgi弄ってguiをflashってだけなら互いの出力いじればなんでも可能
193Now_loading...774KB:05/02/24 22:50:42 ID:TFrEzVxl
ググればどっかにあったきがする。でも、flashでやる意味ないしな。。
194Now_loading...774KB:05/02/24 23:11:15 ID:pW2kvq9/
質問です。
MCをクリックしたら変数scoreに+1して
フレーム36にジャンプするようにしたいのですが
on(press){
_root.score += 1;
gotoAndPlay(36);
}
と記述したところgotoAndPlayが働きませんでした。
かなり初歩のミスなのでしょうが
よろしければお力添えをお願いします。
195Now_loading...774KB:05/02/24 23:13:49 ID:ic45s4sd
_root.gotoAndPlay(36);
にしてみ
196Now_loading...774KB:05/02/25 00:33:29 ID:X6JifB8q
mcのthisは、まんま自分参照
buttonのthisは、親参照
省略形は、thisと見なされるけど
本来省略すべきではない。
197Now_loading...774KB:05/02/25 00:45:17 ID:H6oGj+EJ
//as = gotoAndPlay(n)記述場所
_root.mc1(as)
=>mc1
_root.btn1(as)
=>_root
_root.mc1.mc2(as)
=>mc2
_root.mc1.btn2(as)
=>_root.mc1

>196
gotoAndPlay()はMC.gotoAndPlay()とは別物だよ。
198Now_loading...774KB:05/02/25 00:59:51 ID:X6JifB8q
シットルガナ
説明し難いだろ
単独のアクションなんじゃらって
199Now_loading...774KB:05/02/25 01:10:39 ID:H6oGj+EJ
>194が誤解すると、と思ったので補足までに書いてみました。
気に触ったようでしたらごめんさい
200Now_loading...774KB:05/02/25 01:16:25 ID:X6JifB8q
いえいえ別に気にしてませんけど
mx2004の時代に使用すべきでない単独のアクションとして話しをするより
thisを省略したものとして話したほうがわかり良いかなと思いまして
つっけんどうにしちゃって、こちらこそゴメンなさい
201Now_loading...774KB:05/02/25 20:16:04 ID:bK3BkqVx
>>182
御返答有難う御座います
試行してみます
202Now_loading...774KB:05/02/25 23:00:35 ID:pzznqgv1
MX2004pro+WinXPです。
現在FLASHLite1.1で携帯用に作成してるんですが
ルートに配置したMC内の最終フレームに
_root.gotoAndPlay(3);
とMC内からルートへのgotoAndPlayを
やってみましたがFLASH4では無理なんですね。
【/】や【:】を使うまでは解ったのですが記述方法が解りません。
ググり方が下手なのか見つかりませんでした。
どなたか宜しくお願いします。
203Now_loading...774KB:05/02/25 23:52:08 ID:V54K0jXm
>>202
ttp://www.amazon.co.jp/exec/obidos/ASIN/4881660829/250-3815580-4457861
flashliteの質問連発するくらいなら買え。
204Now_loading...774KB:05/02/26 00:03:58 ID:X6JifB8q
flashliteって4jと同等なんだ?
作ったことなかったから、シラナンダ
205Now_loading...774KB:05/02/26 00:05:19 ID:Mg0i1N2w
あれ・・・ID継続中?
206Now_loading...774KB:05/02/26 00:14:48 ID:i8L3qwMd
日付が変わった瞬間に自演するのがいるから、数分だけ変わらなくなった。
207Now_loading...774KB:05/02/26 00:18:03 ID:/KvJPOU1
自演したって仕方ないと思うけど、そんなことなら、
ランダムに12時間くらい取り出して、変更時刻変えなきゃあんま意味ないだろ?
208Now_loading...774KB:05/02/26 00:22:31 ID:i8L3qwMd
まろゆきにそう言えばいいじゃんよ。
209Now_loading...774KB:05/02/26 01:40:09 ID:jDc5BjSS
>>202
/ が_root、 ../ は_parent。
>>204
同じとこも多いけど、独特なのもある。端末独特なのもあるから
きちんと資料揃えたほうがいいっつー状態。
210Now_loading...774KB:05/02/26 09:33:17 ID:hzsxzjtl
ボタンの領域に入った時、指カーソルにしない方法を教えてください。
(ボタンの場所を隠す)

指カーソル 等でググったのですが方法の説明が見つけられなかったので、どうかよろしくお願いします。
211Now_loading...774KB:05/02/26 09:37:26 ID:dk7655Td
mx以降ならuseHandCursor。ヘルプ嫁。
212Now_loading...774KB:05/02/26 11:27:38 ID:NaSZ2niT
たぶん、今度はTABキーで見つかるのをなんとかしたいって言い出すんだろうなぁ。
213Now_loading...774KB:05/02/26 11:54:57 ID:qwT3dOd0
よし、じゃあ先に書いておくか

//個別に
MC._focusrect = false;

//全部
on (keyPress "<Tab>"){
;
}
214194:05/02/26 14:25:19 ID:BrMH6JmR
>>195
>>196
>>197
解決しました、ありがとうございます。

そしてまた問題が出たのですが
MCに打ったASで
「xフレーム後(もしくはx秒後)に変数aをー1」
というのは可能でしょうか?
215Now_loading...774KB:05/02/26 14:47:47 ID:Mg0i1N2w
幾通りも考えられるけど
this.onEnterframe=function(){
if(tekito_flag){
if(++tekito_flag==xframe){
a--;
delete this.onEnterframe;
}
}else tekito_flag = 1;
};
216214:05/02/27 13:15:43 ID:tBwm/huR
>>215
教えてもらって申し訳ないのですが
そのスクリプトの意味がほとんど分かりません…
未熟と言われれば全くその通りなのですが
もしよろしければ解説してくださると助かります。
217Now_loading...774KB:05/02/27 16:04:44 ID:dJLK+l6A
setInterval(hoge(),1000);
function hoge();{
a--;
}
218Now_loading...774KB:05/02/27 16:09:03 ID:jM5+tLBV
>>216
順序良く基本から勉強しないと無理なのでは?
スキーの初心者がモーグルとか無理でしょ。
219Now_loading...774KB:05/02/27 16:15:59 ID:dJLK+l6A
>>216
分かりやすいスクリプトで書いてみる。

foo=0;
bar=0;

this.onEnterframe = function(){
foo++;
if(foo==10){
foo=0;
bar++;
}

220219:05/02/27 16:16:47 ID:dJLK+l6A
記述みす

foo=0;
bar=0;

this.onEnterframe = function(){
foo++;
if(foo==10){
foo=0;
bar++;
}
}
221214:05/02/27 16:51:47 ID:tBwm/huR
>>217
>>219
わざわざありがとうございます。
何度か試したのですが>>218氏の仰るとおり
今の技量では記述文の理解すら出来ませんでした。
アドバイスを生かせずすみませんでした。
222Now_loading...774KB:05/02/27 17:14:50 ID:dJLK+l6A
>>221
せっかくだから覚えて行くと良いと思うよ。
詳しく説明してみるね。

foo=0;  //変数の宣言。
bar=0;   //変数の宣言。

this.onEnterframe = function(){   //関数の定義。毎フレーム実行されるよ。って意味
foo++                  // fooって変数に+1します。;
if(foo==10){               // もし foo って変数が 10 ならば
foo=0;                  // foo を 0に戻して
bar++;                  // bar に 1を足す
}
}


毎フレームの挙動はこんな感じ

foo : 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 ・・・・
bar : 0 1 2
223Now_loading...774KB:05/02/27 17:15:57 ID:dJLK+l6A

foo : 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 ・・・・
bar : 0             1              2


ズレ修正
224214:05/02/27 18:01:30 ID:tBwm/huR
>>222
何度もすみません、ようやく理解できました。
…が、不覚にも再び問題に直面してしまいました。
「MCがクリックされない限り一定時間毎に変数_root.lifeを-1」
という動作を多数のMCに組み込んで同時に行う
という目標はお蔭様で達成する事ができたのですが、
「クリックしたら変数_root.scoreに+1してMCを消去」
という動作もするように記述したつもりが後者の動作が
変数加算、MC消去とも動かなくなってしまいました。

foo=0;  //変数の宣言。
this.onEnterframe = function(){   //関数の定義。毎フレーム実行されるよ。って意味
foo++                  // fooって変数に+1します。;
if(foo==10){               // もし foo って変数が 10 ならば
foo=0;                  // foo を 0に戻して
_root.life --;                  // bar に 1を足す
}
}

on(press){
_root.score += 1;
this.removeMovieClip;
}
元はthis.removeMovieClip;ではなく
gotoAndPlay(36);と35フレーム目のフレームアクションgotoAndPlay(10);
を合わせてループと、クリックしたら次の動作、としていたのですが
this.removeMovieClip;にすると_root.score += 1;も動作しなくなってしまいました。
この原因はremoveMovieClip;の使い方の間違いでしょうか?
225Now_loading...774KB:05/02/27 18:41:13 ID:dJLK+l6A
まぁ・・・あれだ。
removeMovieClip は複製したものじゃ無いと消せないって事は覚えておこか。

見たところゲームだよね。
例えば on(press)
で座標をステージ外に飛ばすとかさ。
色々と方法はあると思う。

226Now_loading...774KB:05/02/27 18:44:50 ID:eXtoK3ci
キーを入力したらムービークリップAが拡大、Bが縮小するにはどうしたらよいですか?
227Now_loading...774KB:05/02/27 19:01:20 ID:n79YTGDc
>>224
_xscale=0とか_alpha=0にすると見えなくできる方法もある

>>226
//スクリプトを_level0に書き込む
//_level0にインスタンス名aとbのムービークリップの配置を確認
//スペースキーを押している間aを拡大&bを縮小
this.onEnterFrame = function() {
if (Key.isDown(Key.SPACE)) {
_root.a._xscale++;
_root.a._yscale = _root.a._xscale;
_root.b._xscale--;
_root.b._yscale = _root.b._xscale;
}
};
228Now_loading...774KB:05/02/28 19:34:12 ID:wIZvrj5J
macのMXです。

フレームをストップさせて数秒後に再生させたいんですが
どのようなスクリプトがありますでしょうか?
TIME = getTimer(); 
if (Number(TIME)>20000) {
gotoAndPlay(10);
}
これでやってみたのですが上手くいきませんでした。
よろしくお願いします。
229Now_loading...774KB:05/02/28 20:04:00 ID:4ioeA9fN
>>228
function onEnterFrame(){
if(getTimer()>20000){
mc.gotoAndPlay(10);
}
}

か、

setInterval();

かなぁ
230Now_loading...774KB:05/02/28 21:13:17 ID:wIZvrj5J
>>229
ありがとうございます。
参考にさせていただきます。
231Now_loading...774KB:05/02/28 21:48:56 ID:28OW6Tku
onClipEvent (load) {
_root.stop();
}
onClipEvent (enterFrame) {
// すべて読み込んだら2フレーム目へ
if (100 == Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100)) {
_root.gotoAndPlay(2);
}
}

 ↑このロード用のASを1コマ目のムービークリップシンボルに貼り付けると
 ↓のようなエラーが出るんですがどこが悪いのでしょうか?


シーン = シーン 1, レイヤー = レイヤー 1, フレーム = 1 : 行 1:クリップイベントはムービークリップインスタンスでのみ使用可能です。
onClipEvent (load) {

シーン = シーン 1, レイヤー = レイヤー 1, フレーム = 1 : 行 4:クリップイベントはムービークリップインスタンスでのみ使用可能です。
onClipEvent (enterFrame) {
232Now_loading...774KB:05/02/28 21:54:00 ID:xCOnUiHx
>>231
onClipEventはタイムラインでは使えないので、
ステージに配置させたムービークリップをクリックして
アクションウィンドウにそれを貼り付ければ大丈夫だよ。
233Now_loading...774KB:05/02/28 21:56:19 ID:28OW6Tku
>>232
ありがとうございました。
234Now_loading...774KB:05/03/01 06:08:06 ID:xXSvf2JF
>>229
this.onEnterFrame = function() {}
じゃないの?
235234:05/03/01 06:11:37 ID:xXSvf2JF
ビルトイン関数なのか。すまん。
236Now_loading...774KB:05/03/01 12:24:41 ID:ceH1JQXa
gotoAndPlayで別シーンに飛ばしたいのですが、その別シーンを変数であらわすことって
出来ないんですかね。
また、別のシーンのラベル名も変数で表すことが出来ないっぽいんですが・・・
どなたかご存知ないですか?
237Now_loading...774KB:05/03/01 12:26:36 ID:N+/mFbrY
ActionScriptのスレでシーン分けを使っている人は存在しないかも・・・
238236:05/03/01 12:32:19 ID:ceH1JQXa
>>237
ありあす。しかしなぜに。。。(泣
239Now_loading...774KB:05/03/01 12:38:08 ID:N+/mFbrY
新しいもの好きの人たちだと思うから、fla4の技術は使っていないんじゃないかと。
liteやっている人なら大丈夫かな。
240236:05/03/01 12:42:44 ID:ceH1JQXa
>>239
シーン分けってfla4の技術だったんスか・・・。
どうもご親切にありがとうございます。おかげで勉強になりますた。
241214:05/03/01 14:11:11 ID:IUmK8f/N
>>225
遅くなりました。
何度もありがとうございます
形にはなりつつあるので色々とやってみますです。
242Now_loading...774KB:05/03/01 20:00:51 ID:LvA17qGH
格闘ゲームのキャラセレ風のフラを作っているのですが、
キャラを一覧シンボルからクリックで決定>選んだキャラがVS画面に
というスクリプトをどう組んでいいのかわかりません。

参考になりそうな2ch格闘のソースttp://www12.plala.or.jp/nextframe/index.htmlを見てもさっぱりで・・・
どこにどうスクリプトを書けばいいのか教えていただきたいのですが…よろしくお願いします。
243Now_loading...774KB:05/03/01 20:20:24 ID:WrHsfDnh
クリックしたらその選択に応じて画面飛ばせばいいだけだろ
244Now_loading...774KB:05/03/01 20:23:36 ID:uFLY0bfe
あー、初歩の中の初歩 なんですが。

ActionScript って何なんですか? 簡単に教えてください。

245Now_loading...774KB:05/03/01 20:37:39 ID:2GxRstMW
アクションさせる為のスクリプトです
246Now_loading...774KB:05/03/01 20:37:46 ID:UTexdxN1
アクションのスクリプト
247Now_loading...774KB:05/03/01 20:38:53 ID:UTexdxN1
うほ
248Now_loading...774KB:05/03/01 20:49:05 ID:2Awdd6QK
ハクションの大魔王
249Now_loading...774KB:05/03/01 21:31:28 ID:8XcMb6PG
あるフレームに来た時フレームアクションで
フレーム2、40、78、116のいずれかにランダムで飛ばし、
変数_root.scoreが10の時にはフレーム115に飛ばすようにしたいのですが
以下のスクリプトだとシンタクッスエラーは無いのですが
そのように動作してくれません。
どうすればよいでしょうか?
_root.gg;
if(_root.score==10){
gotoAndPlay(155);
}
_root.gg = Math.random(3);
if(_root.gg == 0){
gotoAndPlay(2);
}
else if(_root.gg==1){
gotoAndPlay(40);
}
else if(_root.gg==2){
gotoAndPlay(78);
}
else if(_root.gg==3){
gotoAndPlay(116);
}
250Now_loading...774KB:05/03/01 21:32:49 ID:N+/mFbrY
>>249
Math.random についてヘルプを参照しましょう。
251Now_loading...774KB:05/03/01 21:36:20 ID:N+/mFbrY
それから、gotoAndPlayは他の言語のgotoとは全く別物で、
処理を即移行させるものではないので
if(_root.score==10){
gotoAndPlay(155);
}
のあとも else if が必要です。
252242:05/03/01 21:46:33 ID:LvA17qGH
>>243 その画面に飛ぶだけでなく選択したキャラがでてくるようにしたいのですが
     飛ばせるだけのASの書き方もわかりません。初心者スレで聞くべきだったでしょうか
253Now_loading...774KB:05/03/01 21:53:01 ID:SQdKvAPm
格闘ゲームってのは良く分からんのだけど、
MCに表示させたい奴を1フレーム毎に置いて、選択されたって時に変数に保存→MCに反映で良いんじゃないの?
254Now_loading...774KB:05/03/01 22:00:54 ID:VG4wQ6A8
>>249 こうだな

if(_root.gg == 0)gotoAndStop(2);
_root.gg = Math.floor(Math.random()*4)
else if(_root.gg == 1)gotoAndStop(40);
else if(_root.gg == 2)gotoAndStop(78);
else gotoAndStop(116);
if(_root.score==10)gotoAndStop(115);

1行目のroot.gg;は必要ありません
Math.randomの使いかたが間違ってますこことか参照
http://hakuhin.hp.infoseek.co.jp/main/as/random.html
if(_root.score==10){gotoAndPlay(155);}は
一番下に書くと変数_root.scoreが10のときにフレーム115に飛んでくれます
一番上に書いてあると2,40,78,116にしか飛んでくれません
if文で処理ブロックが1行の場合、{}を省略できます
http://www.ochaden.net/technology/flash/22.html
255Now_loading...774KB:05/03/01 22:02:55 ID:2Awdd6QK
コピペ乙
256Now_loading...774KB:05/03/01 22:14:16 ID:VG4wQ6A8
>>249
依頼文とスクルプトが矛盾してて115か155わかりませなかったす
_root.gg = Math.floor(Math.random()*4)
if(_root.gg == 0)gotoAndStop(2);
else if(_root.gg == 1)gotoAndStop(40);
else if(_root.gg == 2)gotoAndStop(78);
else gotoAndStop(116);
if(_root.score==10)gotoAndStop(155);
257Now_loading...774KB:05/03/01 22:52:54 ID:s6VdQGqF
>>252
まずチュートリアルとか参考書とかやったほうがいいんじゃね

ここで質問して答え待つより早いこともある
258Now_loading...774KB:05/03/01 23:26:13 ID:687It2Ha
>>252
キャラクター表示させる枠をMCにする
そのMCの
1フレーム目:何も無し
2フレーム目:キャラクター1の絵
3フレーム目:キャラクター2の絵

と言う風にやって
キャラセレクトのボタンに
たとえば、キャラクター1のボタンだったら
押したときに、
_root.キャラ表示枠.gotoAndStop(2);
とか書けばいいんじゃない?
分かりにくい説明すまんこ
259Now_loading...774KB:05/03/02 11:47:49 ID:Z1EyOzyM
>>621
まぁ、確かにその考えは分かる。
けどそれはあくまで雇う側の言い分かと思うが・・・。

そんなの、JavaScript出来る人って募集すれば良かったんじゃないのかね?
勉強不足で片付けるような問題じゃないと思う。
ECMAに準拠してるってだけで、同じ言語な訳無かろうと。
Flashからスクリプティングを覚えた人もいれば、JScからFlashに移行した人もいる。

オマイの言い分だと、
「スペイン語出来るって採用したのに、同じラテン語源で近いイタリア語が出来ないのは努力不足。ウンコ」
って感じだよ。
似てても違う言葉だろ。境界線の垣根は低いかもしれんが、使い道も特化部分も違う。
そして、努力不足というならば、そう言う奴を採用したオマイも能力不足って事だ。
260Now_loading...774KB:05/03/02 11:56:37 ID:Z1EyOzyM
グボアァ・・・こんな所に><
誤爆した挙句にageてしまって申し訳ありませんです。
261Now_loading...774KB:05/03/02 12:03:54 ID:MdVrxlKu
>>259
JSも出来るからニートな漏れを採用してください
262Now_loading...774KB:05/03/02 12:26:26 ID:H+gK93jT
ニートは働いたら負けだ。無職とは違うのだよ、無職とは。
263Now_loading...774KB:05/03/02 12:45:07 ID:3JY3tHah
ニートってスキルあるの?
264Now_loading...774KB:05/03/02 12:47:24 ID:c9RmGIOJ
寄生スキルだろ
265Now_loading...774KB:05/03/04 08:33:47 ID:yThvSWCc
FlashMX(win)で
on (KeyPress "〜") でctrlキーを認識させることは出来ないのでしょうか?
ヘルプを読む限りではキーコードを記述すれば認識できるようなことが
書いてあるのですが…
on (KeyPress (17) ) や on (KeyPress(Key.CONTROL))
とかやってみたけどダメでした。
on (KeyPress "17")だと1に反応してしまうようです。
詳しい方教えてください。
266Now_loading...774KB:05/03/04 08:57:59 ID:0YD6kDf0
>>265
その書式だと、alt shift ctrl あたりは無理みたい。
ボタンではなく、MCの方でやるしかないと思う。
267km:05/03/04 12:31:56 ID:YHyh+Jwt
pointっていうムービークリップに番号をつけてそれをインスタンス名として
this.attachMovie("point",番号〜,)
みたいな感じでアタッチしたんですけど
各インスタンスは自由にコントロールできるんでしょうか?
例えば1〜5までのインスタンス名のついたインスタンスのうち4を動かす
にはどうすればいいのでしょう?
point[4].move()
ってできれば簡単なんですけど..
268Now_loading...774KB:05/03/04 16:02:55 ID:tJBvZLDm
>>267
_root["point"+n].hoge();
とかすればいい

が、配列につっこんだほうがいいかもわからん
hoge = new Array();
hoge[n] = this.attachMovie("point","point"+n,n);
とか
269Now_loading...774KB:05/03/04 18:32:58 ID:W6kIT4ft
配列を物の名前にする考え方を理解できません
270Now_loading...774KB:05/03/04 18:38:52 ID:G6mtbiUT
/* a2_mc のスクリプト*/

onClipEvent (load) {
hoge = this._name.charAt(1);
trace(hoge);
}

/*出力結果*/

2

って強烈なスクリプトを見たことがある・・・。
あれは衝撃的だった。いろんな意味で。
271km:05/03/04 20:06:26 ID:SswNLrOx
>>268
なるほどわかりました
サンクスです
272Now_loading...774KB:05/03/04 21:17:47 ID:siKthQAn
>>270
普通に使ってるけど何か問題ある?
273Now_loading...774KB:05/03/04 22:52:53 ID:OasdPRjq
>>269
下駄箱に靴を入れるんだよ。
274Now_loading...774KB:05/03/04 23:43:19 ID:UsJiAkG8
人に見せんのなら配列の名前なんてどうでもいいな。
275Now_loading...774KB:05/03/04 23:47:01 ID:LoHA5NGM
>>270
いろんな意味でFlash的なASで違和感あるだろうけど
使えなくはないと思うぜ。

俺としては

function hoge(functionName, arg){
this[functionName](arg);
}

こういうコードとかが衝撃的だったが。
276Now_loading...774KB:05/03/05 00:08:31 ID:Z8RmSk/P
>>275
なんだそれ・・・。
引数に関数名を配列で入れ子って事?
2行のスクリプトで凄まじい絡み合いが感じられるね。


いやさ、>>270の奴ね。なんで衝撃的だったかと言うと、
MCの名前に振った数字で制御してるってのが衝撃でさ。

onClipEvent(enterFrame){
this._x+=this._name.charAt(1);
}
とか。個人的には強引な方法も好きだけど、そんな使い方を考えもしてなかったし、
そこから色んなスクリプトに派生できたのは大きかったけどね。
277Now_loading...774KB:05/03/05 00:17:12 ID:naQjDKmF
>>275
今衝撃を受けた。なんだそれ。
278Now_loading...774KB:05/03/05 02:12:20 ID:YOZ2p7dx
>>270は漏れは普通に使ってたなぁ('A`)
FLASHってどうやってインスタンスを使うかとか人によって自己流があるだろうからな。

>>275って衝撃的以前に何がおきてるんだ?
279Now_loading...774KB:05/03/05 02:26:54 ID:iQrtd7Hn
this[functionName](arg);
これはあれだな、関数をthisの変数として文字列で呼び出して()で実行かけてるんだな。
個人的にはこういうコードもなるほどとは思うが軽く違和感
onRelease = onReleaseOutside = function (){
//
}
ついでに使い道もないがこんなのも動作
this[" "] = function (){
return "hoge";
}
trace(this[" "]()); // hoge
280Now_loading...774KB:05/03/05 02:53:38 ID:naQjDKmF
交換スレみたくなってきたね。
俺も変なコード考えよっと。
281Now_loading...774KB:05/03/05 03:33:00 ID:iQrtd7Hn
すまん、こういう話は交換スレだな。
回答の邪魔になるな。
282Now_loading...774KB:05/03/05 17:27:03 ID:JmjVkyr3
ちわす

外部テキストで設定した変数を配列に入れたいのですが、
やはり一つの変数からsplit();で割って配列に格納する以外の方法は無いでしょうか。
それぞれが長文だったりURLだったりするので一列に記入するのはわかり難く、
かといって改行コードで切るとOS間での互換性が・・・。

外部テキストに
&s_Sum=5&

&title_str1=あいうえお......&
&title_str2=かきくけこ&
&title_str3=さしすせそ&
&title_str4=たちつてと&
&title_str5=なにぬねの&

と記述しておき、それを読み込んで

title_array = new Array();

for (i=1 ; i <=s_Sum ; i++) {

title_array[i] = String(title_str+i) ←ここが×

};

てな感じにしたら当然のように失敗しました。
でもこういう感じでActionscriptに詳しくない人でも外部ファイルを書き直しやすいように作りたいのですが、
なにかいいほうほうは無いものでしょうか。

よろしくお願いします。
283Now_loading...774KB:05/03/05 17:33:29 ID:GgD7sa47
this["title_str"+i]
284Now_loading...774KB:05/03/05 17:39:23 ID:WrkIF4MO
>>282
まず使用ソフトウェアとOSを書きなさい
外部テキストの あいうえおかきくけこ とかをダブルクォテーションマークではさんでみるとか
String(title_str+i) をString(eval("titel"+i));にしてみるとか
それと、なんで当然のように失敗したってことがわかるのかを問い詰めたい
285282:05/03/05 17:58:43 ID:JmjVkyr3
すいません、WINXP、MX2004、Actionscript2.0です。
当然のように失敗したと思ったのは、
title_str+iだと、
実際にはtitle_strという変数は無いのにそれ自体で変数として認識し、
その中身を取得しようとするはずなので失敗したのだと思いました。

>>283
>>284
どうもありがとうございます。
教えていただいた方法、さっそく試してみます。
286282:05/03/05 19:44:39 ID:JmjVkyr3
ありがとうございました。無事やりたかったことができましたm(_ _)m

eval()っていままで使ったことがなかったのですが、便利ですね。
287Now_loading...774KB:05/03/06 01:46:59 ID:SbAI/NZ0
初心者なんですが・・・
winXPでFlashMX使ってます。

例えば、常にカーソルに追従して動き回る
オブジェクトがあるとします。(これはわかります)

で、ボタンを押すとこの動作を止めて、
またボタンを押すとストップしていた場所から同じ動作が復活する。
これをやりたいのですが、まったく見当がつきません。
「スクリプトの作用を一時的にストップして、再び復活させる」
という具合に考えるのでしょうか?

なんだか説明からして稚拙で申し訳ないのですが、
どなたかよろしくお願いします。
288Now_loading...774KB:05/03/06 02:01:39 ID:aky3fcE0
>>287
ボタンを押した時に、関数をnullとかにしておけばいい。
もっかい押したらカーソル追従の関数を入れる。
289287:05/03/06 02:40:21 ID:SbAI/NZ0
>>288
ありがとうございます。
がんばってやって見ます!
290Now_loading...774KB:05/03/07 15:37:23 ID:pLSOf8qZ
as2unitでTestSuite使っている人いる?
使い方がよくわからないんだけど。
291Now_loading...774KB:05/03/07 16:32:35 ID:FdGYTDcy
SWFファイル単体では正常に動作するのに、
パブリッシュしたHTMLの上ではボタンアクションなどがへんな動作をしてしまいます。
たとえば、ムービークリップをロードするアクションなのに、
なぜか_rootの1フレーム目にもどってストップしたりと全然関係ない動きです。

SWFファイルだけアップするわけにもいかないので、
HTMLをフレーム分割して片側のフレームのサイズを"0"にし、
もう片側のフレームにSWFを読み込んでHTMLに埋め込んだかのようにしました。
幸いムービーはブラウザいっぱいに表示したかったのでこの方法で問題ないのですが、
いったいこの原因はなんでしょうか。

MX2004、Actionscript2.0、WindowsXP+SP1の環境で、パブリッシュ設定もFlashPlayer7の設定です。
外部ファイルとしてどこにでもおけるように、スクリプトはすべて相対パスで書いています。
292291:05/03/07 16:44:25 ID:FdGYTDcy
>外部ファイルとしてどこにでもおけるように、スクリプトはすべて相対パスで書いています。



外部SWFファイルとしてほかのSWFのステージに読み込んでも動作するように、すべて相対パスで書いています。

でした。なんかまぎらわしいかきかたでした。
よろしくお願いします。
293Now_loading...774KB:05/03/07 17:02:55 ID:hz4IIn0R
>>291
>SWFファイルだけアップするわけにもいかないので、
>HTMLをフレーム分割して片側のフレームのサイズを"0"にし、
>もう片側のフレームにSWFを読み込んでHTMLに埋め込んだかのようにしました。
ここらへんが怪しいことやっているような。
なんでタグで埋め込まないんだ?
294Now_loading...774KB:05/03/07 17:50:10 ID:C6RbnUha
違うswf表示してるんじゃない?
29521:05/03/07 18:23:25 ID:B10SrWpx
例えば自分でTestというクラスを定義します。
function Test(){
}
このクラスをnewすると
var test = new Test();
となるわけですが、ここで
testインスタンスから、「Test」という文字列を取得することは
できますでしょうか?
Javaで書くと、test.getClass().getName()に相当する操作です。
現在MXの環境で作っています。ご存知の方教えて下さい。
296291:05/03/07 20:44:48 ID:FdGYTDcy
>>293
いや、SWF単体では動くのに、タグでHTMLに埋め込むとなぜか正常動作しないからです。
いったいなぜなのか、さっぱりわかりません。

どなたかそういう事例ご存知の方いませんでしょうか?
297291:05/03/07 20:46:33 ID:FdGYTDcy
↑291ですm(_ _)m
298Now_loading...774KB:05/03/07 20:55:35 ID:gCLmaTw/
charAtとtextColorを使って、特定のテキストフィールドを一文字ずつ色を変えていきたいのですが、それは可能でしょうか?
とりあえず自分のチャレンジではテキストフィールド全体の色を変えることしか出来なかった・・・
299Now_loading...774KB:05/03/07 21:07:43 ID:B10SrWpx
>298
テキストフィールドはHTMLでレンダリングできるから、
一文字ずつFontタグとかで括っていたらOKでないかい?
300Now_loading...774KB:05/03/07 21:09:30 ID:0dF+3dk1
>>291
正常動作しない最小環境を作って再現してみるとか。swf晒す
HTMLの場合、プラグインのバージョン違いってことも考えられるが。

>>298
可能。テキストフィールドオブジェクト詳しく調べれ
301Now_loading...774KB:05/03/07 21:10:47 ID:hz4IIn0R
>>296
swfとhtmlのディレクトリが違うならパスが間違ってるんだろ。
どこまでが成功しているか問題を切り分けて考えなきゃ
これから先何度も発生するトラブルには対処できないぞ。
302Now_loading...774KB:05/03/07 21:12:18 ID:hz4IIn0R
>>295
>例えば自分でTestというクラスを定義します。
>function Test(){
>}
これはクラスじゃないような・・・
303295:05/03/07 21:21:32 ID:B10SrWpx
>>302
すません、AS1.0なので・・・
304Now_loading...774KB:05/03/07 21:28:22 ID:gZ49Efq4
>>300
テキストフィールドで出来るやり方キボンヌ
>>303
で、実際どうなの?2004なので検証できないけど。
たぶん、大文字小文字の区別の問題になるとおもわれるが。
305Now_loading...774KB:05/03/07 21:29:07 ID:C6RbnUha
>>298
TextField.setTextFormat() だね。

>>291
本当にHTMLで指定しているswfは意図したもの?objectとembedタグ内のファイル名を確認してみなっせ。

>>295
用意されてないから自分で実装しなっせ。
Test.prototype.getName = function(){return "Test";}
306291:05/03/07 21:56:55 ID:FdGYTDcy
原因はわからないのですがとりあえず問題を限定できました。

ムービーの2フレーム目のボタンアクションで呼び出す関数に
gotoAndPlay(5)
と記述してあり、5フレーム目には
stop();
が記述してあります。

5フレーム目でストップしたら条件によってムービークリップを表示するのですが
SWF単体だと5フレーム目のstop();でストップするのに、
HTMLにタグで埋め込むと5フレーム目でとまらず、ループして1フレーム目に戻ってきてしまいました。

最初のボタンで呼び出される関数に
gotoAndStop(5)
と書いていればよかっただけなのですが、プレビューでは思い通りに動作してしまっていたので気づきませんでした。

HTMLに埋め込んだ場合と単体SWFの場合で動作が変わってしまうものなんですかね。
307298:05/03/07 22:00:45 ID:gCLmaTw/
>305
でけたでけたよ!dクス!

こんな感じでできた↓
i ++;
txtfmt = new TextFormat();
txtfmt.color = 0xFF1008;
txtfld.setTextFormat(0,i,txtfmt);
308Now_loading...774KB:05/03/07 22:45:46 ID:WbdOibiS
Windows XP MX2004 Actionscript2.0
クリップアクションを書き換えるだけで、色々な場面で使えるボタンを作ろうと、
テストしていたのですが、詰まってしまったので質問させて下さい。

@適当な図形のMCを作り1フレームと2フレームで図形の色を塗りわけ、
 それぞれのフレームアクションに
stop();
Aレイヤーを追加してそのタイムラインに
this.onRollOver = function() {   //ロールオーバーの処理
 this.onEnterFrame = function () {
  this.gotoAndStop(2);
  }
};
this.onRollOut = function() {    //ロールアウトの処理
 this.onEnterFrame = function () {
  this.gotoAndStop(1);
  }
};
this.onRelease = function() { //リリースの処理、クリップアクションのfumctionを実行
 this.onEnterFrame = idou //クリップアクション
};
BMCのクリップアクション
//ボタンクをリックしたら、ボタンをx方向へ+2移動
onClipEvent(enterFrame){
 function idou() {
  this._x += 2
  }
}
この状態で実行すると、マウスをReleaseした後もマウスでボタンを追いかけてオーバーして
いる間、常にX方向に移動し続けてしまうのですが、クリックした時だけXへ+2するには
どうすればよいでしょうか
309Now_loading...774KB:05/03/07 22:56:09 ID:JEO8JQ9q
>>308
@適当な図形のMCを作(ry
stop();は一応全部消していい

Aレイヤーを追加してそのタイムラインに
レイヤーは追加しなくていいから@のレイヤーに
stop();
this.onRollOver = function() {   //ロールオーバーの処理
  this.gotoAndStop(2);
};
this.onRollOut = function() {    //ロールアウトの処理
  this.gotoAndStop(1);
};
this.onRelease = function() { //リリースの処理、クリップアクションのfumctionを実行
 this._x += 2 //クリップアクション
};

BMCのクリップアクション
何も書かない
310308:05/03/07 23:09:52 ID:WbdOibiS
>>309
レスありがとうございます

その方法で出来るのですが、
例えば、多くのボタンを作成する際、クリップアクションにそのボタンの動作を記述すれば、
RollOver、Outは同じで、Relaseだけを変更するだけで(新たに作ることなく)、
そのボタンのやくわりを、変更出来ればと考えています。

説明不足ですいません。
311Now_loading...774KB:05/03/07 23:21:22 ID:JEO8JQ9q
>>310
フレームアクションに貼り付ける
stop();
this.onRollOver = function() {
  this.gotoAndStop(2);
};
this.onRollOut = function() {
  this.gotoAndStop(1);
};

ムービークリップに貼り付ける
on(relase){
trace("クリックしたよ")//処理
}
312308:05/03/07 23:52:13 ID:WbdOibiS
解決しました。ありがとうございます
313Now_loading...774KB:05/03/08 00:42:05 ID:f/yjRYAI
FLASHMXでシューティングゲームを作ろうとしているものです。
敵の弾と自機との当たり判定を設定するとき、
各インスタンス同士の接触を当たり判定にすると余計な空白にまで
当たり判定が有効になってしまいますが、これを解消するにはどうすればいいんでしょう?

1、自機の「当たり判定」としたいところに別のインスタンスを設け、
敵の弾とはそのインスタンスとの接触で判定する
2、自機の座標から「当たり判定」の区間を指定し、敵の弾の座標と比較することで
自機との接触を判定する

上記のどれが、またはどんな代替案があるかを教えてください。
よろしくお願いします。
314Now_loading...774KB:05/03/08 00:46:30 ID:mxxOJvab
true
315Now_loading...774KB:05/03/08 11:30:49 ID:J/AW1QNd
すみませんが質問させて頂きます。
文字を入力バーから入力して、別のウィンドウに表示するスクリプトを書いています。
それ自体には成功したのですが、入力バーが""の時にリターンキーを押すと
文字をウィンドウに飛ばせるようにしたところ
変換が終わったものからどんどん飛んでいってしまいます。

例えば
「今日はいい天気だ」と打とうとすると

今日

いい天気


と分裂してしまうんです。
こういう場合は、どのようにしてまだ変換中の文字があることを認識させればよいのでしょうか
何かお分かりになる方がいらっしゃいましたらご指摘頂けると幸いですm(__)m
316315:05/03/08 11:34:01 ID:J/AW1QNd
こちらがソースで、チャット入力オブジェクトに記述しています。
環境はFLASH5です。

onClipEvent (keyDown) {
if (Key.isDown(Key.ENTER) == true) {
if (_root.ChatBar.inchat != "") {
_root.sendChat(_root.ChatBar.inchat);
_root.ChatBar.inchat = "";
}
}
}

//関数は_rootのフレームスクリプトとして記述
function sendChat (chat) {
chat = _root.cname+":"+chat
str = "<Ch chat=\"" + chat + "\"/>";
sendStr(str);
}
317Now_loading...774KB:05/03/08 12:02:08 ID:4oeNaRe0
>>315
onClipEvent (keyDown) {
trace("getcode :"+(Key.getCode() == (Key.ENTER)));
trace("isDown :"+Key.isDown(Key.ENTER)) ;
}
318315:05/03/08 12:16:03 ID:J/AW1QNd
ご指導ありがとうございました
大変参考になりましたm(__)m
319Now_loading...774KB:05/03/08 13:28:00 ID:asNd/6Ub
このスレの人はどんどん教え方が上手くなってるなぁ・・・
320Now_loading...774KB:05/03/08 14:06:40 ID:tbTFnQUQ
ちょっとスレの趣旨とは違うのですが、質問させてください。
以前オセロオンラインにあったActionScriptのドキュメントを
保存している方がいましたら、アップしてもらえないでしょうか。

タイトル:ActionScript基礎 (うろおぼぼえ)
URL:ttp://f48.aaa.livedoor.jp/~star/as/index.html
補足:GoogleとInternet Archiveにはキャッシュなし

これを参考にXMLソケットの勉強していたのですがいつのまにか消えて困りました。
よろしくおねがいします。
321295:05/03/08 20:57:56 ID:Wxo/o5Cx
>>305
レス遅くなってすみません。
うーん、やはり無理ですか。
typeofでもobjectとしかかえってこないですしね・・・
オブジェクトをXMLにシリアライズするコードを書いていて、
これができれば格好よくクラス名をタグに変換出来るなと思っていました。
ここは諦めてプロパティ実装することにします。
(プロパティ名を同じにすれば希望の動作は出来ますしね)
ありがとうございましたm(_ _)m
322Now_loading...774KB:05/03/09 13:09:35 ID:EixmgOOJ
さっきから、
パブリッシュしたムービーの動作がひどいことになっているんですけど、
flaファイルが破損していることなんてあります?
323Now_loading...774KB:05/03/09 13:27:08 ID:L6mC1l1f
何がどう酷くなってるのかわからんから・・・・。

関数が気づかずに無限ループして酷くなる事もあるし、何とも言えんよ。
酷いってのは何さ。
324322:05/03/09 13:45:53 ID:EixmgOOJ
説明不足な文章で申し訳ないです。

「動作がひどいことになっている」
というところは、無視して下さい。

で、何が言いたいのかというと、
・flaファイル破損という現象は特定条件で起こるものなのか?
・起こった場合、それを見分ける術はあるのか?
ということです。

何度も本当にすみません
325Now_loading...774KB:05/03/09 13:59:43 ID:4/1sja49
>>324
とりあえずコピー作って保存して最適化してみれ。
326Now_loading...774KB:05/03/09 14:31:21 ID:AEaEec6B
>>324
何が言いたいのですか
327Now_loading...774KB:05/03/09 16:35:02 ID:GZ/kxsxF
>>324
とりあえず、貴方の思考がひどいことになってそうです。
もちついてください。
328322:05/03/09 19:56:08 ID:EixmgOOJ
色々ご迷惑おかけし申し訳ないです。

状況としては、
・修正対象のflaファイルに何度か修正を行っているうちに、
 今までのパブリッシュ結果とは全く違う不具合が多数発生する。
・修正内容はデバック用のテキストボックスへの書き出し程度。
・不具合が発生する前の状態のバックアップに差し戻し、
 修正をかけると期待通りの動作が可能。
・ただし、再び幾度か修正を行うと同じように不具合が発生。

という状況です。
一度、不具合が起こるとその後の修正は全く反映されません。
ファイルを戻した場合のみ、不具合が回避されます。

「flaファイル破損」でググると、
何か似たような状況の方がいたので、何か分かるかなと思い、
質問したところです。

>>325さん
ありがとうございます。
試して見ます。
329Now_loading...774KB:05/03/09 19:56:53 ID:qWxoTrdB
不具合が何かを書け
330Now_loading...774KB:05/03/09 20:03:19 ID:L6mC1l1f
>>328
状況が激しく見えないんだけど、デバック用にテキストボックスなの?
ダイナミックテキストに変数を表示させてるとか言う事かしら。
その程度のデバックならば、trace() で出力させる方が良いとも思いますが、
期待通りに動いてないからファイル破損を疑うと言うのはおかしいよ。

そこまで忠実に再現性があるのならば、まずはその修正とやらを考え直すべきじゃないかな。
それこそ、その”修正”が無限ループを引き起こしてる可能性があるとかさ。

普通に考えて、あなたが言う”修正”が、あなたの期待通りに動いてないだけとも思える。
実際に、どんな感じで不具合の症状が出るのか書かないと、対処のしようも無い。
機械は貴方が打ち込んだコードで、忠実に計算してるだけかもしれないし、バグかもしれない。

マジで、どう言う不具合が出てるのか分からないときついから。
自分の予測と違う動きをしてるのか、エラーを吐き出すのか、もう一度詳しく。
331322:05/03/09 20:41:42 ID:EixmgOOJ
ご迷惑をお掛けしてすみません。

trace()は実質使用できない状況です。
というのは、
・多数のswfより構成されている。
・FlashRemotingを使用し、CFと通信している
などの理由の為です。

現状では、テキストボックスを貼り付けたドラッグ可能なウィンドウを作成し、
そのテキストボックスを変わりにtraceボックスとして使用しています。
(ブラウザで確認が必要な為)
このテキストボックスへの出力は、
グローバルスコープの関数traceOut()を定義し、
引数として受け取った値を出力する機能だけを持たせています。
また、Objectオブジェクトを受け取った場合、
その中の要素全てを表示させる機能も付加してありますが、
網の目構造体を受け取った場合は無限ループに陥るため、
そこは気をつけて対応しています。

ですので、実際ソースに行っている修正は、
traceOut("test =" + aaa);
のような一文の追記のみです。

<続く>
332322:05/03/09 20:42:17 ID:EixmgOOJ
<続き>
それに対し発生するエラーは、
今まで期待通りに動作していた、ドラッグイベントにて、
違う動作が発生する。
など予想不可の不具合が出ています。

状況としてシンタックスエラー等でパブリッシュに失敗したとき、
そのままswfファイルをアップロードし動作させたときと似ています。

また、不具合が出た直前の修正内容を、
バックアップより戻したflaファイルに行っても不具合は再現しません。

ただし、再度同じファイルに対し修正を掛けていると、
不具合が発生します。

以上のような状況から、私はソース自身より、
FLASHそのものの仕様を疑っているということです。

長文すみません。
本当にご迷惑をお掛けします。
333Now_loading...774KB:05/03/09 20:44:06 ID:qWxoTrdB
だーかーらー!
違う動作ってなんだよ!
334Now_loading...774KB:05/03/09 20:50:00 ID:AEaEec6B
>>331
1行目から読んでないけど
ならFlash使わなきゃいいでしょ
335Now_loading...774KB:05/03/09 20:54:39 ID:L6mC1l1f
ソースの開示はどうせ無理だろうけどさ・・・。

貴方の言う”正常動作”がわからないんだよ。俺ら。

traceOut() 関数に何か問題があるのかもしれないし、パス構造に問題があるかもしれないし、
テキスト出力の絡みで問題があるかもしれない。

ほんと、>>333と同じ事言うけど、
想定外の動作って何よ・・・。
俺らわからんから。
336Now_loading...774KB:05/03/09 20:56:56 ID:qWxoTrdB
ひどいことってなんだよって聞いたら、まったく違う不具合と言い出して
不具合って何よと聞くと違う動作とか言い出す始末。
釣りか?
337Now_loading...774KB:05/03/09 20:59:45 ID:jr09SvGI
もういいよ。flaの不具合でしょ。はい次。
338Now_loading...774KB:05/03/09 20:59:58 ID:hYpaju2D
本人がフラッシュが悪いと結論づけているのだから、
我々がとやかくいうことはないだろ。
普通に戻りましょう。
339Now_loading...774KB:05/03/09 22:02:26 ID:tLEPGoNc
フラッシュが悪いと思ったのならマクロメディアに連絡すれ
っつーか、PCがウイルス感染してんじゃね?
仮にそうだとしても板違いだが
340322:05/03/09 22:32:27 ID:EixmgOOJ
ご迷惑をおかけして、
申し訳ございませんでした。

後は自分で考えます。

341Now_loading...774KB:05/03/10 00:17:20 ID:kONS4kS2
以前に2004で作ったswfをver6対応にしてほしいとなった時、
書き出しをver6にしたらBMPがバグり、
そのBMPを取り替えたらそのFlaがバグったようで、
BMPをどう取り替えても真っ黒の空のBMPになる現象が起きた事がある。

後、アップデート当ててないFlashで複数のAS(タイムライン上の)を
タブでロックしながら編集すると、保存時に保存されていない不具合とか。

322のソレとは関係ないけどね。
342Now_loading...774KB:05/03/10 08:14:59 ID:wpJ/6rwE
BMPが黒くなるんですー。 って書けば解決な訳だ。
どんな不具合かわからねーって言ってるのに、それを書かなかったのが原因だしな。
343Now_loading...774KB:05/03/10 10:43:05 ID:nf+yIchP
actionscriptで ボールの動きを再現したいのですが
どういう風につくればいいのでしょう

つかんだり つついたり 落としたり 出来る物が作りたいです

参考になるサイトなどでもいいので
教えてください
344Now_loading...774KB:05/03/10 12:08:33 ID:7lO7+BK8
>>343
ttp://www.procreo.jp/tutorial.html

ソースも公開してるので参考になるかと。
345343:05/03/10 12:23:18 ID:nf+yIchP
>344

ありがとうございます
参考にします
346Now_loading...774KB:05/03/11 01:08:52 ID:nxl/5uiJ
いい加減AS2.0に慣れたいと思うのですが、
クラス等の記述方法について判りやすく解説してるサイトってあるでしょうか?
347Now_loading...774KB:05/03/11 02:30:29 ID:FAQMNzH+
>>346
まずは自分のドメインを取ることから…
348Now_loading...774KB:05/03/11 07:46:00 ID:y1R2tm/M
完璧にやるならドメインが必要だけど
ちょっとした作品製作ならasフォルダでも作って
パスをas/〜みたいに短くしちゃっていいと思われ。
本気でやりたければFlashOOPとか買って
あとはJava用のサイトを見ればいい。
349Now_loading...774KB:05/03/11 09:59:13 ID:HG1bKzdu

ドメインて、何で必要なん?意味分からないんだけど。

>346
簡単な解説ならここに
ttp://www.fumiononaka.com/TechNotes/Flash/index.html
350Now_loading...774KB:05/03/11 10:26:21 ID:y1R2tm/M
オブジェクト指向のパッケージは
トップに自己ドメインからつけて世界中の重複を無くすということが推奨されているから。

でも別に個人で気楽に作るものに必要だとは思わないけどね。
351Now_loading...774KB:05/03/11 12:24:06 ID:KB6en9TJ
JavaのOOP本買ったら?
352Now_loading...774KB:05/03/11 14:59:12 ID:QOEkukKw
ループ文を大量に使用すると書き出しは出来て正確に動作しても
プレビュー出来ない不具合について
353Now_loading...774KB:05/03/11 15:19:27 ID:j6yN+we/
>>352
PCのスペックが低いから
354Now_loading...774KB:05/03/11 18:34:05 ID:nxl/5uiJ
>>349
私のレベルでも判りそうです。
有難うございます。

>>348
ピンクの本ですね。
背伸びして買ってみたのですが、
私には少し難しく、ついていけませんでした…。

皆さん、有難うございました。
355Now_loading...774KB:05/03/11 21:29:27 ID:AxGHFdU9
乱数シードって、設定できないんですか?
356Now_loading...774KB:05/03/12 01:30:07 ID:fpaW9Wuv
うん。
357Now_loading...774KB:05/03/12 02:41:38 ID:qBR1lXRh
質問なんですが、flashにミュート用のボタンを作ったんですが
次回観るときもミュートボタンが有効になるように
on/offを保存する場合はどのようにすれば良いのでしょうか
クッキーもしくはApplication Dataを使うのかなと考えているんですが
ヒントだけでも教えてください
358Now_loading...774KB:05/03/12 02:45:56 ID:7MHp0V3V
>>357
こちらのサイトに詳しい解説がありますので、ご参照ください。
http://hakuhin.hp.infoseek.co.jp/main/as/save.html
359357:05/03/12 04:06:39 ID:qBR1lXRh
>>358さん
お早いご回答ありがとうございます、凄くわかりやすくできました
360Now_loading...774KB:05/03/12 09:29:06 ID:HF/kmz5r
チャットを作っています。
Key.addListenerでKey.ENTERを判断しているのですが、
漢字変換の確定中のEnterまで取得して、途中で送信されてしまっています。
これをうまく漢字確定後のEnterで送信するにはどうしたらよいのでしょうか。
361Now_loading...774KB:05/03/12 09:38:58 ID:3D9gpgcx
>>360
>>315-318
同じ質問続くなあ。春休みの宿題か何か?
362Now_loading...774KB:05/03/12 10:22:30 ID:HF/kmz5r
>>361 たぶん違うとおもいます。
あと
Selection.setFocus()でTextFieldにフォーカスを充てるとEnterが反応しません。
どうすればよいでしょうか?
363Now_loading...774KB:05/03/12 10:41:28 ID:okR1hQbg
>>362
swfでもだめかね
364Now_loading...774KB:05/03/13 02:21:00 ID:3YBZhM5z
365Now_loading...774KB:05/03/13 21:20:49 ID:LjZwQO2u
Microsoft Windows XP Home Edition Version 2002 Service Pack 1a で
Macromedia Flash MX Professional 2004 Version 7.0 を使ってるのですが、
9個の変数(a,b,c,d,e,f,g,h,i)の値が全て違うかどうかを判断する演算を行う場合に
処理が軽くなるにはどんな式をつかったらよいのでしょうか
366Now_loading...774KB:05/03/13 21:25:20 ID:FaC1un0n
中身何?文字?数字?
367Now_loading...774KB:05/03/13 21:30:04 ID:LjZwQO2u
>>366
すべて数字です
1か2か3か4か5か6か7か8か9の数字です
368Now_loading...774KB:05/03/13 21:43:02 ID:+Yq4n502
配列にぶち込んでforで比較なんてどうだろう。
369Now_loading...774KB:05/03/13 21:50:17 ID:440nriUj
それくらいの数なら馬鹿比較で問題ないぞ

function onaji(hairetsu){
for (i = 0; i < hairetsu.length; i++){
for (k = i+1; k < hairetsu.length; k++){
if (hairetsu[i] != hairetsu[k]) return false;
}
}
return true;
}

trace(onaji(hoge));

こういう感じで
370Now_loading...774KB:05/03/13 21:54:06 ID:+Yq4n502
バカ比較って言うなら

if(a!=b&&b!=c&&c!=d&&d!= 略
371Now_loading...774KB:05/03/13 21:54:36 ID:440nriUj
それはある意味天才なので
372Now_loading...774KB:05/03/13 22:16:27 ID:LjZwQO2u
a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&a!=h&&a!=i&&b!=c&&
b!=d&&b!=e&&b!=f&&b!=g&&b!=h&&b!=i&&c!=d&&c!=e&&c!=f&&
c!=g&&c!=h&&c!=i&&d!=e&&d!=f&&d!=g&&d!=h&&d!=i&&e!=f&&
e!=g&&e!=h&&e!=i&&f!=g&&f!=h&&f!=i&&g!=h&&g!=i&&h!=i

これはバカですか・・
373Now_loading...774KB:05/03/13 22:20:13 ID:+Yq4n502
それはある意味天才なので
374Now_loading...774KB:05/03/13 22:24:42 ID:nOWDakAF
>>372
漏れ、マジでそれしか思い浮かばなかったんだけど・・・
375Now_loading...774KB:05/03/13 22:25:42 ID:cYCkEudF
全部足して9で割るとか?
if((a+b+c+d+e+f+g+h+i)/9==a)trace("一緒")
376Now_loading...774KB:05/03/13 22:28:38 ID:440nriUj
どこかに1 2 3とあった時点で破綻するだろ。
377Now_loading...774KB:05/03/13 22:31:28 ID:LjZwQO2u
>>375
それだと全部の変数が5のときでもtrueになってしまいますね
378Now_loading...774KB:05/03/13 22:36:02 ID:BF2N3zBP
そろそろビット演算の神の光臨キボンヌ
379Now_loading...774KB:05/03/13 22:38:22 ID:440nriUj
つか相変わらずうっかり技術スレみたいな話しちまうな。
お前らどうせ同じメンバーだろうけどもう少し向こうでこういう話しようぜw
380Now_loading...774KB:05/03/13 22:39:47 ID:+Yq4n502
ふと思った。

a = [1,2,3,4,5,6,7,8,9]

からspliceで変数に割り当てれば良い様な気が・・・。
381Now_loading...774KB:05/03/13 22:42:51 ID:440nriUj
一瞬何かと思ったが、1度出たやつを消していくってことか?

・・・ってウガー!つい。
ttp://pc5.2ch.net/test/read.cgi/swf/1071929938/
こっちだこっち。
382Now_loading...774KB:05/03/13 22:44:21 ID:gljfW0g4
さよならを言ってからなかなか終わらないチャットのようだw
383Now_loading...774KB:05/03/13 22:58:34 ID:T/U6zZll
2の変数乗を足してみる。

だめ?
384Now_loading...774KB:05/03/13 22:58:36 ID:BF2N3zBP
効率の良さって
いろんなパターン組んでみて
1000回単位で回して速度を測って
みるしかない気がするのだが

一番効率が良いのは効率を気にしないことではと
思うのですがどうなんでしょう?
385375:05/03/13 22:59:36 ID:erSgyOX/
そうか。全部一緒かどうかと思ってた。じゃあ1〜9決めうちでこんなとか?
if((1<<a)+(1<<b)+(1<<c)+(1<<d)+(1<<e)+(1<<f)+(1<<g)+(1<<h)+(1<<i)==1022)trace("異なる")
386Now_loading...774KB:05/03/13 23:02:16 ID:T/U6zZll
>>384
たしかに。

「効率が良い」コード
・実行速度が速い
・メンテナンス性が良い/拡張性が高い/デバッグが容易
・バカでも分かる/コーディングにかかる時間が少ない

どれを求めるかによって変わってくるね。
387Now_loading...774KB:05/03/13 23:08:43 ID:LjZwQO2u
>>386
とにかく速いのがいいです
388Now_loading...774KB:05/03/13 23:22:17 ID:C4rOwYGN
どうでしょ?
s=1<<a|1<<b|1<<c|1<<d|1<<e|1<<f|1<<g|1<<h|1<<i;
if(s==1022){
trace("barabara");
trace(s);
} else {
trace(s);
}
389Now_loading...774KB:05/03/13 23:22:31 ID:BF2N3zBP
>>387
速さ以前に、扱いの効率の良い配列を使うことを覚えて
コードをまず書いてみて、それから早くする方法を尋ねてください。


配列になっていれば、並べ替えと、
並べ替え判定のfunction用意すれば、2行で終わるかも。
390Now_loading...774KB:05/03/13 23:23:02 ID:494omVCG
「全て違うかどうか」
っていうのは
全て違う <=> ¬(少なくとも一組同じ値がある)
というケースですね?
全て同じ <=> ¬(少なくとも一組違う値がある)
の方ではなく?

変数が9個で値が1〜9に限定されている前提ならば全てかければいいだけの話では?
362880と比較
391Now_loading...774KB:05/03/13 23:23:38 ID:C4rOwYGN
あ、385を見てなかった・・・
392Now_loading...774KB:05/03/13 23:24:00 ID:+Yq4n502
ビット演算子キター
393Now_loading...774KB:05/03/13 23:25:35 ID:494omVCG
ごめんなさい、単位元と因数可能な整数について考慮し忘れてました
394Now_loading...774KB:05/03/13 23:28:18 ID:+Yq4n502
活気があってよろしいですなー。

やっぱ、1〜9しか無いって時点で、総乗で比較がスマートな気がしないでも無いけどね。
395Now_loading...774KB:05/03/13 23:37:26 ID:BF2N3zBP
hairetu = [a,b,c,d,e,f,g,h,i];
あとは369

コレで分からなければ諦めたほうがいいかと。
396Now_loading...774KB:05/03/13 23:52:02 ID:LjZwQO2u
落ちる
397Now_loading...774KB:05/03/16 13:44:26 ID:MGESUmYj
LoadVars で外部テキストファイルを読み込んでいるんですが % 以降の文字がが化けて >>? のようになってしまいます。
どうしたらよいですか?
398397:05/03/16 13:53:24 ID:MGESUmYj
399Now_loading...774KB:05/03/16 14:47:53 ID:hW7XPlKL
質問です。

カレンダーを作ろうと思い、まず6行*7列のセルを用意します。そこまではできました。
次に、それぞれのセルに、1から42まで順番に数字を割り振ろうとしたのですが、それが上手く出来ません。
御教授をお願いします。環境は MX2004/Win2Kです。

希望処理(手順)
1 ムービークリップとして複写元となる Day_cell_00 を用意する。
  Day_cell_00ムービーは、t_DLダイナミックテキストを内包。

2 Day_cell_00 を複写した後、表示位置を調整。

3 複写したムービー内のt_DLダイナミックテキストの text 値を更新。
400Now_loading...774KB:05/03/16 14:48:39 ID:hW7XPlKL

コード
>>399 コード

make_Day_cell();
function make_Day_cell() {
var n, w, d;
se = Day_cell_00.t_DL.text;
Day_cell_00._visible = 0;
Day_cell_00._width = 50;
Day_cell_00._height = 50;
Day_cell_00._x = 180;
Day_cell_00._y = 80;
for (w=0; w<6; w++) {
for (d=1; d<=7; d++) {
n++;
dateBox = "D"+n;
duplicateMovieClip("Day_cell_00", dateBox, n);
this[dateBox]._x = Day_cell_00._x+Day_cell_00._width*d;
this[dateBox]._y = Day_cell_00._y+Day_cell_00._height*w;
this[dataBox].t_DL.text = n ;
}
}
}
401Now_loading...774KB:05/03/16 15:44:45 ID:zV9ZfSSH
>>399
うまくできないとは具体的にどういう事?
表示されないとか?
402399:05/03/16 16:01:11 ID:hW7XPlKL
>>401
t_DL.text の数字が更新されないんです。
this[dataBox].t_DL.text = n ;
の部分が上手く行ってない気がするのですが…
403Now_loading...774KB:05/03/16 16:04:58 ID:NiCpR2RK
this[dataBox].t_DL.text = n ;
dataBox?
404Now_loading...774KB:05/03/16 16:13:22 ID:zV9ZfSSH
duplicateMovieClipってこんなんだっけ?
アタッチじゃなくて?
405Now_loading...774KB:05/03/16 16:13:43 ID:hW7XPlKL
>>403
元のコードの方は[dateBox]になってます。
すいません、タイプミスです。
406Now_loading...774KB:05/03/16 16:19:02 ID:zV9ZfSSH
>>405
トレースしてみました?
407Now_loading...774KB:05/03/16 16:35:44 ID:hW7XPlKL
>>406
良く見たら元のコードの方も間違ってました。
申し訳ないです。

凡ミスのせいで御迷惑おかけしました。
>>401 >>403 >>404 >>405 様、ありがとうございます

修正した所上手くいきました。
408fora:05/03/16 17:01:32 ID:L8z+woxg
コンポーネントを使わない特殊なチェックボックスについて質問させて下さい。
1つの問題に対して選択肢が複数あり、その中から正解を2つ選択するのですが
常に一つだけ選択できるチェックボックスはできたのですが、2つだとうまくできません。

※条件
1.チェックボタンは2つしか選択できない。
2.3つ目を選択すると、1つ目が解除される。

※状態
1.rootにMC、radio_button1〜radio_button4までを配置
2.rootのフレームアクションに下記のソースを記述。

buttonNum = 4;//ボタンの数を設定

A = [2, 3];//正解の設定

checkID = false; //checkIDがどのボタンがチェックされているか
nowChecks = new Array();

for (var i = 1; i<=buttonNum; i++) {
this["radio_button"+i].gotoAndStop("off");
}

function nameChange() {
IDNum = (checkID.substr(-1, 1))-1;//現在選択されているボタンを配列に登録

nowChecks.unshift(IDNum);//常に登録数は2つまで、古いものは削除。
nowChecks.splice(2, 1);
}
409fora:05/03/16 17:03:33 ID:L8z+woxg
つづきです。↓
3.MC、radio_buttonの一階層中のフレームアクションに下記のコードを記述。
  radio_buttonの中にはMC、radio_BTがあり、1フレーム"on"、2フレーム"off"
  となっています。

radio_BT.onPress = function() {
karihen = _root.nowChecks[1];
for (var i = 1; i<=_parent.buttonNum; i++) {
_parent["radio_button"+i].gotoAndStop("off");
}
gotoAndStop("on");
_parent.checkID = this._parent._name;
_parent.nameChange();
};
制作環境:FlashMX、winXP   以上です。よろしくお願いします。
410Now_loading...774KB:05/03/16 17:36:08 ID:OIduN+Rf
すいません。教えてください。
ASで銀はがしを作ってるんですが、

function drawmask(){
w=20;
left=_xmouse-w/2;
top=_ymouse-w/2;
right=_xmouse+w/2;
bottom=_ymouse+w/2;
with(newmask){
beginFill(0xffffff );
moveTo(left,top);
lineTo(right,top);
lineTo(right,bottom);
lineTo(left,bottom);
endFill();
}
}
このスクリプトだと、はがれ方が四角形になって
しまいます。大きな円形に削れるようにしたいのですが、
良かったら教えてください
411Now_loading...774KB:05/03/16 17:49:58 ID:wak2/xby
>>410
HelpのMovieClip.curveTo()みれ
412 :05/03/16 17:55:44 ID:TjtNu1As
すみませんが質問させて頂きます。
上キーを押したとき、キャラクターが上に移動するゲームを作っているのですが

onClipEvent (keyDown){
if (Key.getCode() == Key.UP) {
mychara._y -= 10;
}
}

のように書くと
上を押して一度動き、その後0.5秒ぐらい止まったあと上のほうに動きはじめます
実際のキーボードのカーソルの動きと連動してるのだと思うのですが
これでキャラを動かすと、快適に動かすことができずに困っております。

Flashの場合、これは仕方のないことなのでしょうか
何かお分かりになる方がいましたらアドバイスを頂ければ嬉しいです
413412:05/03/16 18:00:28 ID:TjtNu1As
すみません、enterFrameを使うことで自己解決しました
414Now_loading...774KB:05/03/16 18:07:40 ID:wak2/xby
>>413
コンパネのキーボードの表示の間隔に左右されちゃうよね。
415410:05/03/16 18:32:08 ID:OIduN+Rf
function drawmask(){
w=30;
left=_xmouse-w/2;
top=_ymouse-w/2;
right=_xmouse+w/2;
bottom=_ymouse+w/2;
with(newmask){
beginFill(0xffffff );
moveTo(left,top);
curveTo(left+15,top-15,right,top);
curveTo(right+15,top+15,right,bottom);
curveTo(right-15,bottom+15,left,bottom);
curveTo(left-15,bottom-15,left,top);
endFill();
}
}
で自己解決しました。
411様ありがとう。安易に質問してすいません。
416Now_loading...774KB:05/03/16 20:44:02 ID:EmU49ojf
すみませんが質問です。
ムービークリップ名が
aaa0bbb0
aaa0bbb1
aaa0bbb2
aaa1bbb0
aaa1bbb1
aaa1bbb2
とかの場合にfor文を使って、それぞれのムービークリップにアクセスするにはどのように記述したらよいのでしょうか。
下のように、eval文を使ってもうまくいきません。
トレースすると名前はちゃんとできているようですが・・・
for(i=0;i<3;i++){
for(j=0; j<3; j++){
eval("aaa"+i+"bbb"+j)._xscale=200;
trace("aaa"+i+"bbb"+j);
}
}

evalのかわりに
this["aaa"+i+"bbb"+j]._xscale=200;
と書いてもダメでした。
417Now_loading...774KB:05/03/16 20:49:36 ID:NiCpR2RK
eval("aaa"+i+".bbb"+j)._xscale=200;
this["aaa"+i]["bbb"+j]._xscale=200;
418Now_loading...774KB:05/03/16 20:51:27 ID:zV9ZfSSH
>>416
なぜ、だめだと判断したか知りたいな。
419Now_loading...774KB:05/03/16 22:21:49 ID:EmU49ojf
>>417
できませんでした。
どうしてなんでしょう・・・階層もインスタンス名もちゃんと書いてるのですが。

>>418
ターゲットのムービークリップに変化がなかったので。
420Now_loading...774KB:05/03/16 22:32:50 ID:m+yJBeyx
this.aaa0bbb0._xscale=200
って書いて動くの?
421Now_loading...774KB:05/03/16 22:47:52 ID:EmU49ojf
>>420
はい、直接指定して書くと動くのですが・・・
422Now_loading...774KB:05/03/16 23:00:33 ID:WMncbI2P
eval("aaa" + 0 + "bbb" + 0)._xscale= 200
って書いたら動く?
423Now_loading...774KB:05/03/16 23:07:29 ID:EmU49ojf
>>422
・・・動きませんでした。
うーん。
424Now_loading...774KB:05/03/16 23:08:04 ID:+xtt4eeh
trace(eval("aaa"+i+"bbb"+j));
ってやってundefinedが出るか?

出ないなら他の処理が悪さしてるんじゃね
とりあえず最小構成で試してみたら?
425Now_loading...774KB:05/03/16 23:14:11 ID:1wZXE2AT
とりあえずevalはよくないらしいから[ ]を使うとして
ムービークリップを1個だけにして実験するとかしてみな。
あとはプレビュー中にオブジェクトのリストアップをしてみるとか。

予想だが、アクセス部分で問題が起こっているんじゃなくて
MCの配置とか名前が間違っていそう。
426Now_loading...774KB:05/03/16 23:23:32 ID:EmU49ojf
>>424
_level0.aaa0bbb1
_level0.aaa0bbb2
_level0.aaa0bbb3
_level0.aaa1bbb1
_level0.aaa1bbb2
_level0.aaa1bbb3
と出ました。

>>425
そう思って、新規ファイルでそれだけ命令とムービークリップ作ってやってみてるんですけどねぇ、
うまくいかなんですよ・・・
427Now_loading...774KB:05/03/16 23:38:09 ID:zV9ZfSSH
>>426
ちなみに、_xscaleじゃなくて_xで位置替えとかはできる?
スケールだから。。。。
428Now_loading...774KB:05/03/16 23:43:22 ID:+xtt4eeh
おかしいな
>>416の条件下で実行したなら

_level0.aaa0bbb0
_level0.aaa0bbb1
_level0.aaa0bbb2
_level0.aaa1bbb0
_level0.aaa1bbb1
_level0.aaa1bbb2
undefined
undefined
undefined

と出るはずなんだが
まあ、多分レス上の都合だろうから関係ないか

とりあえずパスはあってるみたいだし、それでアクセスできないとなるとわからん
429Now_loading...774KB:05/03/16 23:44:40 ID:EmU49ojf
はい。
位置でやってもダメでした。
何が原因なんでしょう。
417さんにあったようにやったら普通できるんですよね?
430Now_loading...774KB:05/03/16 23:47:22 ID:1wZXE2AT
>>426
そのうまくいかないの方を詳しく
431Now_loading...774KB:05/03/16 23:52:13 ID:+xtt4eeh
っていうかMX?
432Now_loading...774KB:05/03/16 23:53:21 ID:EmU49ojf
>>430

えっとですね、最初に投稿したようにfor文を使って書くとムービークリップには何の変化もないまま。
直接1個1個ムービークリップ名を書いて処理されるときちんと処理される。
という感じです。
433Now_loading...774KB:05/03/17 00:00:25 ID:WNkqs/Hq
>>431

MX2004Proでうまくいかなかったため、MXでも試してみましたが動作しませんでした。
434Now_loading...774KB:05/03/17 00:09:09 ID:9RRFoRAj
>>432
じゃあfor文がどっか良くない。
その指定で、MCが指定できないってことは無いし
_xscaleを指定して動かないってことも無いし
Flashのバグではありえないから
多分forの数字が違うはず。
435Now_loading...774KB:05/03/17 00:26:22 ID:WNkqs/Hq
>>428
すいません。投稿するとき書き間違えました。
for(i=0;i<2;i++){
for(j=0; j<3; j++){
でした。
436Now_loading...774KB:05/03/17 00:34:32 ID:ilQQ/NAq
まあそれでも>>426にはならないわけだが
437Now_loading...774KB:05/03/17 00:35:13 ID:Yd+nt6sW
>>435
for(i=0; i<2 ;i++){
  for(j=1; j<4 ; j++){
438Now_loading...774KB:05/03/17 00:53:18 ID:WNkqs/Hq
なんどもすみません、こうでした。
for(i=0; i<2 ;i++){
  for(j=1; j<=3 ; j++){
439Now_loading...774KB:05/03/17 00:55:14 ID:Yd+nt6sW
参考までにどうぞ。
ttp://sysyuki.hp.infoseek.co.jp/flash/2ch.zip

ノートン2005でウィルスチェック済みです。
440Now_loading...774KB:05/03/17 01:15:18 ID:WNkqs/Hq
>>439
わざわざありがとうございます。
そのファイルを編集してfor文つけて試してみるとできました。
自分のファイルはなんかゴミとか不具合があったんでしょうかね・・・
どうもお騒がせしました。
441Now_loading...774KB:05/03/17 04:40:50 ID:l9V4j9jf
動作環境:macOS9.2,flashMX

フラッシュで一つのswfにボタンを複数(5個)作ったものを
書き出しまして、そのswfをふくむHTMLからそれぞれの
ボタンのリンク先のフォルダ内にあるHTMLをランダム
に表示させる仕組みを作りたいのですがうまくいきません。

なにぶん初心者の為に色々試してみたもののダメでした。
どうかご指南下さい。何卒宜しくお願い致します。
442Now_loading...774KB:05/03/17 08:06:19 ID:bSwTO5fT
Mac OS9.2、Flash 5
ページを横に引き出すと絵が変わる「しかけえほん」のような動作を
startDrag() で再現させたいと考えています。
が、レイヤーの構成が
 レイヤー1:絵のアウトライン(ドラッグの対象)
 レイヤー2:レイヤー3を表示させないための白ベタ(※ドラッグの対象外)
 レイヤー3:色付きの絵(ドラッグの対象)
となっているため、レイヤー1と3のみを動かすことに成功できません。
何か方法があれば、調べるヒントになるものを教えていただけないでしょうか。
仕事ではないので急ぎません。

「しかけえほん」の意味が伝わりにくいと思うので、
geocitiesを借りてFlashムービーを載せました。
http://www.geocities.jp/goody3333shoes/question.swf
443Now_loading...774KB:05/03/17 09:28:42 ID:X1qfwqm1
>>441
ちょっと状況がわからないんだけど、Flashで作ったボタンをHTMLに貼り付けて、それを押すとハイパーリンクするって事でいいのかな・・・。
MCのスクリプトでこんな感じでどうだろう。
onClipEvent (load) {
a = ["http://www.google.co.jp/", "http://www.goo.ne.jp/", "http://www.2ch.net/"];}
on (release) {
b = Math.floor(Math.random()*3);
getURL(a[b]);}

>>442
マスクを使うよろし。
マスクレイヤーでも出来るし、もっと豪快にやるならASでsetMask()。マスクを検索してみると吉。
Flashのマスクは、適用された部分 ”のみ” を表示する。他のツール(フォトショ等)とは全く逆。 
444Now_loading...774KB:05/03/17 09:29:35 ID:FBsAkazP
まず何もしかけのないドラッグができるのかが問題だけど…
できると仮定して、
ドラッグした位置のxを取得して、hogeとして
レイヤー1のMC._x=hoge
レイヤー3のMC._x=hoge
とすれば、1と3だけ動かせる。

5だと、on(press)がボタンにしか書けない気がするから
引っ張るものはon(press)で、引っ張られる側はonClipEvent(enterFrame)使って移動と
ひと手間かかると思う。
445443:05/03/17 09:46:26 ID:X1qfwqm1
>>442
的外れなレスしてごめんなさい><
446442:05/03/17 11:46:40 ID:bSwTO5fT
>>444
お陰でできますた!
「引っ張る側、引っ張られる側」という説明がすごくわかりやすかったです。
レイヤー1と3をどうにか一緒に動かそうとばかり考えてました。
引っ張る側:レイヤー3のMC(flash 5だとボタンにしかon(press)が書けないのでボタンうめこみ)
_x を取得して、引っ張られる側:レイヤー1のMC._x に代入。
できちゃうとなんちゅうことないですけど、うれしい。。。
ありがとうございました。いらないでしょうけど、感謝の投げチッスを送ります。

>>443
いえいえ、答えようとしてくださったの感謝です。
私も質問する直前にマスクが使えるかな→違うか。。。という過程を経ました。

447Now_loading...774KB:05/03/17 19:04:54 ID:O6FSgSkA
curveToについてですが、
通常、アンカーポイントと始点の座標を入れますよね。
このアンカーポイントを前後2つ打つ事は出来ないのでしょうか?
片側だけでは綺麗な弧にならず困ってます。
448Now_loading...774KB:05/03/17 19:16:13 ID:q4zz33r3
moveTo で移動した所か、lineTo , curveTo で書き終わった点が始点ですね。
449Now_loading...774KB:05/03/17 22:44:48 ID:9RRFoRAj
>>447
つまりそれは2次ベジェというやつだと思うのですが
curveToでは1次ベジェしか対応していないので
Flashで普段使われるような2次ベジェは使えません。
ただ、1次ベジェを上手く使えば擬似的に2次ベジェっぽくはできますけどね。


(oがカーブのポイントで、xが始点と終点)
   o  x  o
x          x

こういう感じに、2つの1次ベジェが繋がるように配置するんです。
お互いの繋がる点と、カーブのハンドルの位置が直線に並ぶ時に、
綺麗に繋がります。
450315:05/03/18 00:35:05 ID:UnMcX02N
すみません、少しお聞きしたいのですが
リンケージを使って複製したMCに対して当たり判定をつけたいと思っています。
環境はFlash5です。

attachMovieでMCをいくつか作り画面上に配置し
プレイヤーが操作するキャラが、配置されたMCにあたったとき
障害物として認識して通れなくする処理をしたいのですが
このときのhitTestのターゲット指定をどのようにかけばよいのか分からず、こちらに書き込みさせて頂きました

障害物のMCを[WALL]+1〜10ぐらい、プレイヤーのMCを[mychara]としたとき
for(var i=0 ; i<100 ; i++){
  if( _root.mychara.hitTest( _root["WALL" + i ]) )
}

このように、For文で対象とする障害物のMCが何個あってもいいようにしているのですが
もう少し動作を軽くできればと思い、なんとかしようと試行錯誤しております
よろしければ何か助言を頂ければ幸いです
451Now_loading...774KB:05/03/18 02:03:44 ID:zh8cP4M1
>>450
WALLの方にhitTestのルーチンを記述する
452Now_loading...774KB:05/03/18 03:25:35 ID:6zR79KHC
同じくhitTestについての質問です。
ムービークリップ同士で境界ボックスではなくシェイプで衝突判定するにはどうしたらよいのでしょうか。

それと、ムービークリップに傾斜をつけるアクションの書き方ってあるのでしょうか。
垂直や水平にリフレクトさせたいんです。

どなたかご教授おねがいします。
453Now_loading...774KB:05/03/18 03:47:58 ID:HnwGx0q1
>>452
>ムービークリップ同士で境界ボックスではなくシェイプで衝突判定
無理

>ムービークリップに傾斜をつけるアクションの書き方ってあるのでしょうか。
2重か3重にネストしてやれば動かせないことも無かったはず。
ますは直角三角形を自由に動かす方法から考えて
それを2個組み合わせてやる感じで考えてみれ。
454452:05/03/18 04:28:24 ID:6zR79KHC
>>453
ありがとうございます。

そうなんですか・・・残念ながら断念しようと思います。

そのムービークリップというのは静止画ではなく、中にアニメーションがついているんですよ。
なので、できないということに。。。
455Now_loading...774KB:05/03/18 08:39:25 ID:zh8cP4M1
>>452
hitTestで自分のシェイプと任意のxy座標との当たり判定はできる。
任意のxy座標はどうするか考えればなんとなくできるかもね。
456Now_loading...774KB:05/03/18 10:24:27 ID:8e63cDuA
>>452

小さな■とか●とかを入れ子に敷き詰めるとかな・・・。お勧めできないが。

描画した図形ならば、方程式とhitTestさせるのはかなりイカス。
457452:05/03/18 14:30:18 ID:6zR79KHC
>>455
>>456
ムービークリップのひとつが水の波紋のように円がいくつか出てくるようなモーションでして
それひとつひとつの点を三角関数とか使って描画させて、全部に衝突判定させるには重過ぎますよね、きっと。
小さな四角や円を入れ子に敷き詰めるのはいいかもしれません。
試してみます。
458Now_loading...774KB:05/03/18 18:58:58 ID:DkXITI3/
>>449
なるほど、とても参考になりました。
有難うございます。
459Now_loading...774KB:05/03/18 22:39:49 ID:DkXITI3/
色々試行錯誤した結果出来ました。
その過程で気付いた事をいくつか。

   o  x  o
x          x

Fireworksのベジェでoの位置は始点から前後に直角に
半径x0.55程度の位置にポイントを打つ事で正円になっていたのですが、、
Flashの場合は始点から直角に半径x0.4で正円に近い弧になるようです。
(1次ベジェと2次ベジェのアンカーの仕様の違い?)

上記の事から、正円を描画するには45度ごとに半径x0.4の位置にアンカーを打つ事で
正円になりました。

>>449様、感謝致します。
460Now_loading...774KB:05/03/18 22:46:14 ID:8e63cDuA
>>459
Flashの円はイラレ、FW、FHなんかの基本ベジェと違って8点アンカーだよ。
クロスパスの概念が分かると、特化した部分と特色が分かると思う。

Flashで描画をやるならば交差パスを認識しておくとかなり有利。
使いこなせると滅茶苦茶良いよ。
461450:05/03/19 11:10:43 ID:agZlXFV4
451さんお返事ありがとうございました
対象を壁にすることも考えてみたのですが、キャラクターのほうも複数複製する場合は
やはりターゲットとなるMCのパスをFor文で回して処理をするのが一般的なのでしょうか

数十以上に複製したMC同士で衝突判定を行う時など、どのような処理を行なえばいいのか
ということについてここ数日悩んでおります
ある特定のMCではなく、何かと衝突した時処理をするということができればいいのですが・・。
462Now_loading...774KB:05/03/19 11:20:18 ID:JqKQj5JY
本体の hitTest じゃなくて、弾(?)とか壁(?)側に本体との hitTest させれば?
463Now_loading...774KB:05/03/19 11:50:45 ID:T0Njdlf7
>>461
ゲームとかのサンプル(当たり判定も)がある
ttp://hakuhin.hp.infoseek.co.jp/main/as.html
464Now_loading...774KB:05/03/19 11:52:06 ID:agZlXFV4
お返事ありがとうございますm(__)m
今作っているゲームは、自分の操作するキャラクターが1つではなく
キャラクターが複数に増えて、それぞれ独自に動くのです
そして、その複数いるキャラクターが動いているとき、複数ある壁に当たったということを認識させるには
どうすればいいのか、ということです
説明が分かりづらくて申し訳ありませんでした。
465Now_loading...774KB:05/03/19 12:01:27 ID:JqKQj5JY
総当りでもいいじゃん。最初はさ。

考え方さえ正しい方向ならば、問題無いよ。
総当りじゃウザいなーと考えてから一括処理、分岐処理を考えても遅くないかと。
466Now_loading...774KB:05/03/19 12:14:40 ID:agZlXFV4
465さんありがとうございます
そう言って頂けると安心します

enterFrameで行なう処理が増えてきてしまったので、
少しでもクライアントの負荷を軽減しようとやっきになりすぎていたようです
総当りでスクリプトを組んでいれば、いつかもっといいアイディアが閃くかもしれませんし
465さんの教えに従ってしばらくは自分にやれることを頑張ってみます

ありがとうございましたm(__m
467450:05/03/19 12:15:40 ID:agZlXFV4
463さんもサイトのご紹介ありがとうございましたm(__)m
468AQUA ◆U2AQUA/xP. :05/03/19 15:17:18 ID:5m7TvFzt
>>464
話からするとゲームですかな?
RPG系などであれば、横移動でマス目にそって動かしますよね?
なので
 ■
■オ■
 ■
オ…obj
■…当たり判定(hitTest
という様にすればいいのですが。
ちょっと分だけでは説明しにくいですな(汗
または配列で宣言しておく。
【この場合は、縦10マスのMAPの場合とする】
for(i=0; i<10; i++){
map[i]=new Array(map_txt[i]);
}
こんな感じですかね。
for文を使って高速に配列宣言をします。
map_txt[i]配列の中にはASで宣言した(もしくは外部ファイルから読み込ん)MAP定義テキストが代入されます。
例としては
map_txt="1,0,0,0,0,0,0,0,0,1"
の様な感じです。
で、キャラの座標を読み取り、次に動こうとする場所が禁止エリア(1)であれば
進ませない。
このスクリプトは配列宣言部分だけなので、このASをどう使うかは貴方にお任せします。
hitTestばかりで複数のobjの衝突判定をすると動作が重くなるので、
配列でMAP宣言するのが一番の方法かもしれませんね。(マス目移動であれば
360移動型RPGだとマス目での配列宣言は非常に困難になりますけど。
469AQUA ◆U2AQUA/xP. :05/03/19 15:22:23 ID:5m7TvFzt
sage忘れすいませんorz
誤:map_txt="1,0,0,0,0,0,0,0,0,1"
>正:map_txt[0]="1,1,1,1,1,1,1,1,1,1";
*補足…数字が全部1なのは配列map_txt[0]が壁の役割をするからです。
抜けられては困るので全部閉じてます。
誤:360移動型
>正:360度移動型
です。
470450:05/03/19 16:56:59 ID:agZlXFV4
おぉ、なるほど!
マップを定義するとかなり処理が減りますね
1マスの大きさ(縦×横)さえ決めれば、配列で禁止エリアを決められるということですね
壁が複製されたら壁MCのonClipEvent(load)内でその位置を禁止エリアに定義して、
壁が消える時に、禁止エリアを解除する。
キャラクターは複数存在する相手MCではなく、配列を見るだけで進めるかどうか判断できる。

どちらかというとC言語系な考え方なのでしょうか
言われてみれば、なるほど!と思うのですが今まで全く思いつきもしませんでした
早速スクリプトを書き直してみたいと思います
どのぐらい軽くなるか楽しみです
AQUAさん本当にありがとうございましたm(__)m
471AQUA ◆U2AQUA/xP. :05/03/19 18:31:14 ID:5m7TvFzt
>>450
それはよかったですw
この方法なら、配列内容を変えるだけで空想的な空間があやつれますね。
ドアとかも作れると思うので、頑張って下さい(笑
472Now_loading...774KB:05/03/20 05:26:39 ID:y8HYJESa
スレ違いかもしてませんが、独学でAS勉強した人って参考書何冊くらい持って
ますか?
473Now_loading...774KB:05/03/20 06:10:23 ID:mujZLKrI
>>472
一冊。
ほとんどネットで調べた。あと立ち読み。
474Now_loading...774KB:05/03/20 11:19:27 ID:gjDZu/0G
3冊かな
知れば知るほど欲しくなるね
oopの解説あたり持ってないと2004からは辛い
475Now_loading...774KB:05/03/20 11:39:44 ID:gWVCHDAi
ASnativeの対応一覧表とかって無いっすかね・・・。
476Now_loading...774KB:05/03/20 14:15:25 ID:Q93ckqDB
>>472
0冊
チュートリアルとヘルプとネット情報で
MXならなんとかなるが、回り道になるのでオススメできない
つーか回り道したorz
477Now_loading...774KB:05/03/20 18:52:37 ID:TYmKjLve
皆さんレスありがとうございます。ちなみにお勧めのAS専用本てなんですか?
MX2004使ってます。
478Now_loading...774KB:05/03/20 18:59:20 ID:QoF4RaRJ
>>477
Flashの本を買うことをお勧めしない
ネットで全部調べれる
479Now_loading...774KB:05/03/20 19:49:20 ID:gjDZu/0G
>>477
2004から始めたなら、取り敢えず基礎のアクションスクリプトバイブルあたりから
始めたらいいと思うけど、そうじゃないなら、Java関係のoopに関する解説書あたりと
照らし合わせながら勉強するといいと思う
ネットで載ってることもあるけど2004に関してはまだ日本語の解説サイトは少ないよ
480Now_loading...774KB:05/03/20 20:20:05 ID:7ql1mEf2
481Now_loading...774KB:05/03/21 01:41:55 ID:bid6zCfW
ASコピペ専門ユーザー故、コピペできる状態のAS希望。

1.aaa.swfにある5つのラジオボタンからprefs.txtに変数を送るAS
2.bbb.swfで変数を受け取って、その変数に応じてMCのフレームを指定するAS

具体的にはScreenTimeの設定画面で表示するフレームをラジオボタンで選択して、それがスクリーンセーバーのswfに反映されればOK。
変数の保存コマンドおよび読み込みコマンドは以下参照。
http://www.screentime.jp/contents/screentime_tips.html

環境はWinXP + FlashMX(Education Ver)

よろしくお願いしますm(_ _)m
482Now_loading...774KB:05/03/21 02:16:04 ID:CUG6snxB
>>481
丸投げ却下。ここは依頼スレじゃねぇ
該当するような依頼スレは漏れは知らん

ものすごい勢いで回答するなら、

出来ないし、やろうともしない、ならやめればいい

>ASコピペ専門ユーザー
そんなユーザーがどうなろうが知ったことではないから、
そっちの都合を書かれても知らん
と、予防線のテスト
483Now_loading...774KB:05/03/21 02:40:16 ID:bUgeFPJJ
>>481
trace("unko");
はいできたよー
484Now_loading...774KB:05/03/21 02:47:03 ID:8tfG5e9q
>>478 >>479
分かりましたー参考にします。
485Now_loading...774KB:2005/03/21(月) 12:20:25 ID:8DvEVF+D
お尋ねします、環境はFlash5です
オレンジ色の文字が書かれているMCをリンケージ指定で呼び出し画面に配置したところ
プレビューでは元のオレンジ色で、表示されるのに対して
IEで表示すると青い色で表示されてしまいます
原因が全くわからず、今まではこんなことがなかったので不思議に思っています

MCは以下のように呼び出しています。
attachMovie( "gameStartMessage", "gameStartMessage", 20002 );

gameStartMessageの中身は
GAMESTARTと書かれたオレンジ色の文字を拡大、縮小しているのみです。
486Now_loading...774KB:2005/03/21(月) 13:20:55 ID:HuKQu+AQ
外部JPGを読み込んで表示するギャラリーを作っています。
JPGが見つからなかったりサーバーダウンなどで読み込めなかったときのエラー判定はどうすればよいのでしょうか?

ちなみにMC.loadMovie("xx.jpg")でMCにロードし、その都度プリローダーを表示、
ロード完了したらプリローダーを消して次のフレームに移動、
という感じなのですが、画像が無い場合にずっとプリローダーが表示されたままで次に進めません。

getTimer()でロード時間を取得し、数秒経ってもMC.getBytesTotal()が0以下の場合に
エラーとみなして次の処理をするようにしてみたのですが、
やはり接続環境や混み具合で外部JPGへのアクセスに時間がかっているときでもときどきエラーが出てしまいます。

よいエラー判定がありましたらご教授くださいm(_ _)m

WinXP+SP1、Actionscript2.0です。
MX2004ですが、Loaderコンポーネントはサイズが大きいので通常のMCにロードしたいです。
487486:2005/03/21(月) 13:24:13 ID:HuKQu+AQ
あげてしまいましたm(_ _)m
488Now_loading...774KB:2005/03/21(月) 20:59:50 ID:SUjc+642
質問です。
FlashMX2004を使ってます。

01.swf を  01.html と 02.html に張ります。
他のページから
01.html へ飛んだときは 01.swfの「シーン1」を再生。
02.html へ飛んだときは 01.swfの「シーン2」を再生。

て出来ますでしょうか?
489Now_loading...774KB:2005/03/22(火) 00:11:56 ID:/uWVJEyw
01.swf?flag=xxxx で_rootに変数読み込んで分岐処理
490Now_loading...774KB:2005/03/22(火) 17:50:23 ID:8sPdhexV
FlashMXを使ってます。
FlashMXで記述したASの関数、或いはイベントなどをHTMLから呼び出すことは可能でしょうか。

HTMLのリンクがクリックされた時にFlash内の関数を呼び出すというのを実現したいのですが。。。

JavaScriptで出来るのかな?とおもって色々調べて見たのですがわかりませんでした。
Flash内のTEXTフィールドにおけるHTMLリンクの取り扱いとかは情報があったのですが、
HTMLの中にSWFファイルを埋め込んでいる状態でHTMLからFlashの関数を呼び出す、と
いうのはありませんでした。
491Now_loading...774KB:2005/03/22(火) 18:05:46 ID:QReC2sgu
>>486
コールバック
MovieClipLoader クラス

>>490
ttp://www.game3rd.com/flash/scripter/
492Now_loading...774KB:2005/03/22(火) 22:06:32 ID:XgJzyn8u
個人的には HTMLにJavaScript関数を書いて呼び出す方法を取ってるけど、
Flash内の関数をHTMLから呼び出す方法を取ってる人は結構いるの?
493Now_loading...774KB:2005/03/22(火) 22:16:49 ID:cAi9bDnT
>>492
漏れはなるべくFlash内で完結するようにしてるけど。
FlashはFlashであり、その制御を他所に任せるのは不安。
重要な機能がフラ外にあって、ブラウザが対応してなかったりすると後々面倒だし。

例えば、再生や停止、チャプター再生の機能が欲しいときは、
メニュー呼び出しボタンつけたり、右クリックを拡張しておく。
htmlでその説明だけ言及しておくことで逃げる。
494Now_loading...774KB:2005/03/22(火) 22:50:24 ID:XgJzyn8u
ああ・・・
>>490の言ってる関数ってのは、Flashのビルドイン関数とかイベントハンドラ周りの事なのか。
てっきりFlash内に書き込まれてるユーザー定義関数をHTMLから呼び出すのかと勘違いした。すまそ。
495Now_loading...774KB:2005/03/23(水) 11:58:40 ID:Je7zUfl8
ムービークリップの深度(重ね順)って制御できますか?
プロパティ_depthがあるはずと思ったんですが、ありませんでした。
496Now_loading...774KB:2005/03/23(水) 13:53:50 ID:3v95HJ4W
_root.aaaa.swapDepths(深度);
_root.bbbb.swapDepths(深度);

とかでおけでは?
497Now_loading...774KB:2005/03/23(水) 13:54:19 ID:7EDkqCVl
swapdepth
498496:2005/03/23(水) 13:57:12 ID:3v95HJ4W
確かミスって深度を重ねちゃうとMCが消えちゃうような気がしましたが。
499Now_loading...774KB:2005/03/23(水) 13:58:08 ID:Je7zUfl8
>>496-497
そんな命令があるとは!感謝です
500Now_loading...774KB:2005/03/23(水) 13:58:48 ID:Je7zUfl8
>>498
気をつけます
501Now_loading...774KB:2005/03/23(水) 15:49:40 ID:NiGXThUC
>>497って何?MX2004?
単に突っ込みいれたつもりが実は自分が間違ってただけのうっかりさん?
502Now_loading...774KB:2005/03/23(水) 15:54:57 ID:NiGXThUC
只の重複レス
しかし間違え易いといえば間違え易い
503Now_loading...774KB:2005/03/23(水) 15:58:01 ID:NiGXThUC
編集途中送信しちまった・・・

只の重複レスだったようでスマンかった
しかし間違え易いといえば間違え易いんだよなコレ

スレ汚しすいませぬ
504Now_loading...774KB:2005/03/23(水) 16:05:14 ID:7EDkqCVl
あぁ・・・ s が付くのか。 
勉強になりやす。
505Now_loading...774KB:2005/03/23(水) 16:11:50 ID:B2S6j+DX
俺よくそのsを忘れたりしたよ。
506Now_loading...774KB:2005/03/23(水) 17:03:48 ID:soRKwimi
スレ違いだったらスイマセン。
質問なんですが、エディターでASを書いて
FLASHに読み込むという方法は何がいいんでしょうか?
FLASHで動作を確認しながらの方が効率的だと思うんですが・・・
507Now_loading...774KB:2005/03/23(水) 17:05:26 ID:3YnS9O6o
>>506
普段使い慣れた好みのエディタを使える
読み込むファイルを変えるだけで部分的なロジックの入れ替えができる
508Now_loading...774KB:2005/03/23(水) 17:10:43 ID:B2S6j+DX
特に2004のアクションウインドウは、ASがある程度長くなってくると
動作が重くなってくるしね。
あと勝手に//のコメントが次の行に移動させられるとか不満が多い。
509Now_loading...774KB:2005/03/23(水) 17:39:17 ID:soRKwimi
>>507
>>508
なるほど。
ある程度慣れた人向けなんですね。
解答ありがとうございました
510Now_loading...774KB:2005/03/24(木) 07:49:42 ID:p/iS7rIq
>>500

ActionScript 誰かが物凄い勢いで解答するスレ 6
http://pc8.2ch.net/test/read.cgi/swf/1108207742/
511510:2005/03/24(木) 07:51:11 ID:p/iS7rIq
↑誤爆orz
512Now_loading...774KB:2005/03/24(木) 13:02:03 ID:H3/M1zLF
うんこってどんな味がするんディスカ?
513Now_loading...774KB:2005/03/24(木) 14:16:46 ID:sLeRoq4K
味覚は人によって差がある
だからおまいが食ってみて感じた味
514Now_loading...774KB:2005/03/24(木) 21:43:20 ID:AlfjZ2VZ
Flash MXを使っているのですが、

myColor=new Color(this);
とやっても、演算子 '=' は、オペランドの前に来る必要があります。
と表示されて、うまく動きません。どこを直したらいいのでしょうか?
515Now_loading...774KB:2005/03/24(木) 21:47:32 ID:uoSG9Qvx
>>514
ほんとにそのmyColor=new Color(this);の行で起こってるエラーなんですか?
私がそれを行ってもエラーは出力されません
516Now_loading...774KB:2005/03/24(木) 22:08:13 ID:AlfjZ2VZ
>>515
確かに、
on (release) {
myColor=new Color(this);
myColor.setRGB(0xFF9900);
}
このようなスクリプトを作って試してみたところ、
問題なく色が変わりました。
他の部分が間違っているのだと思います。
回答ありがとうございました。
517Now_loading...774KB:2005/03/25(金) 01:37:19 ID:QfazP3+e
winでMX2004proを使ってます。

まずparts1というmcを用意し、その中にsubparts1、subparts2というmcが入ってるとします。
で、たとえばそのparts1.subparts1やparts2.subparts1にaction()というメソッドを行うなら

function textScript(num) {
this["parts"+num].sumparts1.action();
}

として、
textScript(1);
とか
textScript(2);
とかやればいいですよね。

で、それと同様にparts1.subparts2やparts1.subparts2に行うなら

function textScript(num) {
parts1.this["sumparts"+num].action();
}

として、textScript(2);とかやればいいかなと思ったのですが、ダメでした・・・。
こういう場合はどう記述すればいいのですか?
518Now_loading...774KB:2005/03/25(金) 01:56:09 ID:QH3asFsq
>>517
function textScript(num) {
parts1["sumparts"+num].action();
}
519Now_loading...774KB:2005/03/25(金) 10:58:10 ID:jhSD6ISW
WinXP、Flash5です
一定の倍率で拡大していく正方形MC1、MC2を、
一定の大きさになったらattachMovieでMCを生成し、
深度が3の倍数毎にMC2を出すようにしています。

それでattachMovieした時にMC2を回転させると、
指定した角度によって生成される時の大きさがおかしくなります。

if(dt==3*dt){
dt++;
attachMovie("MC2","mc2"+dt,dt);
_root["mc2"+dt]._rotation = kakudo←ここの値を任意で変える
}

MCの方に、始めの大きさを15ぐらいで設定しているのに
kakudoを30〜150にしたら大きさが100ぐらいで出てきてしまいます
kakudoが0や10など水平に近ければ問題なく出てくるんですが…
どうしたら初期設定の大きさで生成されるようにすればいいんでしょうか
よろしくお願いします
520Now_loading...774KB:2005/03/25(金) 11:09:59 ID:24068xWD
常に実行されるif文かも。
521Now_loading...774KB:2005/03/26(土) 05:19:45 ID:JLwzz+x6
MX 2004で質問です。
「set_txt0」「set_txt1」「set_txt2」...と名前を付けたMCに
「0.swf」「1.swf」「2.swf」...という外部ファイルを読み込ませたいです。

for (swf_count=0; swf_count<50; swf_count++){
swf_file = new String();
swf_file = swf_count + ".swf";
swf_mc = "set_txt" + swf_count;
swf_mc.loadMovie(swf_file);
}

現在、上記のようなASを書いてswf_mcがうまく動きません。
swf_mcに「set_txt0」「set_txt1」といったインスタンス名を
反映させるにはどうすればいいのでしょうか?
522Now_loading...774KB:2005/03/26(土) 05:37:37 ID:1L1MJ8eI
>521
evalを調べるといいことあるかも。ないかも。
523521:2005/03/26(土) 05:41:17 ID:JLwzz+x6
>522
返信ありがとうございます。
自分で調べてたら解決しました。
最後の行を
_root[swf_mc].loadMovie(swf_file);
にしたらOKでした。
スレ汚しすみませんでした。
524Now_loading...774KB:2005/03/26(土) 06:44:16 ID:/ilcIIEY
>>489
01.swf?flag=xxx だと、キャッシュが別々にできちゃうから
flashVarsの方がよさげ。
http://www.macromedia.com/jp/support/flash/ts/documents/fl0284.html
525Now_loading...774KB:2005/03/26(土) 12:32:18 ID:gOMSFzlf
WinXP MXです。質問です。
メーラーを起動させたくて
ボタンシンボルにしたところに

on (release) {
getURL("mailto:[email protected]","_blank");
}

といれたら、メーラーは起動してくれたのですが
ページまで変わっちゃいました。
ページそのままでメーラーだけ起動させる方法を教えてください。
よろしくお願いします。
526Now_loading...774KB:2005/03/26(土) 12:39:44 ID:Xmyvnbxh
on (release) {
getURL("mailto:[email protected]");
}
527Now_loading...774KB:2005/03/26(土) 12:49:27 ID:gOMSFzlf
,"_blank"
これがいらないってことですね!?
ありがとうございます!試して見ます!
528実験くん:2005/03/26(土) 12:59:15 ID:8wegOPjn
MovieClipクラスを拡張してMoveクラスを外部ファイルとしてつくりました。
呼び出すたびにDの値が増え、
Dが5以上になったときに透明度を減らすMoveToメソッドをつくりたいんですが、
メソッドを何回呼び出してもDの値が増えません。
たぶん呼び出されたときに0に初期化されているのではないかと思うのですが、
何か良い方法はないでしょうか?
宣言の方法が間違っているような気がするのですが・・・。


class Move extends MovieClip{
var X:Number;
var Y:Number;
var D:Number;

//MoveToメソッド
function MoveTo(X,Y){
this._x+=X;
this._y+=Y;
D++;
if(D>=5){
this._alpha=20;
}
}
}
529実験くん:2005/03/26(土) 13:19:19 ID:8wegOPjn
Dの宣言を static var D:Number=0; にしたら出来ました〜〜。
ありがとうございました。
530Now_loading...774KB:2005/03/27(日) 06:57:28 ID:qPIgyJU4
ASには関数ポインタに相当する機能はあるのでしょうか?
531Now_loading...774KB:2005/03/27(日) 13:17:16 ID:+m5udg4Q
>>530
普通にできるよ。
function foo(str){trace(str);};
var bar = foo;
bar("hogehoge");
// this["bar"]("hogehoge");
532Now_loading...774KB:2005/03/27(日) 19:34:11 ID:bHJ4fbT8
flashの同時発音は8音ですが、FIFOなのでFILOなロジックを作ってみたのですがうまく作動しません。

var sound_array = new Array();
var sound_i = 0;
function fSoundControl(id){
var sound_name = "mySound"+sound_i++;
this[sound_name] = new Sound();
this[sound_name].attachSound(id);
sound_array.push(sound_name);
if(sound_array.length >7){
this[sound_array.shift()].stop();
}
this[sound_name].start();
}

上記のasだと和音にならず、単音で発音されてしまいました。

サウンドをFILOで発音させる方法はあるのでしょうか? どなたかご教授願います。
533Now_loading...774KB:2005/03/27(日) 20:34:30 ID:uUjRuzDM
var sound_name = "mySound"+sound_i++;
これじゃインクリされないだろ?される?
534Now_loading...774KB:2005/03/27(日) 21:17:03 ID:bHJ4fbT8
>>533
インクリはされます。
535Now_loading...774KB:2005/03/27(日) 23:28:12 ID:7jw2/kKI
100点以上だとAのムービーが流れて以下だとBが流れるようにしたいんですけど
どうしたらよいですか?
ムービークリップを設置しておくと両方とも表示されてるし
あとムービーがループしないようにするにはどうしたらよいですか?
536Now_loading...774KB:2005/03/27(日) 23:45:04 ID:etCI1wu7
>>535
サウンドオブジェクトを使う
537Now_loading...774KB:2005/03/28(月) 04:06:46 ID:k32oTawx
>>536
おまい頭いいな
538Now_loading...774KB:2005/03/28(月) 15:05:42 ID:vFZnYEZE
>>535
むしろ、シェイプトゥイーンだ
539Now_loading...774KB:2005/03/28(月) 15:54:20 ID:H115svWD
Flash MX2004で初歩的な質問です。
デジタル時計を製作しているのですが、
月を英語で表示するにはどうすればよいのでしょうか?

this.stop();
this.onEnterFrame=function(){
theTime=new Date();
theFullYear=theTime.getFullYear();
if (theFullYear<10){
theFullYear="0"+theFullYear;
}
theMonth=theTime.getMonth()+1;
if(theMonth<10){
theMonth="0"+theMonth;
}
theDate=theTime.getDate();
if(theDate<10){
theDate="0"+theDate;
}
display=theFullYear+"."+theMonth+"."+theDate+".";
};

↑現在の状況です。
540Now_loading...774KB:2005/03/28(月) 16:06:49 ID:Z2f+LZle
すみません、

getURL("javascript:MediaPlayer1.controls.pause();");

を始め、MediaPlayerを操作する際に、ことごとくstopしてしまいます。
止めずに早送りしたり、一時停止したりは出来ないんでしょうか?
541Now_loading...774KB:2005/03/28(月) 16:18:47 ID:JEBioFIf
>>532

ActionScriptリファレンスガイド(MX2004のPDFマニュアル)
P702に書いてある。
-------------------------------------
Sound クラスのコンストラクタ
Player
Flash Player 5
シンタックス
new Sound([target])
パラメータ
target Sound オブジェクトを適用するムービークリップインスタンス。このパラメータはオプション
です。
戻り値
なし。
説明
コンストラクタ; 指定されたムービークリップの新しい Sound オブジェクトを作成します。ターゲット
インスタンスを指定しないと、Sound オブジェクトはムービー内のすべてのサウンドを制御します。
-------------------------------------
542541:2005/03/28(月) 16:19:30 ID:JEBioFIf
>>532 (続き)

つまり new Sound() する時に、それぞれ別のMCを、[target]として割り当ててあげれば
それぞれコントロールが出来るようになります。
動作確認してないけど、こんな感じかな?
-------------------------------------
var sound_array = new Array();
var sound_i = 0;
function fSoundControl(id) {
    var sound_name = "mySound"+sound_i++;
    createEmptyMovieClip(sound_name + "mc", sound_i);
    this[sound_name] = new Sound(sound_name+"mc");
    this[sound_name].attachSound(id);
    sound_array.push(sound_name);
    if (sound_array.length>7) {
        this[sound_array.shift()].stop();
    }
    this[sound_name].start();
}
-------------------------------------

ところで、FILOってナンデスカ・・・?
543Now_loading...774KB:2005/03/28(月) 16:29:23 ID:JEBioFIf
>>539
Date.getMonth() で帰ってくるのは、0〜11の値だから
英語の名前の配列を用意しておけばいいんじゃないでしょうか。
monthStr = ["JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER"];

theMonth=monthStr[theTime.getMonth()];

こんな感じかな・・・。
544Now_loading...774KB:2005/03/28(月) 16:42:47 ID:H115svWD
>>543
ありがとうございます。
さっそくやってみます!
545Now_loading...774KB:2005/03/28(月) 19:45:50 ID:ZZonwUJA
>>542
>>522じゃないが、
First In First Out
と、
First In Last Out
だったか

FIFOが先入れ先出し、
FILOが先入れ後出し、位のアレ

なんか久しぶりに見たな、この単語
546Now_loading...774KB:2005/03/28(月) 22:18:54 ID:ZgJvV/YW
サウンド再生完了したら関数呼び出すやつ使うと
居場所(thisがどこをさすのか)がわからないんすけど・・・。
フレームに↓

this.LoadSound.onSoundComplete = function() {
this.flag = 0;
this.pt.text = "00:00"; //表示を初期化
this.seekbar._visible = false; //シークバーみえなく
}

thisがサウンドオブジェクトを指すのかと思いthis._parentとかにしてもだめでした。
_root使うのならもちろん大丈夫でした。
教えてくださいませ。
547Now_loading...774KB:2005/03/28(月) 22:21:43 ID:E7rEfG0V
trace(this)汁
548Now_loading...774KB:2005/03/28(月) 22:23:31 ID:ZgJvV/YW
Object
549Now_loading...774KB:2005/03/28(月) 22:24:48 ID:ZgJvV/YW
あ、ちがった
[object Object]って出ますた。
550Now_loading...774KB:2005/03/28(月) 23:32:07 ID:YfsPtTUg
素朴な疑問なんですが。
たとえばtest1、test2、・・・というのの数字の部分を変数にして

eval("test"+hensu).testFunction();

とかってよくやりますが、これと

this["test"+hensu].testFunction();

ってやるのとでは実質的に違うんですか?
あるいはどっちが正しいんですかね。
551Now_loading...774KB:2005/03/28(月) 23:39:26 ID:JEBioFIf
>>546
thisが付いていると、Object内を見にいくようになります。
(LoadSoundオブジェクトになるのかな?)
で、Object型(サウンドオブジェクト)には_parentが無いから、
this._parentだと何処にもいけない感じになる。

ちなみに、thisを外すとタイムラインを見に行くようになります。
デフォルト参照と、this参照が違うというやつです。
(下記URLはボタンについてだけど、内容的には近いと思う)
http://www.fumiononaka.com/TechNotes/Flash/FN0303004.html

デフォルト参照はvalueOf()なんで、
valueOf().seekbar._visible = false とかになるのかな。

うまく説明できてないな、、、 申し訳ない。
552546:2005/03/28(月) 23:55:28 ID:ZgJvV/YW
ありがとうございます。解決しました。
Object型に_parentが無い なんかは初めて知ってためになりました。
もっと勉強して教える側になりたいものです。では。
553551:2005/03/28(月) 23:59:51 ID:JEBioFIf
>>551
自己レス。こんなイメージ。
http://sakots.pekori.jp/cgi/sn/src/up15542.gif
554& ◆3F/lUdNiiU :2005/03/29(火) 00:12:46 ID:g0TxlkzG
手作り!?わかりやすいんで、保存しときます。
アクションスクリプトって意外に難しいですね。
(では。とか言っておいてまだ居る罠
555546:2005/03/29(火) 00:14:09 ID:g0TxlkzG
↑554は私です。なぜか名前が化けました。しかも#が入ってたし・・・。
556Now_loading...774KB:2005/03/29(火) 06:54:59 ID:pyDVQ+St
先入れ中だし
557Now_loading...774KB:2005/03/29(火) 09:27:00 ID:SH9nV8Hi
>>542
ありがとうございます!
早速試してみます。
558Now_loading...774KB:2005/03/29(火) 12:37:22 ID:xwzQiIQW
初歩的な質問で申し訳ないのですが

getURLでアンカーポイントへのリンクを試してみたのですが
getURL("index.htm#1"); ←このように記述すると
アンカーポイントがあるページを再読込して
アンカーにジャンプしてしまいます
ターゲットを _self とかにもしてみたのですが、症状はかわりません
常にページを再読込させずにアンカーにジャンプする方法とかありましたら
教えて下さい

制作環境は Mac:OSX(パンサー)でFlash MXを使っています
確認はWinのIE6.0、MacのIE5.2、Safari1.2で動作確認しました
559Now_loading...774KB:2005/03/29(火) 13:56:30 ID:yIrq/5eW
"#1"
560Now_loading...774KB:2005/03/29(火) 19:14:36 ID:xwzQiIQW
>>559
それも試してみましたが、ページごと再読込してしまいましたorz
561Now_loading...774KB:2005/03/29(火) 19:54:42 ID:9hVM9nGi
flash geturl アンカー #で検索したらすぐ出てきたぞ
562Now_loading...774KB:2005/03/29(火) 20:49:57 ID:NfkbfNYd
>>681
ASのことならこっちに行って聞いた方がいいよ
http://pc8.2ch.net/test/read.cgi/swf/1108207742/
563Now_loading...774KB:2005/03/29(火) 20:50:28 ID:NfkbfNYd
すいません。
誤爆しました。
564Now_loading...774KB:2005/03/29(火) 22:53:12 ID:GrS0WyBM
質問です。flashMX

one.swf
AS
System.useCodepage="true";
loadVariablesNum("text.txt",0);

ダイナミックテキストを作成して変数 var1 に
text.txt のテキストを読みこませる

two.swf
AS
loadMovie("one.swf","target");

で、target に上の変数を読みこませたダイナミックテキストの
swf ファイルを読みこませたのですが、空白になってしまいます。

one.swf 単独で見るときにはちゃんと text.txt の文章を読んでくれるのですが
loadMovie で読みこませるとダメなようです。
text.txt の文章を読みこんだ one.swf を target に表示させる方法はないでしょうか。
565Now_loading...774KB:2005/03/30(水) 00:37:18 ID:cZTUVh3I
パスが違ってくる。loadVarsつかいな。
566Now_loading...774KB:2005/03/30(水) 20:42:17 ID:ATO5v39Q
トップにボタンを配置してそれに
スクリプト
on(press){
this._X=this._x+5;}

とするとなぜかボタンだけではなくボタンを含めたルートにおいてある
背景ごと移動してしまいます。
一体、なぜなのでしょうか?
567Now_loading...774KB:2005/03/30(水) 20:45:46 ID:z01Up5Kv
ボタンじゃなくてMCで
568Now_loading...774KB:2005/03/30(水) 20:52:36 ID:ATO5v39Q
MCだと、on(press){が使えないばかりか、ボタンを複数配置したときに
一斉に反応してしまうんです…
569Now_loading...774KB:2005/03/30(水) 21:34:30 ID:z01Up5Kv
何のこっちゃ。
とりあえずスレ違いぽいね。

ボタンの this と MCの this はレベルが違うとだけ言っておくか。
MCでも on(press) 使えるし、複数配置して一斉に反応ってのも訳わからぬ。
ASスレで聞くよりも初心者スレで聞いておくれ。
570Now_loading...774KB:2005/03/31(木) 13:11:02 ID:amFkbRkK
on(press)も使えました
ボタンイベントだと読んだので使えないとばかり思ってました。
助言どうもです
571Now_loading...774KB:2005/03/31(木) 14:09:57 ID:82U4ENdt
ちょっとしたゲームを作っているのですが、
円い物と円い物がぶつかって跳ね返る動きというのは
どのように記述すればできるのでしょうか?
円い物と平らな物の跳ね返りはできたのですが…( ´Д`)
どなたか助言宜しくお願いします
572Now_loading...774KB:2005/03/31(木) 14:27:16 ID:R2wCRTB9
物理1という教科書読むといいよ
573Now_loading...774KB:2005/03/31(木) 14:39:27 ID:0yT2AlD0
>571
ビリヤードの理屈について説明してあるページをぐぐって探す。
574Now_loading...774KB:FLASH暦09/04/01(金) 12:16:05 ID:eI03QN9/
ネイチャーアニメーション、桜の花びらがヒラヒラとランダムで舞い落ちるASを教えて下さい。
575Now_loading...774KB:FLASH暦09/04/01(金) 12:34:39 ID:1Fr3ffjq
ぐぐれ
576Now_loading...774KB:FLASH暦09/04/01(金) 22:54:07 ID:d7uU2VF4
MX2004pro FlashLite
特定のキーを押したらあるフレームに移動するという
アクションスクリプトはどう記述すればいいでしょうか?
参考にはなりませんがストップウォッチを製作中です
577Now_loading...774KB:FLASH暦09/04/01(金) 23:01:32 ID:w2izgcX0
if( Key.isDown( ) )
578エロエロ大王 ◆/ERoERooY6 :FLASH暦09/04/02(土) 00:56:00 ID:jOA68hK2
(=゚ω゚)ノぃょぅ
いつもこのスバラシイ良スレにお世話になってるエロエロ大王と言う者でつ!
スレ違いなのを承知でカキコさせてもらうっす

オレが活動しているクソスレでAS2メインでゲームを作ってるっす
んで AS2に興味あるヤツやこれから覚えたいヤツがいたら一緒にやらないかい?
内容はクラス使うほどのモノでもないが勉強のためにと無理やり使ってる

さっき ある程度出来たゲームをうpしたので興味あるヤツはよろシコな!
LZHにクラスファイルをフォルダにまとめておいたっす
http://pc8.2ch.net/test/read.cgi/swf/1092654718/l50
スレ汚し失礼!
579Now_loading...774KB:FLASH暦9年,2005/04/03(日) 00:28:36 ID:+HlSFK5I
ダイナミックテキストのマスクについて質問です
MXを使用していて スコア表示に マスクをしたテキストを
使いたいのですが普通にやっても出来ません
ぐぐって.setMaskを使えば出来ると書いてあったのですが
やってみても出来ませんでした
具体的にはどう使うんでしょう

テキストの入ったMC の名前 moji マスク用MC maskdesu
どういう レイヤー構成で どういうアクションにすればいいのか
教えていただきたいです
お願いします
580Now_loading...774KB:FLASH暦9年,2005/04/03(日) 00:39:08 ID:7LkKCa4K
>>579
フォントの埋め込み(英数)
581Now_loading...774KB:FLASH暦9年,2005/04/03(日) 00:45:21 ID:+HlSFK5I
>>580 

埋め込んでも駄目なんです^^;
582Now_loading...774KB:FLASH暦9年,2005/04/03(日) 04:54:49 ID:ILUDifU+
どうも。

質問なのですが、たまに見る下記のコードはどのような処理をしてるのでしょうか? 自分を addListener するメリットとかあれば教えてください。
Mouse.addListener(Mouse);

583Now_loading...774KB:FLASH暦9年,2005/04/03(日) 17:00:39 ID:uYIN+iz9
addListenerはフォーカスに関係なく動作する
584Now_loading...774KB:FLASH暦9年,2005/04/03(日) 19:12:17 ID:IzWjPYUv
585Now_loading...774KB:FLASH暦9年,2005/04/03(日) 19:16:57 ID:rPSSXCPV
objectの中に何のプロパティがあるか調べるにはどうしたらいいですか?
obj = {name:"papa",age:"50",hage:true....}
のようにプロパティが入っているとして、
そのプロパティ名を取得する事が出来ないかと思って色々やってます。
586Now_loading...774KB:FLASH暦9年,2005/04/03(日) 19:22:29 ID:IzWjPYUv
>>585
for (var name in obj) {
trace("myObject."+name+" = "+obj[name]);
}
587Now_loading...774KB:FLASH暦9年,2005/04/03(日) 22:24:53 ID:GWTVH/Cl
>>580

適当に答えるなよ、このシッタカ野郎!
588Now_loading...774KB:FLASH暦9年,2005/04/03(日) 23:58:53 ID:Rt9tbU2k
オレも埋めこみにしてないのが原因と思ったけど、違うの?
589Now_loading...774KB:FLASH暦9年,2005/04/04(月) 00:03:07 ID:vs1T0bEI
多分、マスクする前の時点で表示されていない気がする。
590Now_loading...774KB:FLASH暦9年,2005/04/04(月) 00:06:23 ID:C52/pP2P
>>584

ありがとうございます
新規でやったら出来ました

しかし 今作ってるものに組み込もうとすると
マスクが動作しません
何か条件があるのでしょうか??
591590:FLASH暦9年,2005/04/04(月) 00:10:37 ID:C52/pP2P
申し訳ないです
自己解決しました

今作ってるものだけ なぜかパブリッシュ設定が
flash5になっていました
すみません
592584:FLASH暦9年,2005/04/04(月) 00:20:45 ID:1fWX2+ZW
>>590
MovieClip.setMask()でやったの?
デバイスフォントを回転とか拡大・縮小させると表示させれなかった希ガス。
埋め込みでやったんなら回転、拡大・縮小もできたかも。
593584:FLASH暦9年,2005/04/04(月) 00:22:28 ID:1fWX2+ZW
一足遅かった。。。
逝ってきますorz
594Now_loading...774KB:FLASH暦9年,2005/04/04(月) 00:34:38 ID:GZnZ5iCA
>>587です

>>588

埋め込みじゃなくてもできます。

var textMc:MovieClip = (ダイナミックテキストを格納するMC)
var maskMc:MovieClip = (マスクとして適用させたいMC)
=> タイムライン上ではマスクじゃない。



textMc.setMask(maskMc)

すると別に埋め込まなくても、_sansとか_ゴシックとかでOK
595582:FLASH暦9年,2005/04/04(月) 03:23:15 ID:95WoqllQ
>>583
レスありがとうございます。
が、いまいち理解できていません。

例えば
Mouse.addListener(Mouse);
とした場合としなかった場合とでは具体的に何が違うのでしょうか?
596583:FLASH暦9年,2005/04/04(月) 10:32:39 ID:mWl80t+z
>>595
MCがボタンイベントも取れるようになったし、難しいことをやろうとしなければ
必要ないかもね。要するにマウスイベントを取れないオブジェクトに取れるように
させるためのもの。必要になったら思い出せば良いと思うよ。
597Now_loading...774KB:FLASH暦9年,2005/04/04(月) 16:45:53 ID:Ga/+g7rQ
flashMX04
今書籍を参考にフラッシュ掲示板作成中です。
cgiファイルの方でContent-type: text/plainで出力して
loadvarsオブジェクトで受け取ってそのまま適当な変数に出力したら
文字化け状態でした。(System.useCodepage = true;にしています。)
,区切りでログを保存しているんですが
,が%2cになってしまいます。
どうしたら文字化けを防げますでしょうか?
お願いします。

598Now_loading...774KB:FLASH暦9年,2005/04/04(月) 17:15:07 ID:JhIaJLjY
unescape()
599Now_loading...774KB:FLASH暦9年,2005/04/04(月) 17:22:52 ID:Ga/+g7rQ
>>598
うぉお出来た
こんなかんたんなことで出来るとは
ずっと悩んでたよ
何で俺の買った本にはこんなことすら書いてないんだ
とにかくものすごく助かりました。
ありがとうございました。
600Now_loading...774KB:FLASH暦9年,2005/04/04(月) 20:54:40 ID:QkUo3hCO
>>586
出来ました、ありがとうございます。
601Now_loading...774KB:FLASH暦9年,2005/04/05(火) 02:12:48 ID:2WkW1RAv
>>565
dクス。ようやくできた
602Now_loading...774KB:2005/04/05(火) 07:59:15 ID:yK65Ohyn
MacのIEとNNはSetVariable動かないんすか?
603Now_loading...774KB:2005/04/05(火) 08:25:35 ID:7MgSWCY7
動かなかったの?
604Now_loading...774KB:2005/04/05(火) 10:52:11 ID:OsvwizoI
loadVariablesを使って外部テキストに記述した日付と実際の日付により
動作を振り分けたいのですがどのように書いたらいいのでしょうか?
お願いします。
605sp:2005/04/05(火) 13:10:15 ID:QEau7IOS
日付の差とか計算するんでしょうか?
606Now_loading...774KB:2005/04/05(火) 14:23:19 ID:WI6437VV
getDate()

if(baka == aho) { }
607604:2005/04/05(火) 15:04:04 ID:OsvwizoI
hogeテキスト中身はMonthA=4&DayA=5
で・・・下記をやってみたのですが
onClipEvent(load){
newDay = new Date();
tuki = newDay.getMonth()+1;
hiniti = newDay.getDate();

this.loadVariables("hoge.txt");
atama = MonthA;
ketu = DayA;

if (tuki == 1 and hiniti == 1) {
gotoAndStop(2);
} else if (tuki == 12 and hiniti == 24) {
gotoAndStop(3);
} else if (tuki == atama and hiniti == ketu) {
gotoAndStop(3);
}else {stop;
}
}
上手くいないんですよ・・・orz
608Now_loading...774KB:2005/04/05(火) 15:42:52 ID:QODVQ1Zl
dtObj.getTime()<Date.UTC(2005,04,05,0,0,0,0)
609604:2005/04/05(火) 16:54:49 ID:OsvwizoI
追記
xp Mxです。
テキスト中身は後で自由に書き換えて使用したいのです。
610Now_loading...774KB:2005/04/05(火) 17:06:21 ID:1mg5ytzU
WINXP FlashMX2004Pro

a.textに「あいう\uide4\7\24\87◇◇,えおかきく\34Th\3\26\7◇◇」
とある場合、「あいう,えおかきく」だけを配列としてb.textに表示
させる事って可能でしょうか?解釈としては、「1つ目の\以前の文字列
(英数字含む・文字数は決まっていない)のみ抽出したい」です。ご教示
よろしくお願い致します。
611sp:2005/04/05(火) 17:54:53 ID:QEau7IOS
split関数で , \ の順に切って配列に入れてみるとか。
612Now_loading...774KB:2005/04/05(火) 17:59:48 ID:WDoGdMuA
>>611
ありがとうございます。しかし、一つ目の\以前の文字列を抜く為にIndexOf
を使って「\」を検索すると、「\」がコード?として認識されてしまって
うまく抜く事ができません。何か良い方法がないでしょうかm(_ _)m
613Now_loading...774KB:2005/04/05(火) 18:31:17 ID:KJZtAQk8
>>612
エスケープシーケンスと解釈されてるとか?
\は区切りに使わない方がいいかも
614Now_loading...774KB:2005/04/05(火) 18:46:43 ID:PXtkY7IL
"\\"にするとちゃんとした\記号が出せる
615Now_loading...774KB:2005/04/05(火) 19:47:50 ID:P4rbElqJ
>>614
盲点でした。\\で解決しましたです。ありがとうございました。
616Now_loading...774KB:2005/04/05(火) 19:54:46 ID:7MgSWCY7
盲点っていうかヘルプにのっとるよ。
617Now_loading...774KB:2005/04/05(火) 20:37:25 ID:tz0ZFp6a
MX2004です。
ムービー右クリックで表示されるメニューを編集する際に、、
デフォルト項目の、「プリント」と「デバッガ」の間にあるような「線」を
引くにはどうすればいいのでしょうか?
618Now_loading...774KB:2005/04/05(火) 23:10:01 ID:4zCmvz6i
>>617
ContextMenuItem.separatorBefore
ヘルプ参照。
619617:2005/04/05(火) 23:24:28 ID:CAlqcafQ
>>618
ありがとうございました。
620Now_loading...774KB:2005/04/05(火) 23:35:51 ID:e/mBDqZn
外部ホストの画像を読み込むにはどうすればよいですか?
621Now_loading...774KB:2005/04/06(水) 00:52:33 ID:aMYGgo3G
鯖サイドでプロクシっぽいことやれば出来る。
言語は好きなの使え。
1. 外部ホストの画像を自分とこにコピる
2.コピッたら、MovieClip.loadMovie()とかでムービー内に読み込む
3.(゚Д゚)ウマー

コピる時にjpeg変換とかすれば、gifでもpngでもプログレッシブjpegでもよめるようになってもっと(゚Д゚)ウマー
622Now_loading...774KB:2005/04/06(水) 18:39:07 ID:JTPwiIFh
>>621
やっぱりそれしか方法ないのか。
マクロメディアも余計な機能付けてくれる
623Now_loading...774KB:2005/04/07(木) 10:26:50 ID:X8/rq47J
すいません。フラッシュMX2004で質問です。
ムヴィークリップが現在play中かstop中か調べる方法ってありますか?
ムービーが止まるタイミングで他の関数を動作させたいんですが。
oldFrame = MC._currentframe;
if(oldFrame == MC._currentFrame){
trace("stop中");
}

上記のような方法で同じフレームが続いたらムービー停止中と判断するような
スクリプトやってみたら、oldFrame取得とif文の間に
何か他の処理を入れるとうまく行くのですが、
入れないとムービー再生中でも同じフレームが二度続いたと判定されてしまい
うまく行きません。
お願いします。
624Now_loading...774KB:2005/04/07(木) 10:43:28 ID:8B+vA5XE
>>623
どういう処理に入れているのかわからないけど、
普通はこういう順番に実行するんじゃないかな?

if(oldFrame == MC._currentFrame){
trace("stop中");
}
oldFrame = MC._currentframe;
625Now_loading...774KB:2005/04/07(木) 11:04:43 ID:4kygJElE
止まる処理側に書けばいいじゃん。自然に止まるMCなんて無いんだしさ。
626Now_loading...774KB:2005/04/07(木) 11:53:33 ID:cW2fI4Ym
>>625
でもMCのタイムラインにstop();って書いてたら別ですよね
627Now_loading...774KB:2005/04/07(木) 11:58:34 ID:BUYuVwdv
だからそのstop()ってとこに一緒に処理をって意味だろ。
不特定のswfを読み込む仕組みなら別だけど?
628623:2005/04/07(木) 16:46:31 ID:X8/rq47J
レスどうも
>>624
それだと都合の悪いことがあってそれはむりでした。
>>625
MCにstop()は書くんだけど、
どうにかしてそれ以外のスクリプトを全部一箇所に
まとめようとしてたんだけど
もう諦めてMCに書くことにします。

629Now_loading...774KB:2005/04/07(木) 20:24:55 ID:ptTbnXa4
>>628
都合の悪いってのは1つの変数をいろんなことに使いまわしてるんじゃないか?
そういう分離性の悪いスクリプトはそもそも良くないぜ。
630Now_loading...774KB:2005/04/07(木) 21:21:46 ID:qOHp78IV
タイムラインでstopさせたフレーム1〜4にいくんですけど、
変数countを使って
if(count<30){
gotoAndStop(1);
}else if(count<60){
gotoAndStop(2);
}else if(count<90){
gotoAndStop(3);
}else if(count<120){
gotoAndStop(4);
}
みたいな感じで、countが150以下ならまたフレーム1、180以下なら2…という
ふうに30区切りでgotoさせたいんですが、どう書けばいいでしょうか??
if-elseばかりやってると切りがないので計算させればいいと思いますが
うまいのが思いつきません。
すみません、アドバイスください。
631Now_loading...774KB:2005/04/07(木) 21:33:54 ID:ptTbnXa4
一定区間で区切るのはMath.floorと割り算。
処理が繰り返されるのは%を使うと上手く行く。
632Now_loading...774KB:2005/04/07(木) 21:34:06 ID:JRgKsptC
そのASだとPCが迷いそうな悪寒
633Now_loading...774KB:2005/04/08(金) 00:13:45 ID:JaStEZjw
質問はageでよろしいのでしょうか?
シーン1直下に配置されているボタンをリリースしたら
シーン2のフレームラベルAの上にある50というMCの中のxというフレームラベルを
指定するにはどのような表記をすればいいのでしょうか?
シーン1直下に配置されているボタンはいまのところこんな感じです…
on (release) {
gotoAndPlay("シーン2","A");
}
ここまでしかたどり着けませんでしたorz
634Now_loading...774KB:2005/04/08(金) 07:39:27 ID:d0OlG2ma
とりあえず、今後のためにもシーンを分けずに作り直そう。
635Now_loading...774KB:2005/04/08(金) 08:06:07 ID:rbyA9fCo
>>623
うまく行くわけが無い。

oldFrame = MC._currentframe;
この時点でoldFrameにはMC._currentFrameを入れてるのに、
その直後でoldFrameとMC._currentFrameを判定したらそりゃtrueだろうが。
都合が悪い理由も良く判らんが、下のようにすりゃいけるだろ。

oldFrame = nowFrame
nowFrame = MC._currentframe;
if(oldFrame == nowFrame){
trace("stop中");
}
636Now_loading...774KB:2005/04/08(金) 08:20:10 ID:rbyA9fCo
>>630
var kugiri = 30
if((count%kugiri+1) == kugiri){
gotoAndStop((count+1)/kugiri)
}
637Now_loading...774KB:2005/04/08(金) 10:29:28 ID:KeqMUe6p
>>636
それ違わなくね?
638Now_loading...774KB:2005/04/08(金) 10:47:25 ID:0nFJqq0A
フラッシュMX使っています。
シューテイングゲームなど、得点を競うようなゲームの場合に、
ゲーム終了時にスコアを表示し、スコアが基準を満たしている場合
(例えば5位のスコアよりも上回っていた場合など)
スコアボードにリアルタイムで載せるにはどうしたらいいでしょうか?
暫く悩んでいたのですが、AS色々かいて試しているうちに
だんだん混乱してきて頭マッシロになりました><
(試しに書いたASもマッシロになってしまったくらい混乱してますorz)
そのせいで試したソースを貼れないので、質問するのも気が引けたのですが、
どうにもこうにも混乱から立ち直れませんorzz
ヒントだけでもすごく助かるので、どなたかアドバイスお願いします。
639Now_loading...774KB:2005/04/08(金) 10:53:03 ID:d0OlG2ma
>>630
gotoAndStop(Math.floor((count%120)/30)+1);

単純にこんなんで良くなくなくない?
640Now_loading...774KB:2005/04/08(金) 11:31:55 ID:HPBFfh3N
mx04です。
セレクトボタンを作っています。
ボタンを押すとメニューがポップアップして
そこにムービークリップを10個作って、
インスタンス名.onPress = function()で
ボタンのようにしたのですが
onPressがぜんぜん反応してくれません。
いろいろ試してみたのですがなぜだかまったくわかりません
お願いします。
641640:2005/04/08(金) 11:33:36 ID:HPBFfh3N
追記
ムービークリップのonPressでボタンにしたのは
ムービークリップのフレーム移動で10種類のボタンを作りたかったからです。
お願いします。
642Now_loading...774KB:2005/04/08(金) 12:14:55 ID:Z2YrJ8qr
>>638
ランキング用の配列を用意。
上から順に現在のスコアと評価。
上回っていたら、そこに押し込む。

>>640
10個作るMCでtrace(this)、trace(this._name)してパスと名前を確認しれ

あるいは、ボタンになるMCの中にボタンの機能を置いておくとか。
押されたら、自身のインスタンス名を送るようにする。
this.onPress=function(){
_root.hoge(this._name);
}
643Now_loading...774KB:2005/04/08(金) 12:18:02 ID:meSwZmt6
線がツーっと動いていって構成される絵のアウトラインを形成する(説明下手ですみません)。
という表現がわからなくて進みません。いろいろと。

どうやったらできるんすかまぢで・・・・
644Now_loading...774KB:2005/04/08(金) 12:25:27 ID:04amStI3
>>643
わからないんです><
645Now_loading...774KB:2005/04/08(金) 12:27:25 ID:NcxtjSc0
>>643
シェイプ?
646Now_loading...774KB:2005/04/08(金) 12:29:49 ID:meSwZmt6
>>645
名前さえも知らないんで、正確にぐぐることもできず・・・ってな感じなんです。

647Now_loading...774KB:2005/04/08(金) 12:32:45 ID:NcxtjSc0
シェイプトゥイーン
648Now_loading...774KB:2005/04/08(金) 12:34:53 ID:meSwZmt6
>>647
ありがとうです。
わからなかったらまたきます。
649648:2005/04/08(金) 12:47:17 ID:meSwZmt6
やっぱりわからないです。
もしかしたら説明が悪かったかもしれません。

ttp://www.actionscript-toolbox.com/shapeDefinedMC.php

このサイトの一番上の、鳥の絵を描くような感じなんですけども、、、
シェイプでできますかね?
一応調べてみたのですが、ヘタれなだけに勉強の何処ろがわかりませんでした。

もう少し詳しく教えていただけたらと思います。
650Now_loading...774KB:2005/04/08(金) 12:51:55 ID:ESSNKil0
見てないけどたぶん描画メソッドじゃね?
651648:2005/04/08(金) 13:04:53 ID:meSwZmt6
>>650
描画メソッド・・・・

例えば
●←という図形があって、その図形のアウトライン部分を線が描画していって、
○←を描ける。

わかるかな(´・ω・`)

これってその描画メソッドというのでできます?
652Now_loading...774KB:2005/04/08(金) 13:08:36 ID:4nDXxfK7
これ単なるコマアニメじゃね?
653Now_loading...774KB:2005/04/08(金) 13:09:30 ID:4nDXxfK7
と思ったら違うっぽい。
あとageすまんかった。
654Now_loading...774KB:2005/04/08(金) 13:46:52 ID:ESSNKil0
>>651
こんな?

x = 200;y = 200;r = 100;k = 0;//座標とか
lineStyle(5, 0x000000, 100);//線種
//最初の位置
moveTo(200+Math.sin(k)*r,200+Math.cos(k)*r);
//とりあえずタイマー処理で円周上に点描いてく
setInterval(function(){lineTo(200+Math.sin(k)*r,200+Math.cos(k)*r);k+=0.1;},50);

複雑な絵を書きたい場合には移動先の座標を細かく管理すればできるんじゃない?
あとはしらねー。がんばって。
655648:2005/04/08(金) 13:57:15 ID:meSwZmt6
>>654
うわ。。。むずかしそ・・・・
とりあえずスクリプトから覚えろってことですね・・・つじつまがあった気がします。

ありがとうございました。
がんばります。
656Now_loading...774KB:2005/04/08(金) 14:21:10 ID:fS1vWtnq
>>648 がそんなに複雑な形状の物を作ろうとしているとは思えないのだが、
素直にマスクで表現できるのでは?
657638:2005/04/08(金) 16:55:23 ID:0nFJqq0A
>>642さん
ありがとうございます!
夜にでも、教えていただいたことやってみます。
ありがとうございました〜!
658630:2005/04/08(金) 20:22:06 ID:UqheJEJ8
636,639
ありがとうございました!
659Now_loading...774KB:2005/04/08(金) 21:37:01 ID:dHGF7dMn
>>648
絵を描いてから少しずつ削っていって、最後にフレーム反転。
660Now_loading...774KB:2005/04/08(金) 21:52:58 ID:Jhpo9p/R
Win2000SvrSP4 FlashMX2004Pro です。
Flash上でカメラに接続すると
「許可」「拒否」のボタンが出るのですが、
その時に拒否のボタンを押すと、カメラが取得されないまま処理が終わっちゃいますよね?
この後に再度カメラに接続しようとすると、接続できないまま処理が終わってしまうんですが
これを何とか再接続する様に出来ないのでしょうか?

それと、カメラ拒否した後のカメラの再取得時にカメラ拒否である事をActionScript上で認識出来ないでしょうか?
661Now_loading...774KB:2005/04/09(土) 04:13:49 ID:evOt1PRb
どうもこんばんわ。

仕事でこういう動きのmcを作らなければならなくなりました。
ttp://yugop.com/ver3/index.asp?id=17
はっきりいってどういう仕組みなのかわけわかりませんが、上司はこういうの普通にできるだろー的なテンションで言ってきます。
何かヒントでもあればどなたか教えていただけますでしょうか。もしくはどっかにclassが落ちてないでしょうか。
662Now_loading...774KB:2005/04/09(土) 04:26:30 ID:N39dctSS
>>660
loadMovieしなおすとか、JSでページそのものをリロードさせるとか。
一回拒否したら、もう使わないってことなんだから、それでしつこく聞くのは、
ページかえるたびにでる広告ウィンドウと一緒で非常にうざい気がする

>>661
こんばんわ
その上司に聞け。

適当な擬似でよければ、回転と、移動する方向、力、摩擦力だけで作れる。
真面目にやると、重心、モーメント、と正直めんどくさい。
663661:2005/04/09(土) 05:02:25 ID:evOt1PRb
>>662
どうも。

上司はなんも知らんです。アホ上司なんでflashなら簡単に作れると思ってるくさいです。
適当な擬似で全然おkです。
664Now_loading...774KB:2005/04/09(土) 05:55:14 ID:N39dctSS
>>663
まず、ドラッグできるようにする。
離されたときに、前のフレームとの位置の差をベクトルとする。

毎フレームごとに、0.98なりの値をベクトルにかけて摩擦としてスピードダウン
xyにそれぞれのベクトルを加算して移動。
値が0に近かったら0にして移動止める。


そこまで出来たら、
適当に重心とか決める。
移動ベクトルや位置から回転速度をでっち上げて、
毎フレーム加算で回転させる。
665Now_loading...774KB:2005/04/09(土) 10:28:05 ID:qTvb/+yJ
その程度なら物理のサイトを見ればなんとかなるぜ。
ポイントはその大きさの物体と見ずに
重心に重くて小さなボールがあるとしてやればいい。
ドラッグした点とから重心に紐が伸びてるイメージだ。
666Now_loading...774KB:2005/04/09(土) 10:37:42 ID:roO4C/50
>>663
文字を上下に飛ばしたら消えたぞ ウワーン

上下にもワープ判定付けろモルァ
667Now_loading...774KB:2005/04/09(土) 12:52:24 ID:li0y76DB
for(var name in object)
のようにmovieclipのプロパティ名を調べたいのですが、
this.createEmptyMovieClip("MC",0)
で生成し
for(var name in this.MC) trace(name)
for(var property in this.MC) trace(name)
等やってみたのですがダメでした。

プロパティを参照する場合、どうやって行えば宜しいのでしょうか?
※現状はプロパティ名を配列に入れて参照してますが、
 もっとシンプルにしたいのです。
668Now_loading...774KB:2005/04/09(土) 15:33:37 ID:qTvb/+yJ
MCのプロパティは変数に見えて実は変数じゃないから(なんか内部処理があるっぽい)
その方法で呼び出せないんだと思われ。
配列に入れてやるのが最もスマートじゃないかな

邪魔に感じるのならメソッドにして別に置いておくとか。
function traceProperty(mc){
// 処理
}
あとはMCのプロトタイプをいじくってそういう機能をつけるか。
669Now_loading...774KB:2005/04/09(土) 16:39:09 ID:Aue7uQHO
>>662
どうも。

結局はカメラ拒否の時にはポップアップで「プライバシー」の部分を自分で変えてくれ、という仕様でなんとかしました。
カメラ拒否を許可に変更するのは、当たり前ですがActionScript上じゃ無理っぽいですね
670Now_loading...774KB:2005/04/09(土) 22:11:00 ID:45DaxF+3
>>668
なるほど、そうだったんですか。
ありがとうございます。
671Now_loading...774KB:2005/04/10(日) 18:12:21 ID:tuuNh3Ms
先生、質問です。WinXP+MX2004Proです。

DataGridコンポーネント等で表示されるスクロールバーの
色を変更するには、どうsetStyle()で指定すればよいのでしょうか?

DataGridインスタンスに直接"scrollTrackColor"プロパティを
指定してもダメなので、例えばルートのタイムライン上で
_global.styles.UIScrollBar.setStyle("scrollTrackColor", "0x000000");
とやってもうまくいきません。どなたかご教授願います。
672Now_loading...774KB:2005/04/10(日) 20:21:16 ID:DTl/EEdn
ボタン"broadband"というのを押したら、broad.swfというのをロードし、ロード次第、再生するという処理はどうすればできるのでしょうか?

いま、ボタン"broadband"に以下のASを書いているんですが、うまいこといきません。

on(release){
 this.loadMovie(broadl.swf);
 onClipEvent (data) {
  if (this.getBytesTotal()>0 && this.getBytesLoaded()>=this.getBytesTotal()) {
 this.gotoAndPlay("start");
  }
  else {
 this.stop();
  }
 }
}
673Now_loading...774KB:2005/04/10(日) 20:31:28 ID:E2/9CtHv
そりゃろうだろう
674Now_loading...774KB:2005/04/10(日) 22:00:15 ID:aV8tjNwi
>>672
なんだよそれ。。。。
675Now_loading...774KB:2005/04/11(月) 01:01:05 ID:0Lg8/Dqt
MCイベントの入れ子ですか・・・。
676Now_loading...774KB:2005/04/11(月) 02:59:53 ID:XgpGVjZR
MCを1フレーム目に来たときX方向にいくらか動かし、
2フレーム目に来たときにMCの動きを止める。
また1フレーム目にもどってX方向にいくらか動かすような
Scriptってどのように書けばいいのでしょうか?
677Now_loading...774KB:2005/04/11(月) 09:30:19 ID:E1GJdvHC
onEnterFrame=function(){
if(unko_mc._currentframe==1){
unko_mc._x+=10;}
}

678Now_loading...774KB:2005/04/11(月) 09:43:59 ID:E1GJdvHC
ああ、ルートタイムラインが1フレーム目に来た時の話か。

ルートタイムラインの1フレ目に

unko_mc._x += 10 ;

とでも書いて、2フレ目には何も書かないで空フレームでも追加しておけば、
1→2→1・・・・
とループされて、1フレ目でだけ移動するかと。
もしそれで具合が良くないなら、なんで具合が悪いか書いた方が良いですよ。
679Now_loading...774KB:2005/04/11(月) 20:21:30 ID:JW+KZ2d2
unko_mcって、イタスギ。。。
680Now_loading...774KB:2005/04/11(月) 23:51:46 ID:0Lg8/Dqt
うんこしてきます。
681Now_loading...774KB:2005/04/12(火) 15:34:58 ID:T43xum7D
mx04、すいません。
flashBBS作ってるんですけど
下記のようにやってCGI呼ぶと
ダウンロード状態になるんですけど
どなたか教えてください。
sendVars = new LoadVars();
sendVars.data = data;
sendVars.send("cgifile","_self","POST");

http://www.kent-web.com/support/faq/faq1-2.html#7
↑のにあるように
print "HTTP/1.0 200 OK\n";
これ入れてます。
今のところ自サバでのテストです。
お願いします。
682681:2005/04/12(火) 16:44:01 ID:T43xum7D
上のスクリプトでちゃんとdatファイルに
データは書き込まれています。
loadの方はダウンロード状態にならないのですが
なぜかsendの場合だけなってしまいます。
引き続きお願いします。
683Now_loading...774KB:2005/04/12(火) 16:59:15 ID:YCDvWL9p
ちょい印刷についての質問です。

自分はMXを使っていて、書いたActionScriptの印刷で
コマンドや関数などは色を付けたいのですが、FLASH MXの
スクリプトエディタって、印刷機能付いていないですよね。

日本語に対応しているエディタでASの強調語句がカラー
印刷できる物で良いのありますか?
684Now_loading...774KB:2005/04/12(火) 17:00:54 ID:WXHgQ/8J
IEのコンテキストメニューを
flashで偽装したいのですが、可能でしょうか?
たとえば貼り付けとかコピーとか。
685Now_loading...774KB:2005/04/12(火) 17:13:31 ID:OLIQSAhB
686Now_loading...774KB:2005/04/12(火) 18:36:40 ID:LNx2+obU
>>684
可能
687Now_loading...774KB:2005/04/12(火) 21:41:46 ID:JSr0Rmp9
>>684
MX2004ならちょっと可能
>>686
Flashでクリップボードからの貼り付けって出来たっけ?
688Now_loading...774KB:2005/04/13(水) 05:22:47 ID:o/bbR1Yn
>>671
コンポーネントの見た目がドサッと入ったテーマっていうのが有るわけです。
そのテーマの中のMCが「オレがscrollTrackColorだから、setStyleで呼ばれたらオレの色変えてね」と宣言をしてる。
しかし、デフォで使用するテーマであるところのHaloテーマには「scrollTrackColor」っていう宣言がない。
「scrollTrackColorを変えるぜ!」って命令しても『そんなのないよ』と何も変わらない訳です。

Colin Moock knew the answer. Turns out, some styles simply won't work with the Halo theme.
http://www.person13.com/blog/archives/2004_02.html
(ページ下の方、Component Styles参照)

このページが言うには「HaloにはscrollTrackColorがないからSampleテーマを使用しなさい」って
ことらしいんだが、いざSampleテーマを使ってみるとダサくって見てられない。

そういう訳で解決策としては、HaloテーマからscrollBarを持ってきて、上書きしてあげればいいんです。
説明するのが面倒なんでFLAファイル下記にアップしました。
(ヘルプのドキュメントへのテーマの適用を見ると分かるんだけど、要はライブラリに持ってくれば
 対象のコンポーネントが上書きされるみたい)

./ja/Configuration/ComponentFLA/HaloTheme.fla から ScrollBar Assetsを持ってきて、
[ライブラリ] ScrollBar Assets/ States/ScrollTrackにスクリプト追加。
http://marmotfarm.com/cgi-bin/upload2/source/up63265.zip

でもグラデとかなくなっちゃうんで、ScrollTrackを直接編集した方がよさげ。
689Now_loading...774KB:2005/04/13(水) 14:20:46 ID:FCVRIm/U
FlashMX2004Pro WinXP

キーボードの「Enter(13)」を押すのと同じボタンをFlash内に
配置したいのですが、可能でしょうか?ご教示お願いいたします。
690けいた:2005/04/13(水) 18:20:51 ID:wOgU2AFW
今Listのチェンジイベントがうまくいかず困っています。
環境XP FLASH Pro2004

呼び出すファンクションにはListの現在の要素番号??
を与えたいと思っています。

ASファイルに↓の用に記述しているのですが。。。
よろしくお願いします。

for(var i = 0; i<Child_attri.length; i++){

ctr_name[i] = Child_attri[i].attributes["ctr_name"];

};

_root.ctr_List.setDataProvider(ctr_name);
_root.ctr_List.setChangeHandler("onChange");

function onChange() {
trace(ctr_List.getSelectedIndex());
};

分かる方がおりましたよろしくお願いします。
691Now_loading...774KB:2005/04/13(水) 18:44:08 ID:o/bbR1Yn
>>690
MX2004だと、コンポーネントに対してaddEventListener("eventType", Target)で、
「もしeventTypeが起きたら、Targetを呼んでね。正確にはTarget.eventType()」って登録します。

function change() {
    trace(ctr_List.getSelectedIndex());
}
ctr_List.addEventListener("change", this);
692Now_loading...774KB:2005/04/13(水) 19:17:23 ID:0OKywHdh
>>688
なるほど、標準のテーマでは無効だったのですね。
FLAファイルも参考になりました。ありがとうございます。
693けいた:2005/04/13(水) 19:44:40 ID:wOgU2AFW
>>691
すいませんやってみましたが動きませんでした。
694けいた:2005/04/14(木) 19:31:15 ID:+DuX7xyo
動きました。ありがとうございました。
695Now_loading...774KB:2005/04/15(金) 01:30:09 ID:Bm8Tn8Bc
>>694
コテハンにワロタw
696Now_loading...774KB:2005/04/15(金) 16:55:32 ID:N9XSiNSx
以下のようなスクリプトで絵かきFLASHを制作しています。
更に、直線ツールのような描画方法も追加したいと思っているのですが、
線をまっすぐに引くためのスクリプトが解りません。
教えていただけたらと思い書き込みさせていただきました。
どうぞよろしく御願いいたします。
XP FLASH MX2004

this.createEmptyMovieClip("view_mc",1);
view_mc.lineStyle(3,0x000000,100);
view_mc.drawFlag=false;
view_mc.onMouseDown=function(){
this.drawFlag=true;
this.moveTo(this._xmouse,this._ymouse);
};
view_mc.onMouseMove=function(){
if(this.drawFlag==true){
this.lineTo(this._xmouse,this._ymouse);
}
};
view_mc.onMouseUp=function(){
this.drawFlag=false;
};
697Now_loading...774KB:2005/04/15(金) 19:20:36 ID:U0HNe6c/
計算方法の単純化で質問です。
ある数よりオーバーしたら数値をカットする計算なのですが、
現状は以下のようになっています。
valmax = 10
val = Math.floor(Math.random()*80) - 40
if(val > valmax){
val = valmax
}else if(val < -valmax){
val = -valmax
}

これをもっと単純化する事って出来ますか?
+と-で2度もチェックせずにすませたいです。
698Now_loading...774KB:2005/04/15(金) 20:22:40 ID:rGPlogVL
valの値を -10 >= val <= 10 にしたいという事ですよね?

valmax = 10
val = Math.floor(Math.random()*80) - 40
if(val > valmax){
val = valmax
}else if(val < -valmax){
val = -valmax
}
だとvalの値が10又は、-10になる事が他の値になる事より多く発生しますがそれはいいのでしょうか。

val = Math.floor(Math.random()*20) - 10;
ですでに絞り込みができると思いますがそういう事ではなく?

699698:2005/04/15(金) 20:24:38 ID:rGPlogVL
valの値を -10 >= val <= 10 にしたいという事ですよね?
            ↓
valの値を -10 <= val <= 10 にしたいという事ですよね?

の間違い
700Now_loading...774KB:2005/04/15(金) 20:26:36 ID:SW5uEhov
>>697
あなたがどんなことをしたいのかよくわかりません

valmax = 10;
val = Math.floor(Math.random()*80)-40;
val = val>valmax ? valmax : (val<-valmax ? -valmax : val);

あなたのスクリプトと実行結果は同じはずです

-40〜39の乱数を発生し、
10より大きければvalに10を代入
そうでない場合は-10より小さければvalに-10を代入
そうでない場合はvalは-40〜39の乱数が入ります

これでよろしいでしょうか
701Now_loading...774KB:2005/04/15(金) 21:46:28 ID:7pBRguBI
>>700
>そうでない場合はvalは-40〜39の乱数が入ります
-10〜10の乱数になるのでは?
702Now_loading...774KB:2005/04/16(土) 13:51:00 ID:ZgdilyZk
Math.abs(val)で比較すりゃええべさ
703Now_loading...774KB:2005/04/16(土) 19:08:39 ID:zilvzBqZ
>>702
それじゃあ−か+かわからんよ。
704Now_loading...774KB:2005/04/16(土) 21:10:13 ID:ZgdilyZk
>703
>+と-で2度もチェックせずにすませたいです。
もし例外整数が出たのをすべて、+10にするなり-10にしてもいいなら
これで二重チェックする必要はなくなるわけだが
705Now_loading...774KB:2005/04/16(土) 23:45:51 ID:+XlsXjOO
>>703
>>700で解決じゃないの?
706700:2005/04/17(日) 00:10:32 ID:su+v6aXF
>>698のval = Math.floor(Math.random()*20) - 10;じゃあ満足ならないの?
707Now_loading...774KB:2005/04/17(日) 10:02:28 ID:w5eYVrSs
MX2004をXPで使用しています。

ASでMCの色を制御するにはどうすればいいのでしょうか?
お願いします。
708Now_loading...774KB:2005/04/17(日) 10:58:02 ID:ghaerhn9
colorクラスを使うのよさ
709707:2005/04/17(日) 11:55:22 ID:w5eYVrSs
そのcolorクラスはどうやってセットするのでしょうか?

this.color = ○○
710Now_loading...774KB:2005/04/17(日) 12:59:44 ID:zDVAouS2
mycolor = new colorでcolorオブジェクトの出来あがり
color,sound,xmlなどに関しては明示的にnewを使ってオブジェクトを作成しなければならない
711705:2005/04/17(日) 18:51:41 ID:NTv03omy
>>706
 >>697のやりたいことは「ある数よりオーバーしたら数値をカットする計算」だから>>700でイイかとおもた。

712Now_loading...774KB:2005/04/17(日) 19:00:50 ID:y0HHF/U+
フレームをランダムに移動したいのですが
gogo = Math.floor(Math.random()*3)+3;
gotoAndPlay(gogo);
だと3から5までのどれかに移動なのですが
3と5と8と9などばらばらのフレームにランダムに移動したい場合は
どのようにしたらいいのでしょうか?お願いします。
xp Mxです。
713Now_loading...774KB:2005/04/17(日) 19:03:06 ID:jlumRssq
if
使えばいいじゃん
714Now_loading...774KB:2005/04/17(日) 19:39:49 ID:AhIuUrES
>>712
gogo = new Array(3, 5, 8, 9);
gotoAndPlay(gogo[Math.floor(Math.random()*gogo.length)]);
715Now_loading...774KB:2005/04/17(日) 19:45:24 ID:Ae9DJUku
なんだ、また、大吉が出ないおみくじか
716Now_loading...774KB:2005/04/17(日) 20:27:54 ID:tfMdH8j3
|д゚)?
717697:2005/04/17(日) 21:23:39 ID:3lMQEo+r
中々時間が作れず返事が送れてしまいました。
申し訳ありません。

>>698
質問にした処理は、
乱数で発生させた移動地点に対する移動への
リミットを設ける為の処理だったので、
元の乱数でセーブとはちょっと違うんです。

>>700
詳細な説明つきでありがとうございます。
綺麗なコードですね…なるほどと思いました。

>>702
最初そのように考えて+-の処理が必要だと思い、思案していたのです。
例外整数に対してさらにチェックという手もありましたね。

みなさん、色々参考になりました。どうも有難うございます。
718Now_loading...774KB:2005/04/17(日) 22:49:05 ID:jgfJDopg
指定したディレクトリに、幾つファイルやフォルダがあるか
個数を、変数で取得することはFlashでは出来ないでしょうか?
719Now_loading...774KB:2005/04/17(日) 23:14:53 ID:K3Iz+YC/
うん。できないよ。でないとファイル構成抜き出すいたずらページできちゃうからね。フゥーハハー
720Now_loading...774KB:2005/04/18(月) 02:10:47 ID:8MykEYmg
>>714
助かりました
721Now_loading...774KB:2005/04/18(月) 17:55:30 ID:gDLr34lG
>>718
CGI使ったら?
722Now_loading...774KB:2005/04/18(月) 22:44:34 ID:87gupji/
亜ドベに買収されて・・・(ry
723718:2005/04/19(火) 00:37:47 ID:AkE3qnXE
>>719
>>718
レスどうもです。そうですか・・CGI勉強します。

FlashのloadMovie()で、外部ファイル(.swfや.txt)を読み込む時に、
「もし指定したファイルが無かった場合、特定の処理をする」ことは可能でしょうか?
普通なら何も起きないですが(出力ではloadMovieのパスのエラーが検出)、無いときは
指定したフレームに飛ぶ等。
やはりCGIでしょうか?
724718:2005/04/19(火) 00:39:07 ID:AkE3qnXE
>>719
>>721

失礼、アンカーミスです
725681:2005/04/19(火) 11:11:26 ID:Mh2ltKOu
var myCountVars = new LoadVars();
myCountVars.load(countCgi);
myCountVars.onLoad = function (){
System.useCodepage = true;
unescape(myCountVars);
var cnt = new Array();
cnt = myCountVars.split("\&");
_parent.count = cnt[0];
}
MX2004です。カウンターCGIを作って
_parent.countに読み込みたいのですが、上記のやり方だとなぜかundefinedになります。
試しに
_parent.count = myCountVars
とすると一応読み込めてはいるのですが
splitに問題があるのでしょうか?
お願いします。
726Now_loading...774KB:2005/04/19(火) 22:21:06 ID:nZnn0aIx
>>725
読み込まれているなら(゚з゚)イインデネーノ?
727Now_loading...774KB:2005/04/21(木) 00:05:58 ID:0k8igxi2
環境=FlashMX2004,Win98SE

以下は「あるインスタンスをマウスでドラッグして、そのときの
フレーム番号(変数:frame)を表示する。次に特定の領域(H1)
に入ったらドラッグを解除し、動かしたインスタンスをそこに置く。
同時にフレームを1個進めてフレーム番号を表示する」

というスクリプトです。インスタンスは動けて領域H1にも置け
るのですが、フレーム番号が表示出来ません。考えられる
原因何でしょうか?

on (press) {
this.startDrag();
frame=_currentframe;
}
on (release) {
if (this.hitTest(_root.H1)) {
this.stopDrag();
}
this.nextFrame();
frame=_currentframe;
}
728Now_loading...774KB:2005/04/21(木) 00:24:49 ID:/spxqOtg
>>727
_root._currentframeにしてみる
729727:2005/04/21(木) 00:46:06 ID:gq05mBqd
>>728
有難うございます。しかしながら、_root._currentframe では
表示できませんでした。試しに_parent._currentframe でもダメ
でした。

他の解決策はないでしょうか?
730Now_loading...774KB:2005/04/21(木) 01:30:47 ID:/spxqOtg
>>729
力不足でごめんなさい
traceしてみるとどうでます?
731727:2005/04/21(木) 01:58:52 ID:+xI42vAi
>>730
有難うございます。traceで確認できました。なお、this.nextFrame();
では次のフレームに行けず、_root.nextFrame(); ならOKでした。
732Now_loading...774KB:2005/04/21(木) 11:10:23 ID:wjj5bGom
if文の条件(OR型)での質問です

元は
if (A.hitTest(_root.H1)) {〜}
のように、インスタンスAが領域(H1)に重なった場合に〜としていた
if文で、これを発展させ、複数の領域(H1,H2,...,Hn)
のいづれかに重なった場合を条件式として入れるにはどうすれば
いいでしょうか?
733Now_loading...774KB:2005/04/21(木) 11:57:37 ID:oUY86BH6
orで繋げる。
if (A.hitTest(_root.H1) || A.hitTest(_root.H2) ...) {〜}
734Now_loading...774KB:2005/04/21(木) 12:24:13 ID:t2SzFaOK
H1側に処理を記述する。まあ、2,3個ならifでつなげてもいいけど。
735Now_loading...774KB:2005/04/21(木) 12:41:32 ID:GjuPXKKp
flag=false;
for(i=1;i<n+1;i++){
if (A.hitTest(eval("_root.H"+n))) {flag=true}
}
if(flag){

}
って感じかな。

STGみたいに、一つでも当たっていたらダメって場合は、
flag作らずに、玉当たっているよってやられに処理まわしちゃえばいいけど。
736Now_loading...774KB:2005/04/21(木) 12:42:11 ID:GjuPXKKp
間違い。
if (A.hitTest(eval("_root.H"+i))) {flag=true}
737Now_loading...774KB:2005/04/21(木) 16:41:50 ID:aDQeTsps
WINXP MX2004Pro
よろしくお願いします。

a.textに100と入力してボタンを押すと、

100×80%=80
80×80%=64
64×80%=51
51×80%=40



と、「元の数字(100)に80%を掛けて、出た答えに80%を掛けて」を
0になるまで繰り返し、0になるまで(小数点以下は切り捨て)計算した回数
を出したいのですが、どう組んだら良いか分かりません。「forを使って、、、」
程度しか分からないこのアホめに、どなたかご教示いただけないでしょうか。
よろしくお願いします。
738Now_loading...774KB:2005/04/21(木) 18:00:15 ID:wyjJNVlX
>>737
とりあえずこれをタイムラインに貼り付けてみれ
kaisuu = 1;
suuji = 100;
while (suuji>0) {
trace(kaisuu+"回目:"+suuji);
suuji = Math.floor(suuji*0.8);
kaisuu++;
}
739Now_loading...774KB:2005/04/21(木) 18:35:10 ID:t2SzFaOK
cnt1=0;
par=0.8;
base=100;

function r80kake(base,par) {
cnt1++;
var rtn=Math.floor(base*par);
trace(cnt1+":"+base+"*"+par+"="+rtn);
if(rtn>0)r80kake(rtn,par);
}

r80kake(base,par);

なんとなく書いてみた。自動的に解放してるんかな。
740Now_loading...774KB:2005/04/21(木) 19:14:16 ID:aH2gv0fj
>>738-739
素早いご教示大変ありがとうございます。助かりました。
741Now_loading...774KB:2005/04/21(木) 19:24:01 ID:vx6TwifD
ムービークリップの回転速度を上げるボタンを作ってるけど、
ボタンを押してもオブジェクトの角度が変わるだけで、回転しない・・・

_rotation以外にもメソッドを書き込まないとだめなんですかね。
742Now_loading...774KB:2005/04/21(木) 19:29:23 ID:wyjJNVlX
>>741
ヒント:this.onEnterFrame = function(){};
743Now_loading...774KB:2005/04/21(木) 19:40:18 ID:dq81diWn
自分が管理しているネットショップにflashでショッピングカートをつけたいのですが、
レンタルしているサーバーがCGI等に対応していないため、困っております。
で、質問ですが、「ボタンによって注文内容と個人情報(名前住所)をメールとして送信させる」ようなことを
actionscriptで実現することは可能でしょうか。
よろしくお願いいたします。
744Now_loading...774KB:2005/04/21(木) 19:47:02 ID:wyjJNVlX
>>743
不可能に近い
745Now_loading...774KB:2005/04/21(木) 19:59:30 ID:dq81diWn
>>744
ということは、物凄い勢いで頑張れば可能なわけですね。
ありがとうございました。
746Now_loading...774KB:2005/04/21(木) 20:08:50 ID:9GGrBlzO
どなたか教えてください。flash初心者です。
flash4.0、mac使用です。
エキスパートモードに切り替え可能なのでしょうか?
また可能ならどのように設定したらよいのでしょうか??
_rootなどの設定をしたいのですが全くわからなくて困っています。
747732:2005/04/21(木) 20:17:56 ID:vzHXPrDx
>>733, 734, 735, 736
ありがとうございます。735さんの方法でやってみます。
ところで、STGとは何の略でしょうか?
748Now_loading...774KB:2005/04/21(木) 20:33:56 ID:rf7Zg1a+
>>746
4はWINで使っていたがエキスパートモードとかそういうのは無い
もうわすれたぽ
749Now_loading...774KB:2005/04/21(木) 20:45:38 ID:tNao3EFY
>>746
初心者ならFlash4を使うのは止めよう。
携帯電話向けにしか利用価値がありません(これもすぐに変わると思う)
750Now_loading...774KB:2005/04/21(木) 20:52:25 ID:DjVOpXLB
>>748
>>749
返答ありがとうございます。
では、_rootなど設定したい場合は設定できる方法はないのでしょうか??
751Now_loading...774KB:2005/04/21(木) 21:09:49 ID:tNao3EFY
しかも、macか・・・
paraflaとか薦めようと思ったのに。
752Now_loading...774KB:2005/04/21(木) 21:29:22 ID:1wCl36gw
>>750
ルートは「/」だよ。数式エディタから直接入力できる。
マニュアルの184ページあたり読んでみて。
753Now_loading...774KB:2005/04/21(木) 21:35:48 ID:NUDVPdhR
MX2004プロ WINXP
時間の計算をしたいのですが、一歩も進まないまま行き詰まってしまいました。

hoge1=4月21日21:00(現在の時間を取得)
hoge2=24時間
hoge3=20分
hoge4=12分

この全部を足した時間 4月22日21:32 を出す計算の方法がわかりません。
どなたか教えて下さいませ。
754Now_loading...774KB:2005/04/21(木) 21:40:24 ID:vvaSxbtJ
HPを開くと音楽が流れて、停止ボタンを押すと止まるようなASってどうしたらいいですか〜?
755Now_loading...774KB:2005/04/21(木) 21:43:41 ID:wf8PDF+Q
商と余りで計算すれば?
756732&747:2005/04/21(木) 21:50:38 ID:WXjASEfC
735さんの方法
for(i=1;i<n+1;i++){
if (A.hitTest(eval("_root.H"+n))) {flag=true}
・・・
・・・
では出来なかったので、代わりにflagを使わず
while文でやっています。
757Now_loading...774KB:2005/04/21(木) 21:51:39 ID:/spxqOtg
>>753
@hoge1の21:00を00:00から経過した時間(秒)に変換 (*3600する)
Ahoge2,3,4も秒単位に変換

@+A が 24*3600より大きければ、日にちが一日増える

と言う方法しか思いつきません。
758Now_loading...774KB:2005/04/21(木) 23:15:53 ID:wf8PDF+Q
>>756
まぁ、シリアル値として全て秒に統一するのは決して悪い方法じゃないと思われるが。

Hours Minutes が別変数になってるのか、それとも規則が無いのか、それによっても煩雑さは変わるがなぁ。
基本的に、大量に処理するなら秒に変換がいいとおも。

newMinutes = (nowMinutes+hoge3+hoge4)%60
foo = Math.floor(nowMinutes+hoge3+hoge4)/60
newHours = (nowHours+foo)%24
bar = Math.floor(nowHours+foo)/24

は大量の処理を考えるなら、うーむ・・・って感じでスッキリしない。
759Now_loading...774KB:2005/04/21(木) 23:40:39 ID:t2SzFaOK
var f_date = new Date();
var r=f_date.getTime();
//差分をミリ秒にするdtxxxxを変える
var r2=(dthour*3600+dtmin*60+dtsec)*1000;
f_date.setTime(r+r2);
これでよいのでは?
760Now_loading...774KB:2005/04/22(金) 02:16:22 ID:Yb+1P3vF
ボタンBを押すとインスタンスAがフレームアクションで
点滅するASは
B.onRelease=function(){
A.onEnterFrame=function(){
A_visible = A!_visible;
}
}
で良いでしょうか?
761Now_loading...774KB:2005/04/22(金) 02:30:05 ID:rei6YQVn
A._visible = !A._visible;
762760:2005/04/22(金) 02:40:13 ID:Yb+1P3vF
>>761
ありがとうございます。
763Now_loading...774KB:2005/04/22(金) 07:45:08 ID:2tM6JiIy
760の延長です。環境=OS:Win98SE,ソフト:FLASHMX2004

フレームアクションで、iをカウントしながら(onReleaseは無しで)
インスタンス Ai=A1,A2,・・・,An を順次点滅させるため
  Ai.onEnterFrame = function(){
   Ai._visible=!Ai._visible;
  }

としたところ、奇数のiでは点滅しましたが、偶数のiでは
インスタンスそのものがステージから消えてしましました。
if文を用いて偶数のiでもAiが無理やり点滅するようコードを
書きましたがダメでした。

解決策がありましたら宜しくお願い致します。
764Now_loading...774KB:2005/04/22(金) 15:57:23 ID:7R9xoUDR
>>745
ちょっと笑った。そういう解釈になるんか。
SWFって、クライアントサイドのプログラムだから普通に無理です。

せいぜいgetURL("mailto:sage?subject=hoge1&body=hoge2")
で内容入りの新規メールが立ち上がるぐらいか。
765Now_loading...774KB:2005/04/22(金) 16:11:47 ID:7R9xoUDR
>>763
ステージにA1〜Anまでが置いてあるってことかな?
それで、それを順番に_visible=falseにしたい(_visible=falseになるMCは常に1つ)

// 最初にカウント用変数を定義
var count = 1;
var countMax = 30;
// 毎フレーム_visibleを変更していく
this.onEnterFrame = function() {
    // 現在のカウントのMCの_visibleをfalseに
    this["A"+count]._visible = false;
    // 面倒だからもし居たら〜で、前回のMCの_visible=true
    if (this["A"+(count-1)]) {
        this["A"+count]._visible = true;
    }
    // カウントアップして次のターゲットに・最後まで来てたら最初に
    count++;
    if (count == countMax) {
        count = 1;
    }
}

なんかきたねぇスクリプトだな・・・
外してたらスマンっす。
766Now_loading...774KB:2005/04/22(金) 16:17:59 ID:gyGL/Lyg
>>745
htmlを読み込んで
swfで解釈させれば商品の名前と画像出すくらいはできるが面倒。
cgiの仕様が微妙に変わったりしたら修正しなけりゃいけなくなるし。

メールを出す機能がswfではないので、
いったんどこかのCGI用意してデータ受け取って
そこからsendmailしなきゃならない。
cgiをそのまま使うつもりが、またcgiを用意しなきゃならなから本末転倒

ついでにswfで住所などのデータ送信するのは、結構危険。
767Now_loading...774KB:2005/04/22(金) 16:24:54 ID:7R9xoUDR
追記:
やりたいことが、なんか違う気がしてきた。

@ステージにA1〜Anが置いてある
AAnは1番目から順番(毎フレームごと)に、点滅を始める(そして点滅し続ける)

// 最初に数を定義
var count = 1;
var number = 20;  // Aの数
// thisは、Anが置いてある場所
this.onEnterFrame = function() {
    // AnのonEnterFrameで、自分の_visibleを変更する
    // このfunctionの中では、this = An になるので、注意
    //(thisは実行時に決定されるため)
    this["A"+count].onEnterFrame = function() {
        this._visible = !this._visible;
    }
    count++;
    //最後まできたら、削除
    if (count == number) {
        delete onEnterFrame;
    }
}
768Now_loading...774KB:2005/04/22(金) 18:13:32 ID:c609QNf2
WINXP MX2004Pro

タイピングゲームを作成し、それに時間を表示させる為に簡単なデジタル
時計をつけました。で、時間表示用のテキストボックスをムービークリップ
にし、↓ASをムービークリップの1フレーム目に書いて動作させてるのですが、、

t = new Date();
h = t.getHours();
m = t.getMinutes();
s = t.getSeconds();
Clock.text = String(h) + ':' + String(m) + ':' + String(s);

時間が経つにつれ、動作が重くなってるような気がします。メインタイムライン
のonEnerFlame内に書いてみたのですが、あまり変わってないような、、、
書く場所によって、動作が重くなったりするのでしょうか?
769Now_loading...774KB:2005/04/22(金) 18:16:01 ID:DmFKZzgc
タイピングゲームを作ろうとしていて、
タイプミスするとは何事だ! →○onEnterFrame
770Now_loading...774KB:2005/04/22(金) 18:17:10 ID:g+iJMdW+
varをつけれ
771763:2005/04/22(金) 18:21:54 ID:IS0zSrJa
>>765, 767
有難うございます。1番目の方(765)が目標に近いので
これでやってみます。
772Now_loading...774KB:2005/04/22(金) 18:26:42 ID:NKTlVDaJ
昨日flashのみでショッピングカートを作ることはできないかと質問した無知男です。
結局みなさんにレス頂いたように、flashだけでは無理なようですので、CGIを使うことにしました。

CGIを扱うのは初めてで、今日一日格闘したのですが、なかなか難しいです。
よろしければ、ショッピングカートを作るにあたって参考になる書籍を教えていただけませんでしょうか。

因みに今サイトはオールflashで構成されており、そこに組み込むような形にしたいと思っております。
よろしくお願いいたします。
773Now_loading...774KB:2005/04/22(金) 18:38:02 ID:0TqC+h0C
>>772
パール勉強した事ないなら
サンプルCGI探して書き換えればいいさ

自分で作ろうとするならくれぐれもサーバーに迷惑かけないでね

ウィンドウズでparlって動くの?
774Now_loading...774KB:2005/04/22(金) 18:58:27 ID:4D9Xw2Gz
植木さんの赤い表紙の本がサーバーサイドスクリプトとの連携について
まとめてあったと思う。結構前の本でうろおぼえだけど探してみたら?
775Now_loading...774KB:2005/04/22(金) 19:01:34 ID:pvQmA4BO
mx2004です。
cgiの変巣を読み込みたいのですが
print "data=OK"で出力して
vars = new LoadVars();
vars.load(cgiName);
vars.onLoad = function(){
hennsuu = vars.data;
}
これでundefinedになるんですけど
いろいろ試したんですが、原因がわかりません
やり方が間違ってるんでしょうか?
どなたかお願いします。
776Now_loading...774KB:2005/04/22(金) 19:24:46 ID:4D9Xw2Gz
onLoadの定義→loadの順番に書き換えて、
あと、hennsuu = this.data; かな?
777Now_loading...774KB:2005/04/22(金) 19:30:06 ID:gyGL/Lyg
>>772
えーとだな。
個人情報漏らしたりで損するのは自分だから、
見栄とかつまらないところで無理にFlash化してどうするのよと

送信されるデータが暗号化されていないのはご存知?
778Now_loading...774KB:2005/04/22(金) 19:47:02 ID:NKTlVDaJ
>>773
プロバイダの提供してるサーバーにはapacheが入ってます。

>>774
植木さんですか。探してみます。

>>777
やはり暗号化は大事ですかね。
今はメールで取引をしてるのですが、それよりも危険性が増すものなのでしょうか。
779Now_loading...774KB:2005/04/22(金) 20:15:09 ID:k5SEm9YJ
Flash MXの質問です。

ScrollPaneコンポーネントのスクロールバーの色を変えたいんですが、
どのように書けばいいんでしょうか?
あと、ScrollPaneの枠の色の変え方もお願いします。
780Now_loading...774KB:2005/04/22(金) 20:53:40 ID:4Izgwi3m
非常に初歩的だと思うのですが、解決法が分からず、質問させてください。

ボタンインスタンスにon(press)でgotoAndPlayを指定し、フレーム移動させたいのですが、
フレームジャンプの際、変な謎の音がします。
よく聞いてみたところ、どうやらジャンプ先のフレーム前に設定した音が、
ジャンプの瞬間、同時再生されてしまっているようなのです。
(例えば、goAndPlayを51フレームに指定すると、
 ジャンプした瞬間、1-50フレーム中のサウンドが全て同時に再生されてしまいます)

全く原因が分からず、困っています。
対処法などご存じの方がいましたら、アドバイスお願いしたいです。
よろしくおねがいします。
781Now_loading...774KB:2005/04/22(金) 20:56:39 ID:0TqC+h0C
>>780
サウンドってどうやって再生してるの?
782780:2005/04/22(金) 21:02:16 ID:4Izgwi3m
>>781
ムービークリップインスタンスで指定しています。
それをシーンのフレームに貼り付けて再生するようになっています。
783Now_loading...774KB:2005/04/22(金) 21:09:58 ID:pvQmA4BO
>>776
できました。ありがとうございました。
5時間はハマってました。
助かりました。
784Now_loading...774KB:2005/04/22(金) 21:59:15 ID:0TqC+h0C
>>780
mysound.start(0,1);
こんな感じでやってる?
785780:2005/04/22(金) 22:11:28 ID:4Izgwi3m
>>784
非常に短い音をSEとして配置している為、その音の再生にはスクリプトを使用せず、
ライブラリに読み込んだものをレイヤー上に直接配置しています。
786Now_loading...774KB:2005/04/22(金) 22:25:44 ID:0TqC+h0C
じゃあスクリプトを使用する事をお勧めするよ
787Now_loading...774KB:2005/04/22(金) 22:47:36 ID:NKTlVDaJ
以下のようなソースでhtmlに張り付いてるflashのボタンを、
ASの外部読み込みを使用し、そのままフラッシュムービーの中に移植するには、
どのような手段を講じれば良いのでしょうか。

<PARAM NAME="movie" VALUE="http://www.zzz.com/hoge.swf">
<PARAM NAME="flashvars" VALUE="DATA=/test/index.html,aaa,n1,n2">
<EMBED src="http://www.zzz.com/hoge.swf" flashvars="DATA=/test/index.html,aaa,n1,n2"

自分なりには、↓このようにやってみましたが、期待通りの働きをしてくれません。
this.my_mc.loadMovie("http://www.zzz.com/hoge.swf?DATA=/test/index.html,aaa,n1,n2");

漠然としていて申し訳ないですが、どうぞよろしくお願いします。
788Now_loading...774KB:2005/04/22(金) 23:01:51 ID:Ssw/yU2n
>>787
やりたいことがよくわかりません。
789Now_loading...774KB:2005/04/22(金) 23:17:00 ID:NKTlVDaJ
>>788
すみません。

htmlページ上にあるhoge.swfをクリックすると、所定のflashムービーに、
hoge.swfのDATA=以下が渡る、というアプリケーションがありまして、
そのhoge.swfをflashムービー上に移植したいのです。

しかし、DATA以下の引数がうまく渡らず、困っております。
上記のコードではflashパラメータ(flashvars)が2つありますが、
flashムービー上でうまくパラメータを渡す方法は無いものでしょうか。
790780:2005/04/24(日) 09:55:39 ID:I8sMOfPj
全てスクリプトで記述したところ、見事解決しました。
どうもありがとうございましたm(_ _)m
791Now_loading...774KB:2005/04/24(日) 11:50:30 ID:aJSoIP/I
>>789
html上にFlashAとBがあって
FlashBにFlashAを読み込ませたいということですか?
それとも、FlashAからFlashBに変数を送りたいと言うことですか?

また、何のためにDATA=以下を送っているのでしょうか?
792Now_loading...774KB:2005/04/24(日) 12:36:23 ID:qWFVGdld
他人の作ったもんパクって読み込んでるやつに答えてあげることないっしょ。
793Now_loading...774KB:2005/04/24(日) 15:18:14 ID:5cyL28pD
ネトゲの不正やってるアホだな
794Now_loading...774KB:2005/04/24(日) 17:49:10 ID:DRU8WWY3
質問させてください。

http://www.gac.jp/article/index.php?stats=question&category=19&id=8932&command=msg
にある、
onClipEvent(load){
this.ins_name = this._name;
}
on(press){
_root.hantei = this.ins_name;
}
onClipEvent(enterFrame){
if(_root.hantei == this.ins_name){
this.gotoAndStop(2);
}
else{
this.gotoAndStop(1);
}
}
このスクリプトに、マウスでロールオーバーした時の動作を追加するには、
どのようにしたらいいのでしょうか。
1フレーム目が標準状態、2フレーム目がロールオーバーした状態、
3フレーム目でボタンを押した状態のようにMCを作成したいと思っています。
どこに追加をすればいいのかがわからなくなってきてしまいました。

本当に初歩的なことだと思うのですが、よろしくお願いします。
795Now_loading...774KB:2005/04/24(日) 19:24:07 ID:XFNIeCos
水玉(インスタンス名:mark)が時間を追う毎に2つづつ
に(2のn乗)分裂していくASを書いています。
環境はWin98SEのFlashMX2004です。

現段階では
<フレーム1>
this.stop();
KX = 18; //隣接するための水玉の直径
KY = 18; 
D = 2; //深度

<フレーム2>
_root.mark.duplicateMovieClip("mark"+D, D); //深度Dに複製
deg=2*Math.PI*(1-2*Math.random()); //角度の計算
eval("mark"+D)._x =mark._x+KX*Math.cos(deg); //複製した水玉の座標
eval("mark"+D)._y =mark._y+KY*Math.sin(deg);
mark=eval("mark"+D); 
//(↑)新しい水玉のインスタンス名もmarkとする
//これにより、同名だが座標の違うインスタンスを作ろうとした

D+=1; //深度を下げる

<フレーム3>
gotoAndPlay(2); //繰り返し用

としましたが、新しい水玉は必ず前の水玉の隣に1個しか出来ず、
目標の2のn乗個の複製ができません。どなたか、このようなアル
ゴリズムを含むソースをご存知ないでしょうか?
796Now_loading...774KB:2005/04/24(日) 20:22:57 ID:IPEX12Sw
Dの値をトレースして確認してみ。たぶんずっと2だよ。
Dの値は_rootとか、_globalとかに保存すればいいんでない?
797Now_loading...774KB:2005/04/25(月) 02:00:45 ID:2EjAQKSl
ループサウンドをフェードインさせるにはどうすればいいのでしょうか?
環境はMXです。
798Now_loading...774KB:2005/04/25(月) 07:29:24 ID:AHcniU8Z
せっとボリュームをタイムライんにいっぱい置く
799Now_loading...774KB:2005/04/25(月) 07:56:20 ID:iOtFFRhS
>>794
on(rollOver){trace("rollover");}
800795:2005/04/25(月) 08:08:22 ID:hB//AuRw
(水玉が2のn乗に分裂していくAS)

>>796
確認しましたが、Dは1づつ増加しこれに関しては問題はありません。

ググりましたが、今のところ「水玉が2のn乗に分裂していくAS」は
見つかりません。どなたかご存知でしたら、宜しくお願い致します。
801Now_loading...774KB:2005/04/25(月) 11:40:24 ID:WqgmePuB
>>800
//_rootのタイムライン
var D = 0;var MAX_D = 500
function segmentMC(){
var D = ++_root.D
if(D>MAX_D){delete this.onEnterFrame;return;}
var x = Math.random()*300;var y = Math.random()*300
this.duplicateMovieClip("mark" + D,D,{_x:x,_y:y,onEnterFrame:segmentMC})
}
mark.onEnterFrame = segmentMC

_rootにインスタンス「mark」があるとして、ベースはこんなかな?あとは好きにして。
802800:2005/04/25(月) 11:58:29 ID:oaFGTvoE
>>801
ありがとうございます。これでやってみます。
803Now_loading...774KB:2005/04/25(月) 12:01:48 ID:dJKVMOUu
タイムスタンプからDateオブジェクトを生成する方法ってないでしょうか?
804Now_loading...774KB:2005/04/25(月) 16:07:11 ID:KFat5ZZP
>>803
タイムスタンプをパースしてコンストラクタにぶち込むしか無さそう
805803:2005/04/25(月) 16:45:39 ID:dJKVMOUu
orz やっぱそうっすよね。。
ガリガリとパースします、アリガトウ。
806Now_loading...774KB:2005/04/25(月) 17:28:18 ID:XxIVnT5e
お前らスクリプト組む時流れ図とか書いてる?
807Now_loading...774KB:2005/04/25(月) 17:33:07 ID:fSuO426A
>>806
書かない
大規模なもの作るときも書いたことない
808Now_loading...774KB:2005/04/25(月) 18:07:00 ID:enm7SQcB
アルゴリズムからだめっぽいですが、


特定のフレームを再生で通過すると、貼ってあるダイナミックテキストのカウンターが設定しただけ加算されるというふうにしたいのですが


5フレ目通過で3、カウンタが上昇、34フレ目で16上昇、という風に・・・

どのようにASを組めばいいのでしょうか。
809Now_loading...774KB:2005/04/25(月) 18:31:56 ID:AHcniU8Z
>>806
ちょっと複雑なのは紙でチャート作ったりする
810Now_loading...774KB:2005/04/25(月) 20:45:32 ID:KFat5ZZP
>>808
ダイナミックテキストに変数設定してフレームスクリプトで変数に値を入れれば?
811Now_loading...774KB:2005/04/26(火) 17:18:31 ID:i6QHfpRp
>>806
裏紙にメモする程度
(それもプログラムのフローっていうよりGUI決めるため)
812Now_loading...774KB:2005/04/26(火) 17:34:02 ID:U96BGCEn
MXでスクリプトを書いているのですが初歩的な質問させてください。

ライブラリにある画像(png/jpg等)をムービークリップに配置したいだけなのですが
外部画像ファイルならloadMovie()、ライブラリにあるシンボルならリンケージを
指定してattachMovie()で可能でした。
ライブラリにある画像ファイルをシンボル化しないで読む方法はあります?
813Now_loading...774KB:2005/04/26(火) 20:18:48 ID:1PVJSHnb
ないっす。
814Now_loading...774KB:2005/04/26(火) 20:52:48 ID:U96BGCEn
やはりないっすか。
全部シンボル変換します orz

ありがとうございました。
815Now_loading...774KB:2005/04/26(火) 21:58:37 ID:aaG09lJQ
学校の課題研究でFlashでゲームを作ることになった。
なかなかおもしろいね。これ。
816Now_loading...774KB:2005/04/26(火) 23:40:40 ID:Tfn3uyji
MXでつくってます

this.onEnterFrame = function(){
 …
}

とするとうまくいっても、一度関数をはさんだら一回しか実行されなかったりします。

this.onEnterFrame = f_kansu();
function f_kansu(){
 …
}

この挙動の違いはどこだら来るんですか?
817Now_loading...774KB:2005/04/26(火) 23:53:05 ID:NisehwO9
>>816
上はenterframeでその後の処理ブロック内が実行される
下は下記のように書くと上と同じように動く
function f_kansu() {

}
this.onEnterFrame = function() {
f_kansu()
};

下のthis.onEnterFrame = f_kansu();はf_kansuを実行してonEnterFrameに実行するから1回しか実行されない
this.onEnterFrame = は関係ないって事ね
818Now_loading...774KB:2005/04/27(水) 00:00:11 ID:2c8nz3Ph
いやいや、カッコが要らないだけだと思うんだ。

this.onEnterFrame = f_kansu();

this.onEnterFrame = f_kansu;
819Now_loading...774KB:2005/04/27(水) 00:00:46 ID:6agUU4E7
this.onEnterFrame=f_kansu;
じゃいけないの?
820816:2005/04/27(水) 00:01:20 ID:njStY+ML
なるほど、分かりました
ありがとう
821816:2005/04/27(水) 00:05:32 ID:Tfn3uyji
後で変数の受け渡しが必要になると思うので
>>817でやらせてもらいます
822Now_loading...774KB:2005/04/27(水) 07:19:55 ID:mY5NjENI
ASでモーショントゥイーンのイージングをいじる事ってできますかね?
823Now_loading...774KB:2005/04/27(水) 08:12:19 ID:U+n/SZgf
>>822
無理。そもそもASにモーショントゥイーンという概念は無い。
ただし、イージングと同じように加減速する計算を行っての
モーションは可能。
824Now_loading...774KB:2005/04/27(水) 08:38:13 ID:ru7Fedmy
825Now_loading...774KB:2005/04/27(水) 13:16:05 ID:LVs951JA
変数aにいくつ改行が入ってるかを調べる方法を教えてください
826Now_loading...774KB:2005/04/27(水) 16:35:44 ID:3GR6u+Ir
>>825
split("\n")してlength-1とか
827826:2005/04/27(水) 16:38:06 ID:3GR6u+Ir
やっぱループで一個一個検索した方が早いかも
828Now_loading...774KB:2005/04/27(水) 17:30:56 ID:ru7Fedmy
>>825
こんなのはどう?
a.length-a.split("\n").join("").length;
829828:2005/04/27(水) 17:50:57 ID:ru7Fedmy
ちょっと勘違いしてた。826で全ての場合にOKだね。
830Now_loading...774KB:2005/04/27(水) 20:22:32 ID:c/331TFc
(たぶん配列を使うと思いますが)
1〜100の数字のグループがあったとき、これらに対してある数字を
適当に打ち、それがこのグループに入っているかの判定ASはどの
ようになるでしょうか?
 例えば
54を入力→true
150を入力→false
831Now_loading...774KB:2005/04/27(水) 20:45:01 ID:LVs951JA
num = 54;
trace(1<=num&&num<=100);//trueになる
num = 150;
trace(1<=num&&num<=100;//falseになる
832ガイ先生:2005/04/27(水) 20:46:40 ID:o3/w7RQJ
きし団のワンナイカーニバルのフラッシュを作ってください!
お願いします!!
833Now_loading...774KB:2005/04/27(水) 21:31:38 ID:3/Zuovw7
function xserch(grpAry,inputNum){
found=false;
for( i in grpAry){
if(grpAry[i]==inputNum){
found=true;
break;
}
}
return (found);
}

aa=[1,2,3,4,5,6,7,8,9,10,11,54,2568,800,157];
num=150;
trace(num+"=>"+xserch(aa,num));
num=54;
trace(num+"=>"+xserch(aa,num));

こういう感じでよいのかな。取り違えてたらごめん。
834Now_loading...774KB:2005/04/27(水) 22:44:38 ID:xmlmZOUJ
>>832
それが違法かどうかも解らない屑に作る奴がいるか
死ねやガキ
835Now_loading...774KB:2005/04/27(水) 23:08:13 ID:9nvtZ1sv
>>832
ヤターできたよ!
trace("わんないかーにばーるほっほー♪");
836Now_loading...774KB:2005/04/27(水) 23:19:47 ID:LVs951JA
見事だ
837830:2005/04/27(水) 23:57:40 ID:PsmvE1aT
>>831, 833
すみません。最初の質問が間違っていました。
「1〜100の数字のグループがあったとき」
は正しくは
「1〜100の範囲にあるランダムな数字群(1,7,19,25,54,66,・・・)
があったとき」です。
つまりこのような数字群で、
54 → true
150 → false
の判定を行いたいと思っています。833さんの方が理想形に
近いですが、実際に判定は可能でしょうか?
838833:2005/04/28(木) 00:03:21 ID:3/Zuovw7
>>837
判定出来なかった?
839830&837:2005/04/28(木) 00:59:43 ID:0/vyEiCM
(日本人ですが日本語に苦労していますw)
ここでのランダムな数字群とは、random()を用いて発生させたもので
予めAS欄に存在するものではないです。そこで10個の乱数ならば
for(i=1; i<=10; i++){
grpAry[i]=Math.random()による整数乱数
}
と配列に格納する部分を加え、833の方法で判定しようと思います。

言葉足らずですみません。
※1〜100までの数字の乱数当てゲームだと考えて頂いて結構です。
840Now_loading...774KB:2005/04/28(木) 08:39:15 ID:nSlQIrLq
初心者の質問ですみません。FLASH MXです。

for (i=1; i<=3; i++) {
this.attachMovie ("pic001Movie", "pic001Movie_"+i, i);
pic001Movie_1._visible = false;
pic001Movie_2._visible = false;
pic001Movie_3._visible = false;
};

上の部分にある

pic001Movie_1._visible = false;
pic001Movie_2._visible = false;
pic001Movie_3._visible = false;

を i を使って一文にまとめましたが

pic001Movie_+i._visible = false;

では上手くいきませんでした。基本的なことと思いますが
修正してください。
841Now_loading...774KB:2005/04/28(木) 08:48:59 ID:0s/0WaW1
this["pic001Movie_"+i]._visible = false;
842Now_loading...774KB:2005/04/28(木) 09:26:42 ID:nSlQIrLq
>>841 さん
上手くいきました。ありがとう。
843Now_loading...774KB:2005/04/28(木) 10:05:53 ID:tsgX/qNE
本当は配列に入れてやって処理する方がいいんだろうけどね〜
844Now_loading...774KB:2005/04/28(木) 10:08:22 ID:tsgX/qNE
ついでにこういうやり方を知っとくと今後役立つかも。

for (i=1; i<=3; i++) {
newMC = this.attachMovie ("pic001Movie", "pic001Movie_"+i, i);
newMC._visible = false
};
845830&837:2005/04/28(木) 10:55:30 ID:GYcqLxA5
乱数当ての件、解決しました
846Now_loading...774KB:2005/04/28(木) 13:20:50 ID:tFk54//7
質問です。

removeMovieClip()を実行したときに呼ばれるイベントってありますか?
onUnloadはちょっと違うようだったもので。

ムービークリップ内でsetInterval()でタイマを作った後始末をやりたいのです。
removeMovieClip()を呼ぶ直前に処理コードを書くのでもいいんですけど
それだとremoveMovieClip()を呼ぶ個所に全部書かなきゃで面倒だしバグの
原因にもなりそうなんですよね。

ActionScript2.0でもデストラクタって見あたらないような気がするんですが
無いのかな・・・

環境はMXですがMX2004でないと無理ならMX2004にします。
847Now_loading...774KB:2005/04/28(木) 13:32:12 ID:aB7QS724
onUnloadでいいと思うけどなあ
そのインスタンスってどうやって配置してんの?
848Now_loading...774KB
>>847
インスタンスはattachMovie()で配置してます。

情報を出し損ねてすみません。stop()でフレームは全部止めてます。

マニュアルによるとonUnloadは「ムービークリップをタイムラインから
削除した後に表示される最初のフレームで呼び出されます。」
となっているので、フレームを止めている為に呼ばれないのかな。