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

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

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

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

過去スレ
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:04/09/13 21:57:18 ID:tpjMB76t
関連スレ
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
購入は書籍店か、アマゾンあたりで。
3胡麻 ◆MvRbZL6NeQ :04/09/13 22:03:57 ID:PQ+2SW82
3get
4Now_loading...774KB:04/09/14 01:13:27 ID:X5V7k+Bv
>>4
5Now_loading...774KB:04/09/14 10:21:18 ID:Zuv+n1en
さっそくなんだけど
MovieClip とかに 「_」とか「__」とかで
はじまるメンバがあるんだけどこれの意味はなに?
6Now_loading...774KB:04/09/14 10:24:56 ID:Zuv+n1en

class hoge {

private var _parentNumber;


}

とかの変数宣言すると予約語でもないのに
_parent が青文字になるんだけどなんで?


7Now_loading...774KB:04/09/14 10:27:43 ID:Zuv+n1en
>>6 はミスです




class hoge {

private var _parentNumber;

function hoge() {
_parent = 0;
}

}

上記のようなクラスを作成すると_parent が青文字になるんだけどなんで?
Helpみると予約語でもないみたいだけど

8Now_loading...774KB:04/09/14 10:29:54 ID:Zuv+n1en
>>5
>>7

の質問は MX 2004 です

9Now_loading...774KB:04/09/14 10:43:21 ID:BaXNTvMY
>>7
編集>環境設定>ActionScript>識別子
10Now_loading...774KB:04/09/15 07:42:49 ID:NWfLeQA6
help をみると普通の変数も識別子に当てはまるみたいだけど
青くならない変数もある。というか青くならないほうが普通。
しかし「_parent」はあおくなる。

変数名に 「_parent」 って使うと動作がおかしくなるの?
11Now_loading...774KB:04/09/15 09:36:25 ID:lzomq96M
遅れながらも、1乙
12Now_loading...774KB:04/09/15 12:23:56 ID:rYbULkAH
>>10
_parentNumberは変数になるけど、
_parentは相対パスを書くための識別子で変数にはならない。
_parent.hensuuみたいな使いかた
13Now_loading...774KB:04/09/15 13:02:46 ID:NWfLeQA6
>>12
解答してくれてありがとう!

オブジェクトのメンバに使われている名前は
変数名につかえないの?

「_parentは相対パスを書くための識別子」ってどういう事?

単純にオブジェクト(MovieClipとか)のプロパティじゃないの?

あと
「var _hhh」 の 「_hhh」 も識別子になるよね?

14Now_loading...774KB:04/09/15 13:17:26 ID:QOjyeaEp
ヘルプ嫁
15Now_loading...774KB:04/09/15 13:31:17 ID:NWfLeQA6
ヘルプかなりよんだけど ワカンネーw

だいたいどこらへんかヒントください。

あと下記のテストは正常に「1」がoutputされたが
それでもやっぱり問題があるのか?

■■■ Hoge.as ■■■
class Hoge {

var _parent:Number;

function Hoge() {
_parent = 1;
}

function set parent(num:Number):Void {
_parent = num;
}
function get parent():Number {
return _parent;
}
}
■■■ ■■■

■■■ test.flp ■■■
var _hoge:Hoge = new Hoge();
trace((_hoge.parent).toString());
■■■ ■■■
16Now_loading...774KB:04/09/15 13:37:45 ID:3jdqNNmx
>>15
釣りじゃなくて>>12読んでわからなけりゃどうしようもない
とにかく_parentは使うな
そのうち必然的に覚えるだろうから今はそう覚えとけ
17Now_loading...774KB:04/09/15 13:38:46 ID:QOjyeaEp
自分だけで使うソースなら問題ないよ。
今後コンパイラで蹴られる可能性を気にしないなら問題ないよ。
普通は、そんなリスクしょうのは馬鹿馬鹿しいので使わない。

>ActionScript 言語のエレメントを変数名として使用することはできません。
>使用すると、シンタックスエラーになったり、
>予期しない結果が発生することになります。
18Now_loading...774KB:04/09/15 13:48:52 ID:NWfLeQA6
いや つりじゃないよ。

_parentって階層構造をもつカスタムクラスを作成する時に
プロパティ名で使いたいんだけどやっぱりだめ?

だめっぽいからあきらめてparentEx とか変更しようと思うけど
他にも引っかかる変数名があるかもしれないと思うとちょっと怖い。
だからルールがしりたいと思ってます。

あとヘルプで識別子をよんだけどやっぱり 「_hhh」 も普通に識別子だよね?
19Now_loading...774KB:04/09/15 14:18:57 ID:rYbULkAH
むしろヘルプ読むより、自分のやりたいことをググって
一般的なやりかたを学んだほうがいいような
20Now_loading...774KB:04/09/15 19:08:16 ID:YN3ux0Zu
_parentに値を代入するということは
その_parentを持つオブジェクトの_parentのパスを変更することを示す。
階層構造が判り難くなる恐れがあるので素人にはお勧めできない。
21Now_loading...774KB:04/09/16 03:05:06 ID:IkRSXgBf

わたしは「MX2004」から入ってきた組で
以前のFlashとはコーディングの作法とかがもしかしたら
違うのかもしれないと思ってもいます。

その辺を吟味して解答していただける方がいらっしゃいましたら
うれしいと思っています。

(青くなるルールはFlash に精通している方でないと説明が難しい問題かもしれないとも思っています。)

>>20 さんへ
「_parent」 には親オブジェクトへの参照アドレスを格納できる型を選ぶつもりです。
そして再帰的に処理できるようにしてトラバースできるようにするつもりです。

>>17 さんへ
「言語のエレメント」っていわれても「_parent」は

ステートメント
キーワード
演算子
予約語

でもないと思うのですがどうでしょうか?

質問している間になんとなくおもったんですが
今回のケースは青くなる事にあまり意味がないのかも
しれないかなと思ってるんですがこの意見は間違いですか?

今回、このような質問をしたのは自分のコーディングスタイルを
きめてプログラムを組みたい(それと意見交換!)と思ってのことです。
22Now_loading...774KB:04/09/16 10:10:44 ID:vCCYFBgi
>21
あなたの疑問点が何なのかが、いまいちわかんねえです。
今までのあなたの書いたもので解決していないものを
箇条書きかなにかでまとめてください。
23Now_loading...774KB:04/09/16 11:22:33 ID:2qPH1uj3
サーバスクリプトを使わずに、SWFファイル単体で
パスワード認証機能を付けようと考えています。
具体的には、ゲームの試用版をパスで解除して正式版で遊べるような
仕組みをActionScriptで実装したいのですが、これって技術的に可能ですか?
24Now_loading...774KB:04/09/16 12:16:51 ID:vCCYFBgi
>23
可能ですが
swf解析ソフトで中身のぞかれて
あっさり認証解除できてしまうということに。
25Now_loading...774KB:04/09/16 12:21:55 ID:ex4fJyg8
質問です。環境はMX2004。

attachを使用する際、シンボルをリンケージ登録しますが
このシンボルの読み込みを第1フレーム以外に設定するには
どうすれば良いでしょう?

第1フレームだとローディング画面が表示されるまでに
時間がかかってしまうので・・。

よろしくお願いいたします。
26Now_loading...774KB:04/09/16 12:25:45 ID:vCCYFBgi
>25
リンケージの「最初のフレームに書き出し」のチェックをはずす
27Now_loading...774KB:04/09/16 12:46:46 ID:IkRSXgBf
>>21

class hoge {

private var _parentNumber;

function hoge() {
_parent = 0;
}

}

上記のようなクラスを作成すると_parent が青文字になるんだけどなんで?
Helpみると予約語でもないみたいだけど
28:04/09/16 12:47:36 ID:IkRSXgBf
>>22
だった OTL
29Now_loading...774KB:04/09/16 13:08:35 ID:ex4fJyg8
>26
レスどうも。それはそうなんだけど、
「最初のフレームに書き出し」チェック時は正常にAttachできるんだけど
チェック外すとAttach出来ないんですよ・・。
読み込みのタイミングとかActionScriptで指定できるのでしょうか?
30Now_loading...774KB:04/09/16 13:23:53 ID:B3YnmjvR
>>27
嘘付くなよ、お前Helpなんか調べてないだろ。

_parent
Player
Flash Player 5。

シンタックス
_parent.property
_parent._parent.property

説明
識別子; 現在のムービークリップまたはオブジェクトを含むムービークリップまたはオブジェクトへの参照を指定するか、返します。
現在のオブジェクトとは、_parent を参照する ActionScript コードがあるオブジェクトです。現在のムービークリップまたはオブジェクトの上位のムービークリップまたはオブジェクトへの相対パスを指定するには、_parent を使用します。


次の例では、ムービークリップ desk はムービークリップ classroom の子です。
次のスクリプトがムービークリップ desk 内で実行されると、再生ヘッドはムービークリップ classroom のタイムライン内のフレーム 10 にジャンプします。

_parent.gotoAndStop(10);

関連項目
_root, targetPath
31将軍様:04/09/16 13:31:57 ID:Ykt5dahy
サーバーサイドスクリプトからcgiなどを呼んで外部ファイルとのやり取りをすることはできますか?
32:04/09/16 13:50:58 ID:QxzbKqWv
>>30
解答ありがとう。

MX2004 の ヘルプだと具体例が

this.square_mc.circle_mc.onRelease = function() {
this._parent._alpha -= 5;
};

てなってるけど これって this で参照しているオブジェクトの
_parent プロパティがないとエラーにならない?

いきなり 「_parent」 で親オブジェクトの参照をかえすの?

この例だとにオブジェクトのプロパティだと思うんだけど
他のクラスのオブジェクトで使用されている名前は
変数名として使えないなんておかしい仕様ではないよね?

説明の識別子って「_parent」はプロパティですっていってるんだよね?
33Now_loading...774KB:04/09/16 14:02:57 ID:QxzbKqWv
なんか今テストしてわかったんだけど

カスタムクラスでも「_parent」プロパティがどっかから継承されてるのかな?
34Now_loading...774KB:04/09/16 14:12:56 ID:vCCYFBgi
>29
うろ覚えですが
「最初のフレームに書き出し」チェックを外した場合
そのattach対象のムービークリップ等は、
あらかじめどこかのフレームに配置しておく必要があるはず。
35Now_loading...774KB:04/09/16 14:27:57 ID:vCCYFBgi
>27,33
とりあえず30で挙げた説明が答え。
似たようなもので thisとか_rootとかも青くなるのと同様。
36Now_loading...774KB:04/09/16 14:43:54 ID:3KTwaACn
on(press) {
this.getURL("javascript:resizeTo(800,600);");
}

swfを表示しているウインドウのサイズを、上記スクリプトで変更したいのですが、出来ません。
resizeToではなくcolose等のスクリプトなら正常に動きます。
fscommandも試しましたが出来ませんでした。
どなたか教えてください。

動作環境
OS : WIN XP PRO
ブラウザ : MSIE6
FLASH : MX
パブリッシュ : Flash Player5

よろしくおねがします。
37Now_loading...774KB:04/09/16 14:49:35 ID:vCCYFBgi
>36
試してみたら問題なく動作したので
他に原因があるのでは。
ブラウザのjavascript無効にしているとか。
38Now_loading...774KB:04/09/16 14:51:39 ID:QxzbKqWv

>>35
意見交換に参加していただきありがとうございます。

自分の中では
「_parent」 はカスタムクラスで作成するクラスでも
最初からそなわっているプロパティという認識になりました。

そうすると「_parent」 が必要ないカスタムクラスでも
そんなプロパティがあってじゃまという意見もあるとおもうの
ですが、それは仕様だという事で納得いたしました。(以外に便利かも)

なので変数の宣言をするとたまに青くなる時があるのですが
それは最初からカスタムクラスにあるプロパティなので
なまえが示す大体の役割どうりに使用すればいいんだなと
思いました。

あと
「this」はキーワードなので青くなるのが普通。
「_root」は実行環境が実行時に作成するオブジェクトへの参照なので
使えない。

という風に青くなるルールはわかるが、
「_parent」はなぜ青くなるのか(他にもあおくなるものがある)
それのルールがわからんと思ったので質問したという経緯です。

以外にむずかしい問題だったようなきガします。
意見交換してたら発見をしたような気がしました。

ありがとうございます。解決です。
39Now_loading...774KB:04/09/16 14:51:54 ID:vCCYFBgi
あ、
他の記述で動くなら、javascript無効にしているとかはないですね。
40Now_loading...774KB:04/09/16 14:53:43 ID:3KTwaACn
on(press) {
this.getURL("javascript:close();");
}
上記スクリプトは正常に動作するので、Javascriptの設定は有効になっていると思います。
41Now_loading...774KB:04/09/16 14:56:42 ID:9w7v+Dnk
別のスレでも質問したのですが、
どうしても分からないのでどなたか教えてください。

フラッシュが表示されてるページのURLを取得する方法教えてください。
.swfファイルではなく、例えば.htmlファイルです。
一つの.swfファイルが複数の.htmlファイル上に表示された場合でも、
それぞれのページでその.htmlファイルのURLを取得する方法です。

現在、フラッシュからPOSTでCGIにデータを送って、HTTP_REFERERから
URLを取得する方法をとっていますが、
これだと一部のブラウザ(確認されてるのはMacだとIE5とOPERA7)からのアクセスでなければ取得できません。
アクションスクリプトによる取得方法、
あるいはCGI等によって確実に取得できる方法をご存知の方は、ぜひ教えてください。
お願いします。
42Now_loading...774KB:04/09/16 15:14:17 ID:QxzbKqWv
>>38
訂正

>という風に青くなるルールはわかるが
変数名として使用できないルールはわかるが
4336:04/09/16 15:18:11 ID:3KTwaACn
IE5.5の環境で試したら動きました・・・・
44Now_loading...774KB:04/09/16 18:08:21 ID:ex4fJyg8
>34
助かりました!無事動作しました。
どうもありがとうございます!
45Now_loading...774KB:04/09/16 19:25:13 ID:zuJ0Nkia
>>23 >>24
JavaScriptで実装されたUNIX cryptがあります。
それをASに移植(というほど大げさな作業ではありません=移植実績あり)してあげれば、
DES不可逆でパスワードを保持できるので、
スクリプトを解析されたとしても、だいぶましだと思いますよ。
46Now_loading...774KB:04/09/16 20:03:51 ID:M0H65xBa
>>23
テキストボックスの変数を「Password」としてボタンシンボルを作成しアクションを

on (press, release) {
if (Password eq "1234") {
loadMovieNum("members.swf", 1);
} else if (Password ne "1234") {
loadMovieNum("xxx.swf", 1);
}
}

と、記入したら、パスワード「1234」で指定したmembers.swfがレベル1に表示し
違うパスワードを入れるとxxx.swfがレベル1に表示する。
確かに解析ソフトや秀丸等のエディタを使えば簡単に見れるけど、
その辺の厨房には分からないから気休め程度ならこれで良いと思うよ。
FLASHに精通して、更にそうゆう諸々の事を知って無いと解読という考えは起こらないと思うし
47Now_loading...774KB:04/09/16 20:20:50 ID:AdHFj9sE
>>45
そもそもパスワードチェックルーチン自体をパスされたらおしまい。
逆コンパイルしてチェックしてるルーチン潰し、それをまた戻す事の出来るツールがあるからなぁ・・・
48Now_loading...774KB:04/09/16 21:11:20 ID:pi1z+nM7
ダイナミックテキストの、テキストボックス内で
name2という変数の文章を表示させています。
このname2の文章の中で、name1という変数に入れてある名前1という文字を
表示させたいのですが、うまくいきません。

こんな感じで書いてます
name1= "名前1";
name2 = "この文章で"name1"を表示したい。";

もしかして根本的に何か間違ってるんでしょうか…。
49Now_loading...774KB:04/09/16 21:14:43 ID:vCCYFBgi
>48
name2 = "この文章で" + name1 + "を表示したい。";
50Now_loading...774KB:04/09/16 21:29:22 ID:5p8K9Z24
>49
ありがとうございます、できました!

すみません、もう一つだけよろしいでしょうか?
1.swfに、上のname1という変数が記述されており、1.swfから
外部swfファイルとして読み込んだ2.swf内でname2の変数を
記述する場合、
name2 = "この文章で" + name1 + "を表示したい。";
これにまた手を加える形になるのでしょうか。

ファイルサイズが膨大になったので、ファイルを分割しつつ
最初のファイルで得た変数を、以降に読み込むファイルにも引き継ぎたいんです。
51Now_loading...774KB:04/09/16 21:39:18 ID:vCCYFBgi
>50
name1に 2.swfから1.swfを見た場合のパス(階層)を付与します。

例えば
1.swfが2.swfから見て_rootにあるならば
name2 = "この文章で" + _root.name1 + "を表示したい。";
となります。
52Now_loading...774KB:04/09/16 22:52:55 ID:5p8K9Z24
>51
度々すみません、ようやく1.swfから2.swfへ変数を引き継げました!
本当に助かりました。
53Now_loading...774KB:04/09/17 09:52:30 ID:0h30er/S
すれ違いかもしれないが教えてください。
ずばりActiveXとFLASHの連携って可能でしょうか?
FLASHで値を入力させてAvtiveXで処理、結果をFLASHに返して表示・・・ってものなんですが。
よろしければ教えてくだされ。
54Now_loading...774KB:04/09/17 13:49:25 ID:3HYh70fR
>>53
同じHTML上に配置されたActiveXコンポーネントとswfの間なら、
JavaScriptを介して相互にコントロールできます。
flash playerも(IE上なら)ActiveXコンポーネントですし。
55Now_loading...774KB:04/09/17 14:41:11 ID:0h30er/S
>>54
アドバイスどもです。
ちなみに何か参考になるサイト、もしくは書籍等あれば教えてもらえないでしょうか。
よろしくお願いしますm(_ _)m
56Now_loading...774KB:04/09/17 16:23:04 ID:3HYh70fR
>>55
Flash<-->JavaScriptの方法はぐぐればいっぱい出てきます。(キーワードはそのまんま)
相手方のActiveXコンポーネントについては情報が無いので分かりません。
57名無し:04/09/17 16:25:29 ID:DyUKSvy0
あげます
58Now_loading...774KB:04/09/19 22:42:26 ID:zs2FZoL3
HitTestについて聞きたいのですが、
MC.hitTest(MC2);というふうにターゲットにMCを指定した場合、
ヒット領域が四角形になってしまって思ったように動いてくれないのですが、
実際に見えている部分をヒット領域にはできないのでしょうか?
59Now_loading...774KB:04/09/20 01:27:13 ID:q7zOeeCb
失礼します。FlashMXを使用しています。

FlashからDB(SQL)を制御したいのですが、
「Flash上からPerlへ命令を出し、
PerlはDBと接続するだけで、SQL構文はFlash内に記述しておく。」
といった方法で、DBを制御することは可能でしょうか。

【構造】
Flash⇔Perl⇔DB(SQL)

PerlはDBと接続し、Flashから届いたデータをSQLに転送するだけの簡単な処理です。
6059:04/09/20 01:28:32 ID:q7zOeeCb
Perlというより、CGIと書いたほうがよかったかもしれません・・・。
61Now_loading...774KB:04/09/20 01:37:02 ID:90eqtYzq
>>59
可能です。が、
swfファイルはわりと簡単に解析できるため、SQL文をswf内に
埋め込んでしまうのはセキュリティー上あんましうまくないかもです。
62Now_loading...774KB:04/09/20 18:02:45 ID:51+rWJwV
矢印キーを押してその方向に進ましています。
進める領域も作ることができますが、領域をいろいろな形(多角形)
にしたいのですが、どうやればいいのですか。
63Now_loading...774KB:04/09/20 22:24:22 ID:xB+8t/vg
MXです。
一度duplicateMovieClipで作ったMCをいったんremoveMovieClipで消したあと
もう一度同じ深度に新たにMCを作成したいのですが
どうもかち合ってしまっているようでうまくいきません。
一度使用した深度はremoveMovieClipを使ってもクリアできないのでしょうか?
また、それを可能にする方法があれば教えてください。
6463:04/09/20 23:41:50 ID:xB+8t/vg
勘違いでしたすいません
65Now_loading...774KB:04/09/21 03:59:46 ID:4zaGnKeZ
サウンドに関する質問です。

_root.onLoad = function(){
attack_se = new Sound();
bg_se = new Sound();
attack_se.attachSound("attack_se");
bg_se.attachSound("bg_se");
bg_se.setVolume(0);
};

とすると、すべてのサウンドボリュームが「ゼロ」になってしまいます。
特定のサウンドのみのボリュームを下げる方法はあるのでしょうか?
66Now_loading...774KB:04/09/21 04:58:30 ID:pnbair1/
>>65
有る
67Now_loading...774KB:04/09/21 07:14:26 ID:X+yawbly
XPなんですが、MXのチュートリアル見ると
ダイナミックテキストの変数自体の語頭に"_root"つけてるけど、
構わんのですか?
"_root"って別のMCのインスタンスとか変数を指定する時に使うアレですよね。
というか、"_root"とか"_parent"の使い方が明確に分からないので
教えてください。

あと、ライブラリからステージに呼び出す様な関数か何かないですかね?
何か色々欲張ってスマソ。お願いします。
68Now_loading...774KB:04/09/21 09:44:47 ID:m5XZXH+C
テキストファイルを読み込み、そこに書かれているのjpgファイルを読み込みたいと思っています。
環境はWinMX,Flash MX 2004です。

HTML中の呼び出しソース
<EMBED src="flash.swf" FlashVars="inText=text.txt" ・・・・・>

&テキストファイル(text.txt)の内容&
&gazou1.jpg&

/*タイムライン1*/
loadVariablesNum (inText, 0);//HTMLからinTextに変数を受け取る
loadMovie(gazou1, "imgField");//画像を画像ロードエリアに読み込む
stop();

上記の内容ではimgFieldとインスタンス名を付けたインスタンスに画像がロードされます。
しかし、1行目を変更し下の様にするとロードされません。
どうしてでしょうか?

/*タイムライン1*/
loadVariablesNum (inText, 0);//HTMLからinTextに変数を受け取る
in_img = "gazou" + "1";
loadMovie(in_img, "imgField");//画像を画像ロードエリアラインに読み込む
stop();
6953:04/09/21 09:48:47 ID:uw874NOe
>>56
返答遅れてスミマセン&レスサンクスです。
頑張ってみまつ。
70Now_loading...774KB:04/09/21 11:07:40 ID:Lw+QuIj4
>>68
in_img = "gazou" + "1.jpg";
じゃないのかな?
71Now_loading...774KB:04/09/21 20:34:10 ID:3KkY9XuG
質問です。
ムービークリップの指定にワイルドカードのようなものは使えないのでしょうか?
_root.mc1〜5が出たり消えたりするとして、
mc1〜5が存在しなかれば、関数を実行するという文を書きたいのです。
7268:04/09/21 22:07:10 ID:m5XZXH+C
>>70
せっかく答えて頂いたのですが、質問内容にミスがあったので訂正します。
申し訳ありません。

------------------------

テキストファイルを読み込み、そこに書かれているのjpgファイルを読み込みたいと思っています。
環境はWinMX,Flash MX 2004です。

HTML中の呼び出しソース
<EMBED src="flash.swf" FlashVars="inText=text.txt" ・・・・・>

&テキストファイル(text.txt)の内容&
&cnt=1&
&img1=gazou1.jpg&

/*タイムライン1*/
loadVariablesNum (inText, 0);//HTMLからinTextに変数を受け取る
loadMovie(img1, "imgField");//画像を画像ロードエリアに読み込む
stop();

上記の内容ではimgFieldとインスタンス名を付けたインスタンスに画像がロードされます。
しかし、下記の様に変更するとロードされません。

/*タイムライン1*/
loadVariablesNum (inText, 0);//HTMLからinTextに変数を受け取る
in_img = "img" + cnt;
loadMovie(in_img, "imgField");//画像を画像ロードエリアラインに読み込む
stop();

上は"img1"という変数を参照しているが、下では"img1"という文字列を代入してしまっていると考えています。
しかし、どうしても下のような方法を実現したいのです。
73Now_loading...774KB:04/09/21 22:39:56 ID:ZyRSXMWm
>>72
in_img=_level0["img" + 1]
7468:04/09/21 23:48:55 ID:m5XZXH+C
>>72
できました。
ありがとうございます。
7568:04/09/22 00:26:29 ID:JeyXM4KJ
>>72ではなく>>73でした。
板汚し申し訳ないです。
76@:04/09/22 16:42:56 ID:vJKyMMK1
質問です。

7776:04/09/22 16:44:42 ID:vJKyMMK1
↑ミス

質問です。
Flashで2つのURLを同時に開かせたい場合は
どうすればよいでしょうか?
78Now_loading...774KB:04/09/22 16:49:14 ID:cQgTO0P3
>77
getURLを2つ書けばいい
7976=77:04/09/22 17:30:06 ID:vJKyMMK1
>>78
dクス。できました。
HTMLくらいメンドーだと思ってましたが、案外簡単でしたね…俺バカ
8067:04/09/23 16:30:04 ID:ollmGeCI
マダー?
81Now_loading...774KB:04/09/23 17:54:51 ID:p7vpcUfk
>>80
絶対パスに使うのが_root
相対パスに使うのが_parent

attachMovie()

後はヘルプなりググるなりして
82Now_loading...774KB:04/09/23 20:47:19 ID:L2ndiLUq
>>80
マダー?じゃねぇだろ
ググればすぐ見つかるだろそんなもん
83Now_loading...774KB:04/09/23 23:48:02 ID:MEvw4Z32
flashを使ってメニューを作りたいと思ってるんですが、
初めてActionScriptに挑戦したらいきなり壁にぶち当たりましたorz

左フレームページにフラッシュで作ったメニューを置き、
そこのボタンを押すことで右のフレームページの内容を表示させるように
したいのですが、GetURLでHTMLタグのtarget="right"みたいに設定することは
出来ないのでしょうか?

物凄く初歩的な質問で申し訳ありませんが、どうかよろしくお願いします。
84Now_loading...774KB:04/09/24 00:01:55 ID:atHFqMD6
>>83
getURL("xxx.html","right")
85Now_loading...774KB:04/09/24 01:08:36 ID:Y+pK9g+5
>>84
ありがとうございます。
8676=77:04/09/24 11:24:02 ID:lUxJNPS3
再び質問です。

>>77でのトラブルを>>78で解決したのですが、
クライアント様がウンコなことにネスケ4.7でチェックしやがって…
「リンクを開くとブラウザが落ちる」
win2000でチェックしましたが、同じような現象になりました。

原因はなんでしょうか? 何か解決策があればおねがいします。
87Now_loading...774KB:04/09/24 15:20:36 ID:lmHV+3tQ
>>86
同時だから落ちるのでは?
MCのタイムラインに乗っけて時間をヅラしてみてもだめ?
8876=77=86:04/09/24 17:26:37 ID:lUxJNPS3
>>87
ウッホ! 出来ますた。
あんがとー。

>>86はクライアントじゃなくて代理店でした。)
89Now_loading...774KB:04/09/24 21:16:12 ID:dxS1LQVd
xmlソケットのスレがなくなってるのでこっちで質問させてください。
ウィンドウズ2000でflashmxでFACEsサーバを使っています。
通信手段としてこんな感じの文字をサーバに送るのですが、
str = "<QN app=soft1 r=room1 />\n";
「<」から「>」までの文字数を1/2にすれば、
サーバへの通信負荷は約1/2になるんでしょうか?
それとも大して変わりませんか?
よろしくおねがいします。
90Now_loading...774KB:04/09/24 21:25:30 ID:B14fioP8
>>89
いやいやまだ生きてますって、ビックリさせないで下さいよw
【XML】XMLソケットなどの話題はここで【socket】
http://pc5.2ch.net/test/read.cgi/swf/1050820352/

ちなみに質問内容はXMLsocket未経験なのでわかりません(汗
でもXMLのノード情報もそのまま送ってることを考えると
通信負荷(っていうよりも転送量)の軽減にはなるような気がしますね。
91Now_loading...774KB:04/09/24 21:42:17 ID:wtG1QZcQ
千葉!滋賀!佐賀!って言うフラッシュのタイトル教えてください
92Now_loading...774KB:04/09/24 23:35:04 ID:um2Dkxwi
what?
9367:04/09/25 00:41:59 ID:Oiq+OTtD
>>81-82
ありがd。
_rootとかは何とかなるかもしれなかったけど、
意味からはググれないもん。
94Now_loading...774KB:04/09/25 10:44:25 ID:rJjStpqx
ファイル数の取得について質問です。

imgview.swf
[img](フォルダ)
├img0001.jpg
├img0002.jpg
├img0003.jpg
 ・
 ・
 ・

上記のようなディレクトリ構成で、
img####.jpgの連番が何番まであるかを取得するには
どうしたら宜しいか解りますか?

1.ロードしてロード出来たらtrue、
2.出来なかったらfalse、
3.falseを返してきたら終了しそこまでのカウントを表示
で出来そうなのですが、色々やってもうまく行かずで…。
何方かお解りになりましたらご教授よろしくお願いします。
95Now_loading...774KB:04/09/25 12:16:47 ID:CURZQjNc
>94
FlashMX2004でMovieClipLoader.loadClip()を使用してください。
96Now_loading...774KB:04/09/25 16:45:56 ID:rJjStpqx
>>95
その関数は一つのMCに
複数の画像を読み込む為の物ではないですか?
ディレクトリ内の連番ファイルの終わりをチェックするのとは別っぽかったのですが…。
97Now_loading...774KB:04/09/26 00:20:07 ID:8F0G0qk/
>96
違います。
外部ファイルの読み込み判定ができます。ヘルプ読んでください。
98Now_loading...774KB:04/09/27 22:23:44 ID:jO+RH9Dj
if (hensuu=="次へ"){
}
こういうのって日本以外のflashplayerで実行できますか?
99Now_loading...774KB:04/09/28 03:41:27 ID:wV/rxIYb
MXでXpです。
片端を軸に90度まで動く直線のMCを作りたいのですが、
下記のコードでは、だんだんと振れ幅が大きくなってしまいます。

onClipEvent (load) {
cnt = 1;
// 角度
deg = 0;
// 度数をラジアンに変換
rad = Math.PI/180*deg;
}
onClipEvent (mouseMove) {
this.degree._x = this.degree._x+Math.cos(rad);
this.degree._y = this.degree._y+Math.sin(rad);
// 90度回転すれば逆移動
if (deg == 90) {
deg = 270;
cnt = cnt*-1;
} else if (deg == 180) {
deg = 0;
cnt = cnt*-1;
}
deg = deg+cnt;
rad = Math.PI/180*deg;
// MCを回転
this.degree._rotation = deg;
}
ずれない様に回転させるには、どうしたら良いか教えてください。
お願いします。
100Now_loading...774KB:04/09/28 05:07:27 ID:vh6krghu
this.degree._x = this.degree._x+Math.cos(rad);
this.degree._y = this.degree._y+Math.sin(rad);
正移動時のときと逆移動時のときのdegree.x、yの総増減量が違うんでしょう。
101Now_loading...774KB:04/09/28 06:14:04 ID:g2CbEIHL
>100
レスありがとうございます。
申し訳ないのですが、なぜ総増減量が違ってくるのか教えて下さい。
逆向きにすれば増減量は同じなのでだと思っていたんですが、
テキストに書き出してみたら90,180,270度の時、値が0、1の整数とは限りませんでした。
(単位円とか授業で習った覚えのあるもので考えてたんですが。。。)
できれば、もっと簡単な方法があったら知りたいです。コードも汚いと思いますし。
102Now_loading...774KB:04/09/28 10:39:11 ID:vh6krghu
円ならこう書いたほうが
this.degree._x = 100*Math.cos(rad);
this.degree._y = 100*Math.sin(rad);
103Now_loading...774KB:04/09/28 11:34:15 ID:FV9RvCYO
ってか90度まで動くってどういう意味?
90度まで回転だとラジアンが出てくる意味が分からないし・・・。
104Now_loading...774KB:04/09/28 16:48:10 ID:dElEJMvb
説明下手ですみません。
ttp://49uper.com:8080/html/img-s/12439.png
図で表すと、こんな感じな事をしたかったで、
ttp://49uper.com:8080/html/img-s/12440.png
自分の考えでは、こうすればどうかと思いまして、
三角関数は必要かな、と。

>102
それでも総増減量は変わらない様な…
105Now_loading...774KB:04/09/28 17:27:56 ID:WCvaQzba
>104
ttp://www.geocities.jp/tra_fla/ro.swf
こういう動き?うーん俺まだ勘違いしてるかも・・・。
↑ならmcの中心点を端にするってのはだめなの?
106Now_loading...774KB:04/09/28 17:41:30 ID:k6Q+eWy+
>>104
作ってみたけど、どうやら>>105さんと同じようだ。
中心点は端。
ttp://49uper.com:8080/html/img-s/12447.swf
107Now_loading...774KB:04/09/28 17:49:19 ID:oIMZltW2
そんな感じです。
    /\___/ヽ   ヽ
   /    ::::::::::::::::\ つ
  . |  ,,-‐‐   ‐‐-、 .:::| わ
  |  、_(o)_,:  _(o)_, :::|ぁぁ
.   |    ::<      .::|あぁ
   \  /( [三] )ヽ ::/ああ
   /`ー‐--‐‐―´\ぁあ

…そうか。
なんて事だ! 一日の努力は無駄だったって事か。
ありがとうございました。吊ってくる。
108Now_loading...774KB:04/09/28 18:03:26 ID:MPi8ontc
ASで、フレームラベルから、そのフレームNoを数値として取り出すことはできるでしょうか?

やりたいこと:
複数フレームに渡っているボタンのアクションで
on ( release ){
if ( _currentFrame == "label1" ) { ...

環境はFLASH MX/Win2Kです
109Now_loading...774KB:04/09/28 19:58:12 ID:LL19k2ol
>108
できません。
そのフレームラベルのフレームへジャンプして
_currentFrameを取得するしかないかも。
110Now_loading...774KB:04/09/29 13:05:46 ID:1X8zfyLJ
varで宣言していないにもかかわらず、使用している変数を調べる方法ってありますか?
111Now_loading...774KB:04/09/29 13:24:21 ID:vKlGAtih
質問させてください。
使用OS:WIN98 、 使用バージョン:MX
やりたい事:定義しておいた数種類の関数をランダムに実行させたい。
目的:パズルのシャッフルに使います。

やってみた事:ランダムで数値を取得、繰り返しで配列内から拾ってきて実行させようと思いました。

a= new Array(kansu1(),kansu2(),kansu3(),kansu4(),kansu5(),kansu6())
for(hoge=0;hoge<50;hoge++){
b=Math.floor(Math.random()*6)
a[b]}

kansu1〜kansu6は定義してあり、正常動作の確認は取りました。

このように試してみたのですが、for内での関数実行がなされていないように思えました。
以前に初心者スレで質問したのですが、自分で再度試して失敗した為、再びこちらで質問させてもらおうと思います。
何が問題なのか。またどのようにすれば目的通りに動くようになるか、アドバイスをよろしくお願いします。
 
112Now_loading...774KB:04/09/29 13:48:10 ID:BxfjdzrC
>>111
自分なら6個ぐらいだったらswitchで分岐させるな。
switch b{
case 0: kansu1();break;
case 1: kansu2();break;
case 2: kansu3();break;
case 3: kansu4();break;
case 4: kansu5();break;
case 5: kansu6();break;
}
113112:04/09/29 14:18:42 ID:BxfjdzrC
括弧をつけわすれた。
switch (b)
ね。(´・ω・`)
114Now_loading...774KB:04/09/29 14:35:16 ID:vKlGAtih
>>112
本当にありがとうございました。

for(hoge=0;hoge<1000;hoge++){
b=Math.floor(Math.random()*5)
switch(b){
case 0: kansu1();break;
case 1: kansu2();break;
case 2: kansu3();break;
case 3: kansu4();break;
case 4: kansu5();break;
case 5: kansu6();break;}}

で完璧に目的通り動くようになりました!!!
switch文は初めて使ったので、勉強になります!!
本当にありがとうございました。
115Now_loading...774KB:04/09/29 16:28:49 ID:5B9Axvb5
似たような動作の関数ならクラス定義するってのも
116Now_loading...774KB:04/09/29 17:09:19 ID:BxfjdzrC
>>114
random()は1未満の数字を返すのでrandom()*5だと5未満(整数部は4)になる。
それをfloorすると0から4の整数になるので注意が必要です。
117ども:04/09/29 17:18:26 ID:ENnJrOqc
MXのデモ版いじってます。

ASのありネタで遊んでるのですが
配置された多数のシンボルのスクリプト内の数値を一気に置換するにはどうすればいいのでしょうか?
今のところ1シンボルごとに手作業でタイプしています。

どなたかご存知の方 おながいします。
118Now_loading...774KB:04/09/29 18:44:02 ID:ef7JtCeO
MacOSX10.2、FlashMXです。

ローカル環境で、ボタンをクリックすると
直接PDFファイルを開くようにしたいのですが
on (release) {
fscommand("exec", "○○.pdf");
}

と、ボタンに記述してもダメでした。

どなたかアドバイスをお願いします。
119Now_loading...774KB:04/09/29 18:47:05 ID:Zg/6Bh66
FlashMX2004 WINXP
on(press){
getURL('http〜(b.swf内にあるb.text).htm')
}
みたいな感じで、別のswf内にあるb.textの値を読み込ませたいのですが
可能でしょうか?単純に

on(press){
getURL('http//www.ahoaho.'+http://www.uhuhu.swf.b.text+'.html)
}
と試してみたが、だめでした。b.swf内のb.textには[index]と入れてあり、
開きたい目的のURLは[http://www.ahoaho.index.html]です。b.swfへのパス
も、フルパスにしたいです。可能であれば、どなたかご教示下さい。
120Now_loading...774KB:04/09/29 22:00:08 ID:2QDmuHgm
やりたいことがわからない。
b.swfはすでに読み込んであるの?
121Now_loading...774KB:04/09/29 22:09:20 ID:2QDmuHgm
>>117
一つのシンボルから多数のインスタンスを作っているという意味なら、
そのシンボルのフレームアクションにスクリプトを書けばすべてに反映されます。
シンボルが複数あるという意味なら、_rootあたりにhoge=30;のように書いておいてそれを参照させればいいと思います。
>>118
on(press){
getURL("hoge.pdf");
}
122108:04/09/30 11:04:04 ID:11xWA62b
>>109
ご回答ありがとうございました! できないのか・・・
123118:04/09/30 13:32:33 ID:LAMCDKTI
>>121
アドバイスありがとうございます。
しかしながら、getURLを使うと、ブラウザが立ち上がってしまいます。
直接PDFファイルを開くようにしたいのですが・・・

ムリなんですかねぇ・・・。
124Now_loading...774KB:04/09/30 14:04:30 ID:TwTjs0mP
>>123
SWF内のボタンを押すとウィルス実行とか。楽しそうだね。
125Now_loading...774KB:04/09/30 14:37:43 ID:05oz4ZNo
>124
既にやってるヤツいるし。
126Now_loading...774KB:04/09/30 17:37:34 ID:bOVTgEmd
>123
Directorをからませればできるかな。
持ってないからやったことないけれども。
127Now_loading...774KB:04/09/30 19:15:51 ID:TFGxJOej
FLASHでメールフォームを作ることは可能でしょうか?
もし可能でしたらscriptの記述も教えて下さい。
よろしくお願いいたします。
128Now_loading...774KB:04/10/01 00:48:54 ID:Jst5Mqgz
>127
CGIと連携させる必要があり、
一口でどう書いたらいいか言えない量なので
色々調べてから、わからない部分を聞いてください。
129Now_loading...774KB:04/10/01 17:25:12 ID:fBdo7etn
FlashMX2004で、Windows2000です。始めたばかりの初心者です。
立方体のそれぞれの角に球が置いてあり、その立方体がマウスによって回転するというものがあるのですが、
この立方体の辺上を単振動で玉が行ったり来たりして、それも一緒に回転させたいのですが(説明下手で申し訳ありません)
どうしたら良いでしょうか??
130続き:04/10/01 17:26:16 ID:fBdo7etn

(本体のAction script)
//ポイントの数
var max:Number = 8;
var vp:Number = 150;
var rx:Number = 0;
var ry:Number = 0;
var rz:Number = 0;
var centerX:Number = 300/2;
var centerY:Number = 225/2;
var mousex:Number = this._xmouse;
var mousey:Number = this._ymouse;
var st:Object = { centerX:centerX , centerY:centerY , vp:vp };

var threeD:threeD_class = new threeD_class();

var p:Array = new Array();
131続き2:04/10/01 17:26:43 ID:fBdo7etn
p[1] = [-40,-40,-40];
p[2] = [40,-40,-40];
p[3] = [40,40,-40];
p[4] = [-40,40,-40];
p[5] = [-40,-40,40];
p[6] = [40,-40,40];
p[7] = [40,40,40];
p[8] = [-40,40,40];

for (n=1; n<=max; n++) {
var obj = this.point.duplicateMovieClip("point" + n, n);
obj.px = p[n][0];
obj.py = p[n][1];
obj.pz = p[n][2];
}

132続き3:04/10/01 17:28:05 ID:fBdo7etn
function rot_matrix(target,all){
for (n=1; n<=all; n++){
var obj = eval("_root." + target + n);
var pObj:Object = { px:obj.px , py:obj.py , pz:obj.pz };
pObj = threeD.rotate(pObj,rx,ry,rz);
obj.px = pObj.x;
obj.py = pObj.y;
obj.pz = pObj.z;
threeD.henkan(obj,obj.px,obj.py,obj.pz,st);
}
}

var tName:String = "point";

this.onEnterFrame = function(){
rot_matrix(tName,max);
ry = (centerX-this._xmouse)/1000;
rx = (centerY-this._ymouse)/1000;
}

this.stop();

133続き4:04/10/01 17:28:45 ID:fBdo7etn
(クラス定義)
class threeD_class extends MovieClip{

function rotate(ob,rx,ry,rz){
var qx:Number = ob.px;
var qz:Number = ob.pz;
var qy:Number = ob.py;
134続き5:04/10/01 17:29:29 ID:fBdo7etn
ob.pz = qz*Math.cos(rx) - qy*Math.sin(rx);
ob.py = qy*Math.cos(rx) + qz*Math.sin(rx);
qy = ob.py;
qz = ob.pz;
ob.px = qx*Math.cos(ry) - qz*Math.sin(ry);
ob.pz = qz*Math.cos(ry) + qx*Math.sin(ry);
qx = ob.px;
qz = ob.pz;
ob.px = qx*Math.cos(rz) - qy*Math.sin(rz);
ob.py = qy*Math.cos(rz) + qx*Math.sin(rz);
135続き6:04/10/01 17:30:00 ID:fBdo7etn
return {x:ob.px,y:ob.py,z:ob.pz};
}

function henkan(pass,xx,yy,zz,status){
var k = status.vp/(status.vp - zz);
pass._x = status.centerX + xx * k;
pass._y = status.centerY - yy * k;
pass._xscale = pass._alpha = 100 * k;
pass._yscale = 100 * k;
pass.swapDepths(zz);
}
}

です。長々すみません…。
136Now_loading...774KB:04/10/02 10:42:52 ID:gkseAS65
初めまして、よろしくお願いします。
只今、対戦ゲームを作ろうとしてHPメーターを作成しています。
ですが、ダメージを受けるとHPメーターがずれてしまいます。
どうすればずれないようになるでしょうか。教えてください!

http://crafts.jp/~pisyupi/test.swf ←問題のHPメーター
137Now_loading...774KB:04/10/02 10:44:10 ID:gkseAS65
138Now_loading...774KB:04/10/02 10:47:09 ID:spGktwKx
>>137
マスク使って、HPゲージのMCを左に動かすようにすれば良いんでない?
139Now_loading...774KB:04/10/02 11:30:19 ID:gkseAS65
>>138
ありがとうございます!本当に物凄い勢いで驚きました・・・。
140Now_loading...774KB:04/10/02 16:28:10 ID:VLoS7aZb
>>129-135 質問する人はageないと。
コードが見づらく解かり辛い 注釈くらい入れてくれ。
....とエラそうな事をほざきましたが私にはチェックする気力がない。
ここは参考になるかな?
ttp://mj12.ath.cx/mj12/banze_tipz/flash_tipz.html#simple3D
141Now_loading...774KB:04/10/02 21:01:06 ID:1DhQshGp
質問なんですが、外部テキストを読み込むflashを作りました。

サーバに上げてテキストファイルのみを更新した場合、
更新以前の内容がキャッシュに残っているせいで更新が反映されない場合があります。
キャッシュを無視して常にサーバから最新のテキストを読み込ませる方法はあるでしょうか?

WinXP,MX2004という環境です。
142Now_loading...774KB:04/10/02 22:20:11 ID:8WM/2FFI
>141
URLのあとに?+ランダム変数値を付与して解決します。

var url = "http://www.xxx.com/a.text?" + ( Math.random() * 10000 );

こんな感じで
143142:04/10/02 22:51:10 ID:8WM/2FFI
修正
こうでした

var url = "http://www.xxx.com/a.text?" + Math.floor( Math.random() * 10000 ) + 1;
144Now_loading...774KB:04/10/03 00:06:51 ID:DtEPxUzQ
>>142-143
なるほどー!天才ッ!(質問主ではないです)
145Now_loading...774KB:04/10/03 01:14:40 ID:ZVaOBTZU
flashのなかにAds by Googleのバナーを仕込む方法はありますか?
flashmxです。
146Now_loading...774KB:04/10/03 01:31:03 ID:6V4VNXN6
Ads by Googleがどんな仕組みかわかりませんが
Amazonみたいに広告のリンクURLが自分で設定できるならば可能です。
147141:04/10/03 01:36:37 ID:EWhVLXJ9
なるほど。
ありがとうございました
148Now_loading...774KB:04/10/03 17:55:50 ID:u4p8P9zs
最大値がある数字aであるランダムで決められた5つの数字の合計値を、
ある数字aと一致させたいと思っています。(a=a1+...+a5, an=[0,1...a])
現在、
hoge=30;
numarray=newArray();
while(sum!=hoge){
for (i=0; i<5; i++) {
sum=0;
numarray[i] = Math.floor(Math.random()*hoge);
sum += numarray[i];
}
}
という方法しか思い浮かばないのですが、これはかなり危うい力技かと思います。
もっとスマートで安全な方法があれば教えてください。
149Now_loading...774KB:04/10/03 18:37:08 ID:mOraBc4V
>>148
最大値がaで合計がaってのがわからない。
んで、a=hoge=30 なのかな?

もう一度質問を分かりやすく書き直してほしい。
とりあえず、aを5で割って、平均値から補正して行く方向で作るにしても、
やっぱり質問を書き直して欲しい。
150Now_loading...774KB:04/10/03 18:47:03 ID:u4p8P9zs
>>149
どうもすいません。a=hoge=30です。
この例の場合だと、0〜30の範囲の数字を5つ用意して、
なおかつその数字の合計も30になるようにしたいのです。(5+20+2+2+1=30のように)
151Now_loading...774KB:04/10/03 19:33:24 ID:mOraBc4V
>>150
5つくらいなら、手書きで一つずつ発生させるのも悪くないんでないかな。

hoge = 30
a=Math.ceil(Math.random()*30)
b=Math.ceil(Math.random()*(hoge-a))
c=Math.ceil(Math.random()*(hoge-a-b))
d=Math.ceil(Math.random()*(hoge-a-b-c))
e=hoge-a-b-c-d

これがスマートかどうかは知らないけど、こんな方法はダメなのかなぁ。
一応確認したら大丈夫だったけど。
プログラムとしてスマートかどうかは分かりかねる。
152148:04/10/03 20:20:08 ID:u4p8P9zs
その方法だとa〜eの期待値が一致しませんでした。
(0〜100の範囲で10000回試行した結果、平均値が
a=49.4442  b=24.701  c=12.256  d=6.3401  e=7.2587)
情報不足ですいません、a〜eの期待値を同じにしたいという条件も追加させてください。
153Now_loading...774KB:04/10/03 20:27:40 ID:mOraBc4V
>>152
そりゃそうでしょう。
発生させるだけで終わりにしてますんで。

たとえば、a-eを配列に押し込んで、その配列をシャッフルする事で偏りを無くす事も可能ではないでしょうか?
154Now_loading...774KB:04/10/03 20:49:25 ID:k+AoF1n2
>たとえば、a-eを配列に押し込んで、その配列をシャッフルする事で偏りを無くす事も可能ではないでしょうか?
ID:mOraBc4Vさんは頭がいいね
155Now_loading...774KB:04/10/03 23:00:26 ID:k+AoF1n2
っていうか a〜eの期待値が同じ だったら無理だと思うんですけど・・・
156Now_loading...774KB:04/10/03 23:21:38 ID:Lvh07H/x
考えただけで頭痛くなってきたので 無理ということで。
157Now_loading...774KB:04/10/03 23:29:20 ID:Z2p27u1W
だからの配列の中身をシャッフルすりゃいいじゃん
158129-135:04/10/04 00:02:23 ID:hC6hJLhL
レスありがとうございました。
注釈入れ忘れてすみません。わかりづらいですよね…。
そのサイト見ました。が、私には複雑すぎて理解できないのです…。
129-135に単振動のscript+3D回転させる方法はありますでしょうか?
159Now_loading...774KB:04/10/04 00:19:37 ID:PgJdbdJt
>>158
複雑ではないよ・・作者の作った Eventなんとかっていう機能が
コードをややこしく見せているだけ。 外してどんどん単純化していけば
理解しやすくなるはず。

160Now_loading...774KB:04/10/04 09:41:37 ID:PgZpQcJN
個人的に はーぼっとのようなものを作りたいのですが
データのセーブの方法がわかりません
ローカルのだと 見た人にしか反映されませんし
cgiをつかったほうほうを解説しているサイトなどないでしょうか?
コンポーネントあると楽ですけど・・
161Now_loading...774KB:04/10/04 10:25:39 ID:U5CTZkHT
>160
「Flash CGI 連携」でググって見ると吉
162Now_loading...774KB:04/10/04 12:51:37 ID:Rwp8CvzN
>>159
>Eventなんとかっていう機能
これ自体はあまり意味のないscriptなんでしょうか?
このFLASHの中に跳ねているボールを取り除き、
//単振動
onClipEvent(load){
time = 0;
}

onClipEvent(enterFrame){
time += 1;
sinpuku = 40;
kakusokudo = 10;
omega = Math.sin(Math.PI/180*kakusokudo*time);
tansindou = sinpuku*omega;
_x = 1+tansindou;
}
163続き:04/10/04 12:52:05 ID:Rwp8CvzN
を組み込むことは可能ですか??
164162-163:04/10/04 12:53:49 ID:Rwp8CvzN
日本語おかしくなりました。
このFLASHの中に跳ねているボール→このFLASHで立方体の中で跳ねているボール
165Now_loading...774KB:04/10/04 13:39:48 ID:U5CTZkHT
>164
イメージがちょっとわかないなあ。
単振動ってここの動きみたいなものですよね。
http://www2s.biglobe.ne.jp/~butsuri/muryo/tanshindou/tanshindou.html

角に玉があるのに、辺上をこのように単振動させるというのが
どんなものなのかわかんねえです。
166162-163:04/10/04 13:47:25 ID:Rwp8CvzN
>>165
そうです。その角の玉と玉の間をまた別の玉が行ったり来たりするといえば伝わりますかねぇ…。
言葉でイメージ伝えるの難しいorz
167Now_loading...774KB:04/10/04 16:46:00 ID:U5CTZkHT
>166
スクリプトとかまったく考えておらずのあてずっぽうかもしれないけれども

上に挙がっているサンプルのsimple3Dで
ライン(各辺)を引いている処理部分があると思います。
多分そのラインの回転処理は
そのラインを引く処理を呼び出している親側で行っていると思うので、
そのラインを引いている処理部分に単振動処理を加えれば
回転処理も自動で行ってくれそうな気がします。
168Now_loading...774KB:04/10/04 17:03:37 ID:7u3oC+GU
>>162 >これ自体はあまり意味のないscriptなんでしょうか?
その通り イベントを管理する為のモノ(らしい) あのスクリプトでは
1個しか走ってないから取っても平気 とにかく人の作ったコードを解析するのも勉強だ
3Dをやろうって人間がアレを理解できないなんて...3Dをナメんなァっ!

・・・という漏れも3Dを勉強中 お互いがんがろー
169Now_loading...774KB:04/10/05 01:00:17 ID:KFLGcpGe
flashってそれほどポリゴン数でないってきいたけど実際どうなの?
170Now_loading...774KB:04/10/05 01:29:16 ID:kr0jZIYj
>169
Flashは全部2Dですよ。
171Now_loading...774KB:04/10/05 08:30:14 ID:kv8k20Hx
Flashで3D Script組んで面も描画した場合の
影のつき方の計算方法ってどこかにTips無いでしょうか?
172Now_loading...774KB:04/10/05 21:12:00 ID:hDkGuG0c
テキストファイルをFlashファイルの中に入れるにはどうすればいいでしょうか?
読み込みで読み込もうとしてもエラーが出てライブラリに読み込めません。
テキストを人が勝手に見たり書き換えたりできないようにしたいです。
FlashMX2004 Proです。お願い致します。
173Now_loading...774KB:04/10/06 01:30:18 ID:wRy39YZ4
>172
テキストファイル自体はFlashファイル内のライブラリには
どうやっても読み込むことはできません。
テキストファイルの内容ならば スクリプトを用いて読み込むことは可能です。
1741/2:04/10/06 22:26:04 ID:hgbbYLFn
ムービークリップを縦に座標200,240,280と矢印キー(上下)で動かしたいのですがなかなかうまくいきません。
下記のソースを、ムービークリップの1フレーム目にはると、
最初240の位置、矢印キーの押した方向に移動し、次におしたキーと逆のキーをおすと240の位置にもどるようにしたいのですが、
最初にキーで移動したときと真逆の座標へいってしまいます。(例 240→200(↑キーを押した)→280(↓をおすと240にいってほしいのに280になる)→240→280・・)
//座標
myY = new Array(200, 240, 280);
this._y = myY[1];
this.onEnterFrame = function() {
myListener = new Object();
myListener.onKeyDown = function() {
switch (Key.getCode()) {
case Key.UP :
Ido("up");
break;
case Key.DOWN :
Ido("down");
break;
}
};
1752/2:04/10/06 22:26:42 ID:hgbbYLFn
Key.addListener(myListener);
};
//キーをおされた時の処理
function Ido(key) {
nowY = 1;
if(key == "up"){
nowY--;
this._y = myY[nowY];
}
if(key == "down"){
nowY++;
this._y = myY[nowY];
}
}
どうか、うまくできないでしょうか。
176Now_loading...774KB:04/10/06 22:39:00 ID:wRy39YZ4
>174
>nowY = 1;
この行がよろしくないですね。
177Now_loading...774KB:04/10/07 10:18:45 ID:KvMQvnDz
>>175
if(nowY < 0) と if(nowY > 2) のときの処理も必要です。
178Now_loading...774KB:04/10/07 12:53:36 ID:mVPiudJK
すいませんが質問させてください。

loadVariablesNum("aaa.php", 0, "POST");
if (flag) { gotoAndStop(3); }
このように、フレームアクションに記述してあり、
それで、aaa.phpには、Flashで入力させた変数の正当性を判断させ、
正しくなければflagにfalseを返すようにしています。
そして、メインのタイムラインは |1|2|3| のようになっていて、
1にあるボタンを押すとplay();するようになっていて、
2にこのフレームアクションが記述してあります。
そして、1,2,3共にstop();を入力してあります。(3は必要ないですが・・・・)

このムービーを実行すると、2でとまってしまい、3に行かずうまくいかないのです。
どうすればいいのでしょうか・・・心底困っています・・・・
179フサ:04/10/07 13:18:46 ID:MvHAZfaF
>178
  ∧,,∧  PHPにアクセスして、その結果を取得するまで
 ミ,,゚Д゚彡 待機する必要有
 (ミ   ミ)
  ミ   ミ  if文の前に trace( flag ); を行ってみると
  ∪ ∪   flagの内容が空っぽなのがわかりますよ
180Now_loading...774KB:04/10/07 20:08:07 ID:6Q1++YQ0
ボタンシンボル内で変数 a を置いて ボタンが押されるとMCが動いて
MC内で a = a + 1 と書いてもボタンのaの値に反映されません・・
シンボル内の変数はそのシンボル内でしか使えないのでしょうか?
181Now_loading...774KB:04/10/07 20:46:58 ID:6Q1++YQ0
パスを使うんですね・・・わかりました。すみません
182Now_loading...774KB:04/10/08 00:19:31 ID:JJdXoduT
Flashのスタンドアーロンプレイヤーの入手方法知ってる人いますか?
Macromedia Flash に梱包されているSAFlashPlayer.exeっていうやつで
Flash持ってる人がswfを開くと起動するやつ。

Macromedia Flash持っていない普通の人がswfを起動すると
ブラウザが立ち上がってしまうんですが、
スタンドアーロンのほうが再生速度が明らかに上なんですよね。
Player6時代のものは単体で配布していたらしいのですが
Player7になってからは、開発者でないと
手に入らなくなってしまったのでしょうか?
183Now_loading...774KB:04/10/08 00:36:32 ID:jL4w3D8d
>>182
FLASH MX 2004の体験版をダウンロードすると幸せになれます
184Now_loading...774KB:04/10/08 00:55:15 ID:JJdXoduT
>>183
やっぱそれしか無いでしょうかね。
185Now_loading...774KB:04/10/08 01:48:53 ID:NNq+mzGy
>183
  ____∧∧
〜' ____(,,゚Д゚) < exeに書き出しする
  UU    U U
186185:04/10/08 01:49:55 ID:NNq+mzGy
アンカーミス
>182ね
187Now_loading...774KB:04/10/08 02:55:30 ID:JJdXoduT
>>185
スバラシイ!確かに。
それでスタンドアーロンと同時配布するのと同じになりますね。
ありがとうございました。
188Now_loading...774KB:04/10/08 23:04:39 ID:8FlqZjk4
>>187
これはお前の物語だ
189Now_loading...774KB:04/10/09 01:44:18 ID:p0eAcgXP
>188
  ____∧∧
〜' ____(,,゚Д゚) < 古い
  UU    U U
190Now_loading...774KB:04/10/09 11:14:08 ID:yXy5JXPz
ifとかforの省略形の書き方ってどうやればいいんでしょう?

if( i<10 ){
x=i
i++
}



if i < 10 : x=i : i++
(これはうろ覚えなのでエラー出ます)

のような感じに略して書いてるのを見たことがあったのですが、
よく覚えてなくて。
191Now_loading...774KB:04/10/09 11:35:37 ID:cFSpMk6c
>>190
if i<10 ? [ture] : [false];
だったような
192Now_loading...774KB:04/10/09 12:47:23 ID:5I77q0ki
>>190
if要らんよ。
三項演算子だけどifの省略形ではないのと、流れがわかり難くなるので、
その例みたいな用途にはあまり使わない方がいいと思う。
ちなみにその例だと
x = (i<10)?i++:x;
と書ける。
forの省略形ってのは何を指すのか判らん。
193Now_loading...774KB:04/10/09 14:18:01 ID:rgKgOhw4
WinXP,MX2004という環境で作っています。

質問なのですが、ムービークリップをhitTestでボタン化して、
それにカーソルが乗ったら特定の文字列などをシンボル化したテキストに送りたいと思っています。
自分で書いたスクリプトは以下です。
尚、製作の都合上、タイムライン3で止めています。
上記のシンボルもすべてタイムライン3においてあります。

--------------------
/*タイムライン1*/
loading = Math.floor( (getBytesLoaded()/getBytesTotal() )*100)+"%"; //DL量の確認

/*タイムライン2*/
if (loading == "100%" && check == 1) { //100%DLできるまでループ
} else {
gotoAndPlay(1);
}

/*タイムライン3*/
stop();

/*ボタン*/
onClipEvent (mouseMove) {      //マウスカーソルが動いて↓
 if (hitTest(_parent._xmouse, _parent._ymouse, true)) { //ボタンと重なっていたら
  text = "特定の文字列"; //文字を送る
 }
--------------------

尚、シンボル化したテキストの変数名は"text"としてあります。
194Now_loading...774KB:04/10/09 14:32:10 ID:yXy5JXPz
>>191
>>192
ありがとうございます。出来ました。

実際には未定義の変数にとりあえず0を入れるっていうのを、
if(!x){var x:Number=0}
としてたのですが、確か簡単な書き方があったはずと思い、
気になって調べてたのです。

http://www.google.co.jp/search?q=cache:kDPiL4HzzjEJ:www.karadesign.com/designwedge/backnumbers/0057.shtml+action+script+%E7%9C%81%E7%95%A5%E5%BD%A2%E3%80%80%E8%A8%98%E8%BF%B0+flash&hl=ja
これを見てpythonの記述方式みたいなものなのかなと勘違いしてました。
なので、forの〜となってしまったわけです…。
195Now_loading...774KB:04/10/09 16:22:26 ID:ghz/hlUC
環境:WindowsXP-MX2004

1000x1000(pix)程度のMC(base)を、

onClipEvent (enterFrame) {
 if (Key.isDown(Key.LEFT)) {
  _root.base._x += 10;
 } else if (Key.isDown(Key.RIGHT)) {
  _root.base._x -= 10;
 }
}

とやって、移動させると、数回移動後に移動速度が
急激に遅くなったり、移動しなくなったりしてしまいます。

keyPressを使った場合には、処理速度は問題無いのですが
キーリピートがかかるまでの待ち時間が、気になります。

何か良い解決方法、ありませんでしょうか。
196Now_loading...774KB:04/10/09 17:28:40 ID:FI9GFwGu
別スレで相手にされなかったので、こちらにて質問させて下さい。

loadvariablesを使って外部テキストを読み込むように、
htmlファイルを読み込むことは可能でしょうか?
197Now_loading...774KB:04/10/09 20:03:22 ID:Z3u4q1g/
質問させていただきます。
フラッシュ製作ソフトはマクロメディア以外の会社は出していますか?
あとだいたいその製品の値段はどのぐらいしますか?
198Now_loading...774KB:04/10/09 20:07:41 ID:SgOvgtEW
ローディング時のプログレスバーの作り方を書いているページを知りませんか?
検索しても、見つからなくて。
199Now_loading...774KB:04/10/09 22:11:23 ID:0zYmz5Q5
>>197
スレタイ:ActionScript 誰かが物凄い勢いで解答するスレ 4
このスレはActionScriptに関する質問をするスレです。
要するに 板  違  い
200195:04/10/09 23:13:37 ID:ghz/hlUC
物凄い勢いを期待して待ってます。
201Now_loading...774KB:04/10/10 04:19:43 ID:4rZSuh91
>>195普通に動くだろとおもったけど
flaで一応試してみた
やっぱり普通に動いた。
202Now_loading...774KB:04/10/10 04:29:24 ID:gBZ+c6ZI
>199
熱く語ってるとこ悪いんだが「スレ違い」 だろ。

ソフトウェア板池ってんなら板違いになるけどさ
203Now_loading...774KB:04/10/10 12:54:14 ID:4rZSuh91
>>196htmlはタグごとかな?
CGI,PHP,ASPのどれかでloadvariablesで読み込めるように加工してやれば可能
204193:04/10/10 13:16:16 ID:QkjBcydl
>>193もお願いします・・・
205195:04/10/10 13:21:15 ID:do/rGa+l
>>201
ありがとうございます。
問題の切り分けができました。

1000pixというのが問題では無かったようです。
15x15(pix)のMCにリンケージを設定して、それをステージ上に
attachMovieで2500個程、配置しているのが原因でCPU使用率が100%に...

CGIで変更されたデータを初回だけ読み込むものなので
attachMovieの後に、これを一つのMCにする等、処理を軽くする方法が
ありましたら、ご教授下さい。
206Now_loading...774KB:04/10/10 13:38:46 ID:OSmhOfw+
>>205
2500個も複製すりゃ何をどうやっても重くなる
ひとつのMCにしても無駄だ
制作意図が根底から間違ってる
やりなおし!
207Now_loading...774KB:04/10/10 13:55:27 ID:4rZSuh91
>>193MCなんでボタンと違って階層概念が発生する
なんで_parent.textか_root.textにする。
あとテキストインスタンスのtextに表示するにはtext.textとしないとだめ

_root.text.text = "特定の文字列";と変更
208Now_loading...774KB:04/10/10 13:57:35 ID:4rZSuh91
>>205fpsを小さくしても問題ないなら出来るだけ小さく。シンボルにした図形を出来るだけ簡略
209195:04/10/10 14:00:19 ID:do/rGa+l
>>206
ありがとうございます。

やはり、そうですか...
15x15(pix)程度の画像を、横に50・縦に50敷き詰める
という部分に、attachMovieを使用していました。

検索をしてみた所、シェイプだと重くならないという情報を
見つけましたが、リンケージを設定する事ができません。
どういう命令を使えば、最適な処理となるのでしょうか?
210Now_loading...774KB:04/10/10 14:46:04 ID:EGx0ufoD
>>196
MX2004なら出来る。外部htmlと外部CSSを読み込み独自の定義を使えば
IMGタグも使えるよ。
211193:04/10/10 15:14:32 ID:phJJRjy2
>>207

できました、ありがとうございます。
しかしもう一つ問題が発生してしまいました。

ボタンは1つではなく複数あるのですが、
一つのボタンしか特定の文字列をテキストインスタンスに送れないんです。

ボタンはすべて共通のシンボルで、インスタンス名に1〜*で指定しています。
212Now_loading...774KB:04/10/10 18:11:37 ID:OSmhOfw+
>>209
10000pxのMCを動かすってのはステージサイズも10000pxなのか?
そうでなければ他に対処の方法があるだろ!
213Now_loading...774KB:04/10/10 20:09:38 ID:NO09VXCB
>193,211
  ∧,,∧  他のボタンMCにも同じスクリプト書いているのなら
 ミ,,゚Д゚彡 複数同じMCがあっても問題なく表示されます。
 (ミ   ミ) 
  ミ   ミ  各ボタンのインスタンス名は
  ∪ ∪   今回はまったく関係ないです。
214Now_loading...774KB:04/10/10 20:26:01 ID:NO09VXCB
>195,209  
>検索をしてみた所、シェイプだと重くならないという情報を
>見つけましたが、リンケージを設定する事ができません。
>どういう命令を使えば、最適な処理となるのでしょうか?

  ∧,,∧  
 ミ,,゚Д゚彡 意味がちょっとわからないです。
 (ミ   ミ)  シェイプって何のこといっているのでしょうか。
  ミ   ミ  今までビットマップ使っていたということですかね?
  ∪ ∪  
215193:04/10/10 20:37:23 ID:phJJRjy2
>>213

まったく関係ないと言われてもできないんです。
スクリプトをコピペしても正常に動くのは1つだけ。
他の部分にバグがあると考えた方がいいんでしょうか?
216Now_loading...774KB:04/10/10 20:50:57 ID:/j9h0Fv1
>>209
シェイプとかそういう問題じゃないだろ。
どうやっても処理は重くなると思うよ。

>15x15(pix)程度の画像を、横に50・縦に50敷き詰める
これで何がしたいのかを書けば別な方法で実現できるアドバイスがあるかもよ。
217Now_loading...774KB:04/10/10 21:01:56 ID:VNhNCi/D
>>215
ClipEventはそんなにたくさん発生しないんじゃなかった?
218195:04/10/10 21:10:10 ID:do/rGa+l
>>212
>>214
>>216
ありがとうございます。

内容としては、地図の地面のような背景チップA(15x15pic)を
画面に敷き詰めて、キー入力によって動かそうとしているのです。
背景チップAの配置は、テキストデータとして毎回開始時に読み込みを行ないます。

ゲーム等で良くあるように、中心部分に自キャラを書いておいて
マップを反対方向に動かすというものです。

何かアドバイスをお願いします。
219193:04/10/10 21:47:26 ID:phJJRjy2
>>217

実際には

onClipEvent (mouseMove) {      //マウスカーソルが動いて↓
 if (hitTest(_parent._xmouse, _parent._ymouse, true)) { //ボタンと重なっていたら
  text = "特定の文字列"; //文字を送る
  line_color = _parent["map_color_a"];//RGB値取得
  mycolor.setRGB(parseInt(line_color,16));//色を変更
 }
}

の4,5行目のインスタンスの色を変える部分は反応があり、
3行目の文字を送る部分が反応がないのです。
なのでonClipEvent自体は発生していると思うのですが…
220Now_loading...774KB:04/10/11 00:33:09 ID:9w4phoiX
>>219
普通に送れました。
一つしかパス指定の書き換えをしていないとかいうオチじゃないですか?
同じボタンが複数あるならフレームに書いたほうがいいですよ。
221193:04/10/11 01:11:49 ID:+hWlgc5v
>>220

>>219で書いたASを、同じレイヤーの同じフレームに複数個あるボタンに書いています。
この手法に問題はあるのでしょうか?

>>同じボタンが複数あるならフレームに書いたほうがいいですよ。
これはタイムラインの方に直接ASを書くということですか?
タイムラインにはonClipEventは使えないようなので、
別の方法で代用できるならご教授下さい。
222Now_loading...774KB:04/10/11 01:52:16 ID:wQU9zzWI
>193,218

  ∧,,∧  一つが15x15とはこれまた小さいものを作っているのですね。
 ミ,,゚Д゚彡 
 (ミ   ミ)  ステージサイズ表示分のみのチップMCをattachして
  ミ   ミ  ステージサイズからはみ出ているチップは
  ∪ ∪   どんどん消去するようなスクリプトを組むといいですよ。
223222:04/10/11 01:53:25 ID:wQU9zzWI
アンカーミス
>195,218
です
224Now_loading...774KB:04/10/11 02:00:54 ID:wQU9zzWI
>193,219,221

  ∧,,∧  >text = "特定の文字列"; //文字を送る
 ミ,,゚Д゚彡 これはここに書くときの書き間違えかな?修正してください。
 (ミ   ミ) 
  ミ   ミ  >これはタイムラインの方に直接ASを書くということですか?
  ∪ ∪   functionは知っていますか?

全部のボタンに同じスクリプトをコピペするのではなく、
スクリプトをfunction一つにまとめて、
全てのボタンから同じfunctionを呼び出します。

一から余分なものは全部取り除いて作り直すと、
きちんと動作することがわかりますよ。
動作しないというのは
どこかに余分な処理が混入してしまっているのかもしれません。
225193:04/10/11 14:46:49 ID:+hWlgc5v
>>224
関数を実装してみました。

/*MCボタン*/
onClipEvent (mouseMove) {      //マウスカーソルが動いて↓
 if (hitTest(_parent._xmouse, _parent._ymouse, true)) { //ボタンと重なっていたら
  line_color = _parent["map_color_a"];//RGB値取得
  mycolor.setRGB(parseInt(line_color,16));//色を変更
  _root.kansu();
 }
}


/*MCボタンのあるタイムライン*/
stop();

function kansu(){
_root.i_kenmei.kenmei ="a";
}

-----
としてみましたが、やはり正常に動くボタンは最初に設置した1つだけでした。
そのボタンを消すと2番目に設置したボタンのみが反応するという状況です。
226Now_loading...774KB:04/10/11 17:18:20 ID:wQU9zzWI
>225
>_root.i_kenmei.kenmei ="a";
動作していないのではなく
そのスクリプトではどのボタンが動作しても
_root.i_kenmei.kenmeiにaという値しか入らないんじゃ?
227モン:04/10/11 17:39:14 ID:JVQQ5gZC
メニューバーを押したら、外部FLASHを指定位置に読み込むようにしています。
連続で同じボタンを押しても、再読み込みしないようにしたいのですが、
どうしたらいいですか?
228195:04/10/11 18:27:13 ID:kcV/2bT3
>>222
ありがとうございます。

見えない部分まで全てを描画して、動かそうとするからいけない訳ですね。
◆ステージ部分だけをattach
◆キー入力によって
 ・はみ出る部分を削除
 ・入ってくる部分をattach
という感じで、組みなおして見ます。
(動作後に書き込みをしようとしましたが、ちょっと時間がかかりそうなので
 先にお礼を。)

的確なアドバイス、ありがとうございました。
229Now_loading...774KB:04/10/11 18:42:45 ID:wQU9zzWI
>227
フラグを使ってください。
読み込んだらフラグを立てて、
フラグが立っていたら読み込みを行わないようにします。
230220:04/10/11 18:49:13 ID:9w4phoiX
>>221
ボタン用のMCに
this.onMouseMove=function(){
if (hitTest(_parent._xmouse, _parent._ymouse, true)) {
 _root.kansu(Number(this._name.slice(1)));  //MCの名前をa1,a2・・・のようにしておく
}
}

function kansu(num){
_root.i_kenmei.text=num;  //もしくはswitchで任意に
}
231225:04/10/11 18:52:13 ID:+hWlgc5v
>>226
記述にミスがあしました、すいません。
正確には以下の通りです。

/*MCボタン*/
onClipEvent (mouseMove) {
 if (hitTest(_parent._xmouse, _parent._ymouse, true)) {
  line_color = _parent["map_color_a"];//RGB値取得
  mycolor.setRGB(parseInt(line_color,16));//RGB値変更 
  _root.kansu_1();
  }else {
  line_color = _parent["map_color_b"];//RGB値取得
  mycolor.setRGB(parseInt(line_color,16));//RGB値変更
  _root.kansu_2();
 }
}

/*MCボタンのあるタイムライン*/
stop();

function kansu_1(){
 _root.i_kenmei.kenmei ="a";
}

function kansu_2(){
 _root.i_kenmei.kenmei ="b";
}
232Now_loading...774KB:04/10/11 19:05:57 ID:wQU9zzWI
>231
そのスクリプトですと
他のボタンMCとのhitTestの判定で競合が起こってしまっていますね。
そして誤動作が起きてしまっているようですよ。
230さんのスクリプトを試してみては。
233225:04/10/11 19:59:26 ID:+hWlgc5v
>>232
>他のボタンMCとのhitTestの判定で競合が起こってしまっていますね。
つまりMCボタンが2つある場合、
MC1のelseの部分と、MC2のifの部分が競り合っているということですよね?
なのでテキストインスタンスに空白文字列を送るMCボタンを別に用意しました。
自分が意図した通りに動きはしたのですが、問題はあるでしょうか?
今回はインスタンス名をテキストインスタンスに送るようにしています。
234Now_loading...774KB:04/10/11 23:51:58 ID:ewTte/Bu
○Flash Playerのインストールについての質問です。

http://www.macromedia.com/jp/shockwave/download/?P1_Prod_Version=ShockwaveFlash&Lang=Japanese
上記から「いますぐインストール」ボタンをおしてインストールしようとしても、インストールすることができません。
次のページでIEのブラウザの左下に、「実行しましたが、ページでエラーが発生しましたと」とでます。

エラーの詳細は、
ライン:435
文字:1
エラー:BrowserDescription は宣言されていません。
コード:003

とでています。

macromediaのQ&AやIEの信頼済みサイトへの追加などやってみたのですが、解決できません。
どなたか原因がわかる方、解決方法を教えてただけないでしょうか?
よろしくお願いします。


235Now_loading...774KB:04/10/12 00:32:14 ID:7nQuX1TJ
残念ながらすれ違い。↓あたりで。

誰かが光速で質問に答えるスレ
http://pc5.2ch.net/test/read.cgi/swf/1074586357/
236Now_loading...774KB:04/10/12 01:25:49 ID:IxAs5rnd
WinXP,MX2004環境で作っています。
スペースを押すとMCがジャンプする動きを希望します。
とりあえずいまはキーを押すと横に移動するだけです。
最終的に横移動するアクションゲームを作りたいです。
237Now_loading...774KB:04/10/12 10:03:06 ID:AjgKflb8

  ____∧∧
〜' ____(,,゚Д゚)
  UU    U U

>233
行った内容と質問事項を明確化することをお勧めする

>236
スペースを押したら縦に移動するように作る
238Now_loading...774KB:04/10/12 12:32:08 ID:HH/EpkBr
すいません。ちょっとスレ違いかもしれないんですが質問させてください。

Flashをベースとして、やはりこれからはCGIの知識が必要不可欠になって来ると考え、
CGIを構築する為の言語を学ぼうと思いました。
プログラムの経験はJSPとAS程度しかないのですが、PerlとPHPでしたら、どちらが良いと思われるでしょうか?

Flashの事、今後の事を踏まえてどちらが良いかのアドバイスをお願いします。
239Now_loading...774KB:04/10/12 12:50:21 ID:MmFz22p7
>>238
phpだな。
いずれperlは枯れ果てる。
240Now_loading...774KB:04/10/12 12:58:19 ID:AjgKflb8
>238
  ____∧∧
〜' ____(,,゚Д゚) <どっちもやっとくがよい
  UU    U U

仕事内容による。
ただPHPは対応していないサーバがある場合が。
241Now_loading...774KB:04/10/12 13:11:05 ID:wXiaBrAF
質問です。
flashを使って映像をストリーム再生させる…なんてコトできますか?
(俺知識では出来ないと思ってますが、言い切る自信が無いので)
242Now_loading...774KB:04/10/12 13:32:11 ID:AjgKflb8
>241
  ____∧∧
〜' ____(,,゚Д゚) <Flashは全部ストリーミング再生
  UU    U U
243Now_loading...774KB:04/10/12 14:14:19 ID:E7fYdaMb
(,,゚Д゚)さん速い仕事乙。
>>241
補足しておくとFlashは自動で再生が始まり、
読み込めていないフレームまで達すると、読み込まれるまで停止するという仕様です。
つまりデフォルトの設定ではストリーミングをします。

普通のFlashはこの停止が嫌だという理由で、
制作者がローディングを待つようにASを組んでいます。

予想読み込み時間からバッファを取って、停止しないギリギリのタイミングで再生するなどの
高度な意味でのストリーミングは別途ASで操作することになります。
でも、できます。

>>238
Phpのほうが優先順位が高くていいと思いますが
どっちもやっといたほうがいいのは確かです。
244238:04/10/12 14:18:09 ID:HH/EpkBr
ありがとー。
PHPの本を買って勉強する事にしまーす。
245241:04/10/12 14:36:13 ID:wXiaBrAF
>>242 さん
>>243 さん
怪盗ありがとうございます。
もっと勉強しねーとイカンですね。片マユ剃って修行してきます。
246236:04/10/12 18:27:16 ID:IxAs5rnd
>>237
thx。そこまでは分かったんですがねー。
落下する運動をロジックに変換したり
スクリプトをどう書けば良いのかわかんない。
もう少し勉強します。
247Now_loading...774KB:04/10/12 21:16:23 ID:HH/EpkBr
>>246
とりあえずさ、変数で制御する方法を覚えると良いかもね。
もしくはダイレクトに座標の位置で計算する方法も良い。

ボタンを押すとジャンプして、ある点まで移動すると落下になる。

んで、その上なり下方向への移動速度に関しては関数を組めばOK。
自由落下ならそこらへんのサイトに公式載ってるしね。
248236:04/10/13 04:10:30 ID:xiwAhSYq
>>247
回答ありがとうございます。参考になりました。
変数、関数くらいから出直してきます。
249Now_loading...774KB:04/10/13 09:00:56 ID:xy4sS4uI
FlashMX使用

質問なのですが

HPなどで 最初に訪れたときに 名前を入力して
次来たときに 何々さん こんにちは 何回目の来場です
と表示を SharedObject  を使ってやりたいのですが
いまいちやり方がわかりません。
簡単なサンプルなど教えていただけないでしょうか?
250Now_loading...774KB:04/10/13 09:14:39 ID:NWS+Vq73
>249
ttp://flafla.s31.xrea.com/flaq/
こちらのサイトのActionScript関連ID36に簡単なスクリプトが載っていましたよ。

お答えしたいのですが、私も詳しいこと分からないので申し訳ないっす。
251Now_loading...774KB:04/10/13 10:48:00 ID:Ic7XQkLr
FlashでAS、ブラウザでJS、サーバーでPHP

この3つを使えるとかなり遊びの幅が広がると聞いたのですが本当でしょうか?
ASはある程度出来るのですが、JSはやった事ありません。
皆さんは色んな言語やってるんでしょうか。
252Now_loading...774KB:04/10/13 10:56:06 ID:/Vq/D1wg
_, ___________________________,
           l ゜__,.-''''-.,____   ゜||ニニニニニニニニニニニニニニニニニニ/ =´'/ ,__ /ニニニニニ||
        ,.- '" ̄   .,,.-― ''' ̄ヽ,  ||三三三三三三三三三三三三三三三三 ./ / ̄//ソ/.三三三三三||
       ,/      / ,, -―''' ̄,/ヽ||三三三三三三三三三三三三三三三三/ `-´-' ./ 三三三三三 ||
     ._,.-', (通)  ,'-.,_ ----- ,--l . ;;||三三三三/ ̄ ̄ ̄ ̄/三三三三三三 ./ペリカン便/三三三三三三||
   _,,,/'二二二二二二' ,'二二二,  ̄ヽ;;||三三三 ./ ,/'⌒'ヽ ./三三三三三三 ./      ./.三三三三三三 ||
  .l' | ._l@二| OT ̄| | r――ii | r-i |;;||三三三/ i. 通 i. '――――――――――――――――――.||
 .[;;].| (・∀・ ) .|;;;].| | |l     l| | | .| |;||三三 ./  ゝ,__,.ノ..  ./'|//  // 7√ 7√ ((,´ //,//       .||
  | |._⊆⊇ ヽ .) |[;;]| | |l_,,--''l..|.t=l |;||三三/______//|,/_//_//__//_ヽノ_|_',/________||
  ''|, ̄ ̄isuzu ̄ ̄'ノ | |l ̄ ̄|.ll| | ,,,,,,|;|  .        |;;|.         |;;|  /      / |;;|          .|
  .|l. ̄ ̄ ̄ ̄ ̄ ̄l...| ''--'''''""_l.'--'l;;|        |;;|.         |;;| ./      /.  |;;|          .|
  _[l_三三三三三_l]_||.==_,. -―i,,二 |;|_,,_,,_,,_,,_,,_,,_,,_,,_|;;|/__,,_,,_,,/__,,_,,_,,_,,_,,_,,_|
 . |二l_ l;;;;;;;;;;;;;l _l二lコ_|二。///⌒ヽ;;;ヽ::::,:'" ヽ;ヽ _ヽ____ヽ____ヽ__/;;;;;//⌒ヽ==/⌒ヽ;ヽ ̄ヽヽ (__(]|
  ヽ,= lニ[二]ニl. == .|二 |」iii ::0 :i ;;;;||. iii :0 i;;;|| l三||三三三||三三三||三l;;;;|ii ::0 :i ::iii ::0 :i;;;|| 二二"l]
     ̄ ̄.ゞ;三ノ ̄ ̄ ̄ ̄ ゞ_ノ.   ゞ__ノ    ̄ ̄ ̄ ̄ゞ三ノ ̄ゞ三ノ ̄ゞ_ノ  ゞ_ノ           ≡3
253Now_loading...774KB:04/10/13 11:40:10 ID:eewOO8po
FlashMX2004 を WinXP(SP1)で使っています.

TextField コンポーネントがロードされた時にハイライト( | ←がちかちかするやつ)
されるようにしたいんです.以下のようなことは試しましたがダメでした.
どうすればいいでしょうか?

TextField コンポーネントをステージに配置してインスタンス名を myText としました.
そして1フレーム目に
focusManager.setFocus(myText);
とか
myText.setFocus();
とかやってみました.
254Now_loading...774KB:04/10/14 11:57:14 ID:TYOZ4oKy
すいません。質問させてください。

 シングルクォート と ダブルクォート の違いを教えて欲しいです><

うろ覚えなのですが、 ' と " で変数の代入の際に何か違いがあった記憶があるのですが、
どうにも思い出せなくて・・・。

よろしくお願いします。
255Now_loading...774KB:04/10/14 12:59:04 ID:XtqeJ4tS
質問です。

function aaa(){
trace("aaa");
this.onEnterFrame = this.bbb();
}

function bbb(){
trace("bbb");
}

this.onEnterFrame = this.aaa();

だと「aaa」と「bbb」が一回ずつ表示されますが
関数aaaを一回だけ起動させ、あと関数bbbをタイムレートにそってずっと繰り返したい場合
どうすれば良いでしょうか?
関数aaaの中のthis.onEnterFrame = this.bbb();を
this.onEnterFrame = this.bbb;にすると動かなくなります。
どこが間違っているんでしょうか?


256Now_loading...774KB:04/10/14 15:04:50 ID:dwiWzPNp
>>254
無いんじゃないかな。あるとすれば文字列引用符内でもう一度引用符を使いたいときに
使い分けるくらい?

getURL("JavaScript:alert('Hello ActionScript!!');")

>>255
最初のaaaの呼び出しも「this.onEnterFrame = this.aaa;」にしたうえで
aaa内の呼び出しも「this.onEnterFrame = this.bbb;」にしてみて
257Now_loading...774KB:04/10/14 17:35:07 ID:fs6M7iCR
  ____∧∧
〜' ____(,,゚Д゚)
  UU    U U

>253
こちらで Selection.setForcus( "myText" ); を試してみたが
FlashMXで書き出した場合 TextFieldにフォーカスが当たり
カーソルの点滅が行われるが、
FlashMX2004で書き出した場合 TextFieldにフォーカスは当たるが
カーソルの点滅が行われない模様。原因不明。

>254
256さんとほぼ同じ内容だけれども、このページの下の方参照

ttp://www.fumiononaka.com/TechNotes/Flash/FN0110011.html
258Now_loading...774KB:04/10/14 18:09:02 ID:6KYRobLN
ベクターアニメーションと画像ファイルを使ったアニメーションでは
どちらが処理速度が速いでしょうか?
どちらの絵も回転、移動をしつつ毎フレームアニメーションします。
絵の大きさは300*300ぐらいです。
259Now_loading...774KB:04/10/14 18:11:08 ID:cL5JMQkS
>>258
ラスターの方がはやいよ
260Now_loading...774KB:04/10/14 19:06:33 ID:6KYRobLN
>>259
ありがとうございます。
ラスターでやってみます。
261Now_loading...774KB:04/10/14 21:03:34 ID:NwrTyQkw
>>251
AS/JS/PHPならかなり遊べるぞい。
利点は一つの言語では複雑になりすぎるスクリプトが簡略化されるから
デバッグや可読性に優れる。
DBなどの巨大なデーターもサーバーにまかせてメモリーを気にせず使える。

でも遊びなら掲示板やゲームのランキング程度しか思いつかないorz
262Now_loading...774KB:04/10/15 03:37:37 ID:0xlqmxW9
loadMovieで外部のswfファイルをムービークリップに読み込ませて
swfを表示させています。
しかし、容量の大きいswfファイルだと
loadMovieで外部ファイルを表示した瞬間すぐには動いてくれません。

外部swfを表示させる前にあらかじめ
外部ファイルを先読みしておく、といったことは可能でしょうか?
263Now_loading...774KB:04/10/15 09:15:12 ID:kUe5IoAp
可能
264Now_loading...774KB:04/10/15 11:43:07 ID:vmcmhK73
以前に初心者の質問スレッドで同じような質問をしたのですが、
回答がもらえなかったのでこちらの方でよろしくおながいします。


以下のような事がしたいのですが、1は全然問題ありませんが
2.と3.の方法がわかりません。ご教授よろしくお願いします。

1.外部swfファイルをloadMovieで読み込む
2.1.で読み込んだMovieを削除
3.1.で読み込んだ後削除したMovieを再度読み込む、ただし一度読み込んだ内容なので
 今回はメモリ上からattachMovieしたい。
265Now_loading...774KB:04/10/15 14:53:36 ID:T3lLUJA2
よくわからんけど、
最初に読み込んでおいてからAttachすれば?
266Now_loading...774KB:04/10/15 14:58:35 ID:U6cPUhmm
>264
  ____∧∧
〜' ____(,,゚Д゚) < 2. unloadMovieを使用
  UU    U U

3.は1で読み込んだものが2で削除した後でも
ブラウザにキャッシュされているので 再度1と同じ命令を呼ぶとよい
267264:04/10/15 15:48:28 ID:NR79zQBv
レスどうもありがとうございます。
>>265
コンテンツの内容が、
重いMovieClipをタイル状に敷き詰めるようなもので、
そのタイルが表示されるのは条件に合致した時だけなので、
できるだけ大元のMovie内部に保持しておくのは避けたいのです。

>>266
3.はブラウザのキャッシュ頼りしか方法はありませんか?
可能であれがLoadMovieしたMovieを配列に読み込んで、一定数を越えれば古いものから削除し、
リクエストがあれば、まず最初に配列を探して見つかればそこから呼び出し、
見つからなければ、再度LoadMovieするような構造にしたいのですが・・・・?
LoadMovieしたMovieに対して識別子を与えるのはActionscriptでは無理なのでしょうか?
268Now_loading...774KB:04/10/15 15:59:08 ID:QoskV2fx
>>267
>3.はブラウザのキャッシュ頼りしか方法はありませんか?
うん。無い。
>LoadMovieしたMovieに対して識別子を与えるのはActionscriptでは無理なのでしょうか?
うん。無理。
いMovieClipをタイル状に敷き詰めるという使用自体が苦しい。
269Now_loading...774KB:04/10/15 16:03:21 ID:U6cPUhmm
>264,267
  ____∧∧
〜' ____(,,゚Д゚) <Flashの仕様により無理
  UU    U U

外部から読み込んだものを複製しようとしてもできない。

条件に一致したときに対象ムービーが表示されるというのなら
最初に全部読み込んでおいても重くはならないのでは。
270264:04/10/15 16:07:39 ID:NR79zQBv
>>268
早レスありがとうございます。
あきらめて再度loadMovieします。
271264,267:04/10/15 16:15:08 ID:NR79zQBv
>>269
すみません入れ違いになりました。

>条件に一致したときに対象ムービーが表示されるというのなら
>最初に全部読み込んでおいても重くはならないのでは。

表示されてなくても、Movieのデータサイズが大きくなると
レスポンスに影響がでると思ったのですが・・・・
すみませんFlashは初心者なので、このあたりがよくわかってないのです。
この方法も検討してみます。
ありがとうございました。
272Now_loading...774KB:04/10/15 16:52:10 ID:EwFAAB47
質問です Flashでサイトを作ってます。
その際 子ウィンドウ(のようなMC)を何回も
attachMovie, removeMovieClip させているんですがMCを消した時に
タイムライン変数のメモリは開放されるのでしょうか?
onEnterFrameを使っているMCもありますが 消す前に=nullを入れています。
またメモリのチェックの仕方も教えて下さい。
273Now_loading...774KB:04/10/15 17:44:07 ID:kU0LQWUs
前もここで質問した者ですが、教えて下さい。

タイムライン1
flag = undefined;
loadVariablesNum("aaa.php", 0, "POST");
//aaa.phpはmessageとflagを、
//messageは文字列を、
//flagはtrueかfalseか判別し、値を返す
i = 1;
タイムライン2〜5:フレームラベルroop
空のキーフレーム
タイムライン6
if (flag == false) { gotoAndStop("false"); }
else if (flag) { gotoAndStop("true"); }
else {
 i++;
 if(i>30) {
 message="PHPが応答しません。";
  gotoAndStop("false");
 } else { gotoAndPlay("roop"); }
}
タイムライン7:フレームラベルfalse
変数messageを出力
タイムライン8:フレームラベルtrue
変数messageを出力
の様に成っているんですが、何故かいつも
タイムライン7に移行し、「PHPが応答しません」と出てしまいます。
いったいどこが問題なんでしょうか・・・・
274262:04/10/15 17:58:08 ID:cjEuDPe8
再度質問すいません...
>>262を実行しようとした場合
具体的にどのような記述をすればいいでしょうか?
よろしくお願いいたします。
275Now_loading...774KB:04/10/15 18:04:21 ID:EUutHYmw
>>272
消した次のフレームに開放。
nullは無効化、deleteさせないと
メモリのは板違い
276Now_loading...774KB:04/10/15 18:40:05 ID:U6cPUhmm

  ____∧∧
〜' ____(,,゚Д゚)
  UU    U U

>273
データがきちんとわたされていないか、
PHPが本当に応答していないか、
タイムアウトかのどれか

>262,274
ここ参照
http://www.fumiononaka.com/TechNotes/Flash/FN0307007.html
277Now_loading...774KB:04/10/15 18:53:45 ID:SwKVAFGM
>>273
12fpsでi>30じゃ短すぎかも120ぐらいにしてみたら
278Now_loading...774KB:04/10/15 19:06:04 ID:kU0LQWUs
>>276-277
長々とした記事読んで頂き本当に感謝しています。
文才が無いので、的確に伝えるにはどうしても長くなってしまいます・・・・

>>276
データがきちんと渡されていない、と言うのは
どういう状況で起こるんでしょうか・・・・
また、タイムアウトとは、Flashのタイムアウトでしょうか。

>>277
fpsは15なので試しに150にしてやってみましたが、
やっぱり・・・・駄目です。
279Now_loading...774KB:04/10/15 19:25:12 ID:U6cPUhmm

  ____∧∧
〜' ____(,,゚Д゚)
  UU    U U

>278
ブラウザのフォーム等からPOSTでaaa.phpにアクセスした場合
flag=true&message=あいうえお
のような形式で表示されるかどうか要確認。

タイムアウトとは phpにアクセスして
応答がなかなか返ってこずブラウザが時間切れでエラーを返すこと。
280Now_loading...774KB:04/10/15 21:24:29 ID:kU0LQWUs
>>279

確認してみました。
ちゃんとそのような形式で表示されていました。
タイムアウトしてるんでしょうか。。
281Now_loading...774KB:04/10/15 21:48:47 ID:uYdrx4jB
Flash MX 2004を使用しています。


前提条件として
aaa
┗bbb
  ┗ccc0〜cccX(数は可変)
という構造のムービークリップがあり、aaaの中にASが書いてあるとします。

配列Arrayの各要素にはccc0〜cccXまでのインスタンス名が格納されています。
この時、for文とthisを用いてaaaからccc0〜cccXまでのインスタンスを指定するにはどうしたらいいのでしょうか?
初めは

for(i = 0;i < Array.length;i++)
{
  this.bbb.this["ccc" + i].変数名 = i;
}

のような感じで指定できるのかと思ったんですが、上手くいきませんでした。
一体どのようにしてやればいいのでしょうか?
282Now_loading...774KB:04/10/16 01:48:39 ID:ENhHgteU
FlashMX2004 WinXP

on(press){
A.loadMovie(b.swf);
}

と、ボタンを押してA_mcにb.swfを読み込んでいます。A_mcの位置は、
画面中央付近に配置。1回目にボタンを押した時はA_mcに表示される
のですが、2回目以降、なぜか画面の左上に配置されてしまいます
(loadMovieNum(b.swf,1)のように)。

何か原因があるのでしょうか?よろしければ、ご教示お願いします。
283Now_loading...774KB:04/10/16 11:20:41 ID:xXrWr88o

  ____∧∧
〜' ____(,,゚Д゚)
  UU    U U

>280 試しに色々試す
aaa.phpではなく aaa.txtを読み込めるか確認
読み込み待ち処理がよろしくないのでスクリプトを練り直す
LoadVarsを用いてスクリプトを書き直す


>281
this.bbb[ "ccc" + i ].変数名

>282
原因はそれだけではわからないが
A_mc.loadMovie( "b.swf" );
ではないか。
284280:04/10/16 15:02:53 ID:K51s5qAr
>>283
わかりました。色々とがんばってみます。
色々と華麗なレス有難うございました。
285Now_loading...774KB:04/10/16 16:09:27 ID:TA5bV7uL
なぁなぁ、誰かさ。
棒人間とかあるじゃん。

空MCの中に関節ごとのオブジェ入れ込んでから、ASで制御してIKを表現させてる人いる?

onClipEvent(enterFrame){
_root.hoge_IK._x = this._x;
_root.hoge_IK._y = this._y;
}
286Now_loading...774KB:04/10/16 18:08:28 ID:Ff8MYc8R
FlashMX2004です
ムービークリップに独自に判断してタイムラインをコントロールさせたいのでが、
うまくいかないです。

@ムービークリップ名 : suuchi
このムービークリップに空のレイヤーを作り、
変数 atai = 0 を作成(初期値:0)
別のレイヤー、1フレーム目にstop(); で止める

ムービークリップのスクリプト
onClipEvent (enterFrame) {
if (this.atai == 1) {
this.gotoAndPlay(2);
}else if (this.atai == 2) {
this.gotoAndPlay(20);
}
以下else if(this.atai=)が3,4,5,6と続く
}

A各ボタンのスクリプト
on (release) {
suuchi.atai = 1; //suuchiムービークリップのatai変数に数値を代入
}
以下suuchi.atai = 2,3,4,5,6、とボタンが複数ある。

問題点:変数を代入しているのに、アニメーションが再生されないです。
ためしに、ダイナミックテキストでsuuchi.ataiを監視していましたが、ボタンが押されると、
ataiに一瞬、数値が代入され消えてしまいます。よい解決法はないでしょうか?
287Now_loading...774KB:04/10/16 18:38:09 ID:VlcSi6qh
Flash5ユーザですが…

Flash5にもともと入っている[ヘルプ]-[サンプル]-[ボタン-高度]のサンプルのボタンにくっついているASで、

on (release) {
gotoAndPlay (2);
/:check = "\"on\"";
}

っていうのがあるんですが、
/:check って特殊な変数なんですか?
288Now_loading...774KB:04/10/16 19:37:48 ID:xXrWr88o

  ____∧∧
〜' ____(,,゚Д゚)
  UU    U U

>286
多分 各ボタンのスクリプトに
delete suuchi.onEnterFrame;
が必要

>287
スラッシュシンタックス
/:check は_root.check を示す。
289Now_loading...774KB:04/10/16 21:54:52 ID:VlcSi6qh
>>288
Σ(´Д` )
本でもほとんどドットシンタックスなので…

ありがとうございます。
290281:04/10/16 22:07:59 ID:ztrJSUEg
>>283
どうもありがとうございます。
期待通りの動作をさせることが出来ました。
291Now_loading...774KB:04/10/16 22:28:51 ID:Bkkmj6WV
メインのタイムライン上に、それぞれ上下に動くAとBのMCを配置し、
Aの中にあるボタンを指定された瞬間に押すと、変数a=1
Bの中にあるボタンを指定された瞬間に押すと、変数b=1
最初にAのボタンを押し次にBのボタンを押し、ともに変数が1ならメインのフレームを移動させるには、どうしたらいいのですか?
BボタンのASに
if(a==1&&b==1){_root.gotoAndPlay();}
ではダメでした。
一つのボタンだけなら
if(b==1){_root.gotoAndPlay();}
これで問題なく移行するのですが。
292286:04/10/16 22:46:34 ID:Ff8MYc8R
>288
駄目ですた(´Д`; )
on (release) {
suuchi.atai = 1;
delete suuchi.onEnterFrame;
}
とボタンに付け加えたのですが、先ほどの症状と同じで
指定したフレームには飛ぶのですが、アニメーションが再生されないです。
(もちろんstop();などで止めていません)
293Now_loading...774KB:04/10/16 23:54:33 ID:TA5bV7uL
>>292
パス指定の問題だろうね。
どこに存在する変数か指定出来てない。

Aの内部のボタンと言う事は、
if(_root.A_mc.a==1&&_root.B_mc.b==1)
294Now_loading...774KB:04/10/17 02:25:39 ID:eeSNc3Pp
MX使ってます。
UIコンポーネントの、文字の色はどこ(フォルダ名のどのへん)を弄れば変えられますか?

UIコンポーネントの中を見てみると相当な行数や、MCが登録されていて、
カスタムしたデザインや、速度やファイルサイズを考えると、
機能を求めなければ、改造よりも、5の頃のように
自分で作っちゃったほうが早い気もするのですが、
ご意見をお願いします。
295Now_loading...774KB:04/10/17 04:12:53 ID:v/6Bs84O
>>291
変数をaとbじゃなくて_root.aと_root.bにするといいんじゃないかなぁ?

>>292
数値が代入されて消えるって0になるってことかなあ?
suuchi のonClipEvent (enterFrame) の中の
gotoの直前にtrace入れて、どのタイミングでgotoしてるのか
監視してみると何か分かるかもよ。

>>294
2004にしちゃったんでよくわかんないんだけど
結構探せば見つかった記憶があるよ。
コンポーネントのスタイル設定用のアクションスクリプトがあったはず。
UIの機能は結構凄いんで使うのがおすすめかなあ?
一時期俺も自分で作ろうとしたけどさ、プロには勝てないよ。
296Now_loading...774KB:04/10/17 04:58:03 ID:wORu/sLh
こちらにおられます先生方の中で「livly」してる方いらっしゃいますか?
違法ツールではなく、シュミレーターを作っているのですが、リヴリーの
中でのASを聞きたいんですけど、ご教示願えるでしょうかm(_ _)m
297Now_loading...774KB:04/10/17 07:47:22 ID:GLi6AqLQ
MX 2004のNumericStepperコンポーネントですが、
矢印をクリックして数値を上下させた時に、
フォーカスが数値入力欄に移動してしまうのを防ぐ方法は無いでしょうか。

changeイベント時にsetFocus()で逃がすことも試してみたんですが、
この方法だと、矢印を押しっぱなしにした時の高速増減ができなくなってしまいます。

ご教授お願い致します。
298Now_loading...774KB:04/10/17 10:18:31 ID:brWL/rU6
>>291
出来たのかな。出来なかったのかな。

_root --- A_mc --- A_btn
    |____ B_mc --- B_btn

今こう言う階層の入れ子をしてるのは分かるかな。
ボタンはMCと違って特殊な扱いになっておるのです。
A_mcから見た this は A_mc 、 A_btnから見た this も A_mc
つまり、ボタンシンボルの場合はMCとは異なって、this は自分が置かれた階層になる。
ボタンで変数を使った時には注意が必要。

その場合で最もスマートなのは、ボタンを押した時に _root階層 の変数を刺激してやれば良い。
Aの中にあるボタンを指定された瞬間に押すと、変数 _root.a = 1
Bの中にあるボタンを指定された瞬間に押すと、変数 _root.b = 1
299291:04/10/17 19:49:52 ID:mX/9sRqP
自分なりにいろいろやってみて

if(a==1&&this._parent.MC_B.b==1)
でうまく動作するようになったんですが
このファイルを外部ファイルとして別のファイルに読み込むと、キーを押してもなにも起こりません。
_root.層の変数に変えて一度ためしてみます。
300249:04/10/17 23:21:16 ID:K5EKNqF6
いろいろ調べてデータのセーブに成功しました

しかし セーブする環境によって セーブ時間が異なり

遅い場合データを保存する前にウインドウを閉じてしまうと
データが消える場合がありました

データの書き込み待ちをどうやって作ったらいいでしょうか?
301Now_loading...774KB:04/10/17 23:21:56 ID:N8gZbo9w
他のスレでスルーされたのでお願いします。
loadMovie ("JPEGファイルまでのパス", Flash上で読み込む階層);
で読み込んだJPGを元の画像のサイズを変えないでFLASHでサイズを拡大することはできますか?
302Now_loading...774KB:04/10/18 01:20:03 ID:3nlIfUUZ

  ____∧∧
〜' ____(,,゚Д゚)
  UU    U U

>300
SharedObject.flush();

>301
読み込み先をムービークリップにして
そのムービークリップのサイズを変更する。
303KEI:04/10/18 02:37:52 ID:MyCNUckU
こんにちは。
FlashMXでロサンジェルス時間を表示するアナログ時計を作りたいのですが、
ACTIONSCRIPTがどうもうまく動作しません(/_\)
日本の時計はうまくいったのですが。。。

MXは比較的簡単なスクリプトで時計ができますが、
時差をどうやって表せばよいのかわからなくて困っています。
どなたかご存知の方がいらっしゃったら、アドバイスをください。
よろしくお願いいたします。
304300:04/10/18 09:10:41 ID:lXsr2xuM
>>302


↓フレーム
mySO = SharedObject.getLocal("hogedata")

↓ボタン
on (release) {
    mySo.data.name = _root.inname.text;
    mySo.flush();
}

テキスト入力された名前をボタンを押すとすぐ書き込む
これであってますかね??
305Now_loading...774KB:04/10/18 11:30:37 ID:8O5z4dx9
>>303
時差はいかなる時も変わらないから
日本とロスの時差分を、時間から引いてやればいいんじゃないの?
日付が無ければそれで問題ないはず。

>>304
それでいいと思うよ。
なるべく自分でテストしてみるクセをつけような。
306KEI:04/10/18 19:25:59 ID:MyCNUckU
>>305
アドバイス、ありがとうございます。
時差を計算すればよいのですね!

でもひとつ問題があって、実はこのアナログ時計をアメリカで見ても同じように、
日本とアメリカ両方の時間が正確に表示されるように(計2つ)作りたいのです。
ですから、パソコンから自動的に時刻を取得する「now.gethours();」では
うまく動作しなくて困っています。。。

こういう場合は、どういった方法をとっているのでしょうか?
もしもお分かりになりましたら是非お力を貸してください。
よろしくお願いしますm(_ _)m
307Now_loading...774KB:04/10/18 19:47:17 ID:3nlIfUUZ
>306
  ____∧∧
〜' ____(,,゚Д゚) <「何が」「どう」うまく動作しないのか書く事
  UU    U U
308Now_loading...774KB:04/10/18 19:54:53 ID:3nlIfUUZ
>306
  ____∧∧
〜' ____(,,゚Д゚)
  UU    U U

ごめん。言いたいことわかった。
日本とアメリカ両方でCGI利用可能なレンタルサーバを用意し
各サーバから時間をCGI経由で時間を取得する。
309Now_loading...774KB:04/10/18 20:00:37 ID:3nlIfUUZ
>306
  ____∧∧
〜' ____(,,゚Д゚) <修正
  UU    U U

サーバは日本だけで大丈夫か。
CGI内、もしくはFlash側で
サーバから取得した日本時間を元にアメリカとの時差を計算する。
310Now_loading...774KB:04/10/18 20:03:19 ID:5q8e+7eC
世界時(utc)とローカル時のhoursを読み込みんで、その誤差が9時間なら、そのフラッシュを日本で表示している。
15時間?ならロサンゼルスで表示している。って感じでやればおk。
311Now_loading...774KB:04/10/18 21:34:46 ID:gKfM7Zqr
>310
「サーバは日本だけで大丈夫か。
CGI内、もしくはFlash側で
サーバから取得した日本時間を元にアメリカとの時差を計算する。」
これのほうが良いだろ
312Now_loading...774KB:04/10/18 22:53:21 ID:5q8e+7eC
そうかじゃ僕のは無視してください。
313Now_loading...774KB:04/10/19 04:40:40 ID:m2lkwadZ
でもPCがちゃんと国の標準時設定されてるPCなら、
Flashが世界標準時間取れるっしょ?
314Now_loading...774KB:04/10/19 04:42:48 ID:m2lkwadZ
getUTCHours()で時計作ればいいのか?
315Now_loading...774KB:04/10/19 10:50:47 ID:nurNE8MG
日本時計 = 世界標準時 + 9
ロサンゼルス時計 = 世界標準時 - 7
これじゃだめなんかい?
どこにいても同じ表示になると思うけど。
サーバーとか使わないとダメってことは無いと思うんだがなあ。
316Now_loading...774KB:04/10/19 10:59:21 ID:3itma7bD
日本はGMT+9、ロサンゼルスはGMT-8かGMT-7と決まっているのだから、
getTimezoneOffset()の値で切り分ければよいだけと思うよ。

switch(new Date().getTimezoneOffset()){
 case -540:trace("ここは東京");break
 case 480:trace("ここはロサンゼルス");break
 case 420:trace("ここはロスでサマータイム");break
}

時間も別にサーバーを介する必要は無いのでは。
>>313さんや>>315さんの言ってる事に全面同意。時計とタイムゾーンくらいは自分で合わせて
くれてあるでしょ。そこまで面倒みきれん。

here_date = new Date();
utc_timer = here_date.getTime()+(here_date.getTimezoneOffset()*1000*60);

tokio_date = new Date(utc_timer+(1000*3600*9));
los_date = new Date(utc_timer+(1000*3600*-8));
los_summer_date = new Date(utc_timer+(1000*3600*-7));

trace("東京:"+tokio_date);
trace("ロス:"+los_date);
trace("ロス サマータイム:"+los_summer_date);

こんな感じ?GMT表示なのはご愛嬌。
317Now_loading...774KB:04/10/19 18:45:18 ID:vkJDzXVs
>>316
必死ですねー。物凄い解答お疲れ様です。
318Now_loading...774KB:04/10/19 20:13:20 ID:PT7IvdS1
>>316親切ですね
319KEI:04/10/19 20:42:57 ID:9Z8lG8ql
丁寧なお答えをありがとうございます!!
早速試してみたのですが、下記のようなエラーが出てしまいます。。。

**エラー** シーン = シーン 1, レイヤー = スクリプト, フレーム = 1 :行 9:シンタックスエラー
 case -540:trace("ここは東京");break
**エラー** シーン = シーン 1, レイヤー = スクリプト, フレーム = 1 :行 10:シンタックスエラー
 case 480:trace("ここはロサンゼルス");break


時間の取得は下記のようにしており、
その中に教えて頂いたスクリプトを足しています。

now = new Date();

theHour = now.getHours();
theMin = now.getMinutes();
theSec = now.getSeconds();

hour._rotation = (theHour*30)+(theMin/2);
min._rotation = (theMin*6);
sec._rotation = (theSec*6)

いろいろと順番を変えたりしてみましたが、
どうもうまくいきません。
何がいけないのでしょうか。。。
自分でもがんばってやってみますが、
お分かりになりましたらお返事をください。

本当にわざわざありがとうございます。
320Now_loading...774KB:04/10/19 21:02:41 ID:gmALpmny
>319
breakのあとにセミコロン
321Now_loading...774KB:04/10/19 22:49:44 ID:yqO0cmz8
>>319
そのままコピペしたんだったら、caseの前が全角スペースになってるから削除してみて
シンタックスエラーなら、たぶんそれだと思う
322KEI:04/10/20 03:18:18 ID:sQLNr8B4
>>320
>>321
ありがとうございます!
そのとおりでした!
エラーが出なくなりました(^▽^)

ところが、日本時間が表示されてしまいます。
さっきまで自分で試行錯誤してみたのですが、
何が間違っているのかどうしてもわかりません。

何度も何度も申し訳ありません(/_\)
お力を貸してください。
323Now_loading...774KB:04/10/20 10:07:14 ID:3RvEYuIJ
>322
アメリカ時間にも日本時間が表示されてしまうということですか??
324Now_loading...774KB:04/10/20 13:23:39 ID:If79zpsY
>>322
あなたの問題点を示す文章が
>ところが、日本時間が表示されてしまいます。
これだけなのですが、これじゃあ普通は分からないですよ。
上下の余計な文章はいらないので、状況を詳しく書いてください。
325KEI:04/10/20 13:40:36 ID:sQLNr8B4
えっと。。。私の時間取得の仕方が間違っているのでしょうか。
ActionScriptは下記のように書いています。

now = new Date();

theHour = now.getHours();
theMin = now.getMinutes();
theSec = now.getSeconds();

switch(new Date().getTimezoneOffset()){
case -540:trace("ここは東京");break;
case 480:trace("ここはロサンゼルス");break;
case 420:trace("ここはロスでサマータイム");break;
}

here_date = new Date();
utc_timer = here_date.getTime()+(here_date.getTimezoneOffset()*1000*60);

tokio_date = new Date(utc_timer+(1000*3600*9));
los_date = new Date(utc_timer+(1000*3600*-8));
los_summer_date = new Date(utc_timer+(1000*3600*-7));

trace("東京:"+tokio_date);
trace("ロス:"+los_date);
trace("ロス サマータイム:"+los_summer_date);

hour._rotation = (theHour*30)+(theMin/2);
min._rotation = (theMin*6);
sec._rotation = (theSec*6)


これでは、ロス時間で動かないのでしょうか???
326Now_loading...774KB:04/10/20 15:10:21 ID:aRjs540T
if(this.hitTest(_parent.line1)||this.hitTest(_parent.line2)){
〜スクリプト〜
}
のように、あるMCが他の複数のMCと重なったときに実行するIF文を作ったのですが、
この重なったMCが複数の中のどのMCであるか知る方法てありませんかね?
327Now_loading...774KB:04/10/20 15:47:45 ID:c8sHqPjV
>>325
theHour = now.getHours();  ←PC時間
theMin = now.getMinutes();
theSec = now.getSeconds();


utc_timer = here_date.getTime()+(here_date.getTimezoneOffset()*1000*60);←世界時間?


tokio_date = new Date(utc_timer+(1000*3600*9));    ←東京時間
los_date = new Date(utc_timer+(1000*3600*-8));     ←ロス時間
los_summer_date = new Date(utc_timer+(1000*3600*-7));


hour._rotation = (theHour*30)+(theMin/2);   ←theHourはPC時間
min._rotation = (theMin*6);
sec._rotation = (theSec*6)

当然時計はPCの時間になりますな。

328Now_loading...774KB:04/10/20 15:50:02 ID:c8sHqPjV
>>326
>>326
if(this.hitTest(_parent.line1)){
〜スクリプト〜
}else if (this.hitTest(_parent.line2)){
〜スクリプト〜
}

こうじゃだめなんか?
もしくは
var hit_mc;
if(this.hitTest(_parent.line1)){
hit_mc = _parent.line1;
}else if (this.hitTest(_parent.line2)){
hit_mc = _parent.line2;
}
if (hit_mc){ // hit_mcが存在するとif文が実行される。
〜スクリプト〜
}
329Now_loading...774KB:04/10/20 16:01:24 ID:aRjs540T
>>328
やはりそういうやり方しかないんですかねー。
実はシューティングゲームで敵の弾との衝突処理を作っていて、
そういうふうにelse ifで作っちゃうと、敵の弾が多くなったときに
同じ内容の処理なのに莫大な行数が必要になるじゃないですか。
なんか賢いやり方ないかなと迷っていたんです。
330Now_loading...774KB:04/10/20 16:17:08 ID:aRjs540T
あ、弾自身の方に各自ヒット判定を持たせれば良いのか。自己解決しました。
それと、新たに問題が1つでてきて、ヒット判定の話なのですが

横長い線(MC)と丸い自機(MC)を判定させようとするとき
横長い線を斜めに回転させると判定が外郭の真四角部分まで全て
ヒット範囲になるのですが、ここの対処方法て無いのでしょうか?

/・ ←イメージ図
331Now_loading...774KB:04/10/20 17:03:03 ID:If79zpsY
>>329
できれば、配列なんかを利用していっぺんに判定する方法をお勧めしますよ。
そのやり方だと、弾の数以上に、例外的な状況でのバグが怖いから。
例えばクリアした直後にヒットとか、死んだ瞬間にヒットとか2つ以上同時にヒットとか。

>>330
hitTestをそのまま使っている限り仕方ないのですが、対処法はあります。
例えば線ではなく、点の集まりと考え
   ・
  ・
 ・

↑こんな感じに、線の等間隔の位置の点で判定を取ってあげればいいのです。
点を増やせば精度は上がりますが、動作が遅くなるので注意してください。
他にも自分で計算式を作って判定してもいいですよ。
332Now_loading...774KB:04/10/20 17:14:30 ID:aRjs540T
>>331
なるほど、アドバイスありがとうございます。
すごく参考になりました。

ちょっと、fps気にしながらギリギリの精度を模索してみます。
333Now_loading...774KB:04/10/20 17:32:27 ID:dlXGn756
>>332
ベクトルとか分かるならそれでやればいいと思います。
334Now_loading...774KB:04/10/20 17:49:25 ID:Xs3QuqZY
MX2004使用です。
ボタンに
on (release) {
    thisSound = new Sound(this);
    thisSound.loadSound("http://xxxxx/hoge.mp3",true);
}
というスクリプトで外部MP3を再生させています。
このスクリプトだと1回再生すると止まってしまうんですが
ストップボタンを押す または 違う曲のボタンを押すまで
繰り返し再生させるにはどうしたらいいでしょうか?
ご指導ください。
335Now_loading...774KB:04/10/20 18:15:08 ID:3RvEYuIJ
>334
  ____∧∧
〜' ____(,,゚Д゚) <Sound.start or Sound.stop を利用
  UU    U U
336ていていた〜 ◆/TEIX1Xung :04/10/21 02:28:20 ID:JoHNXYTO
どうもです。
今作ってるやつで、変数をセーブして次回に開いた時に復元できるようにしたいのですが、どうやるか分かる人教えて下さい。

この作品の「つづきから」みたいなやつです。
ttp://tail.s68.xrea.com/html/movie/aaa/aaa.html

おしえて!エロい人!
337Now_loading...774KB:04/10/21 02:41:28 ID:9pMerPoE
425 名前:ていていた〜 ◆/TEIX1Xung [age] 投稿日:04/10/21(木) 02:27:11 ID:JoHNXYTO
どうもです。
今作ってるやつで、変数をセーブして次回に開いた時に復元できるようにしたいのですが、どうやるか分かる人教えて下さい。

この作品のみたいなやつです。
ttp://tail.s68.xrea.com/html/movie/aaa/aaa.html

おしえて!エロい人!


マルチポスト
返答不要
338ていていた〜 ◆/TEIX1Xung :04/10/21 02:51:39 ID:WMTlY0ZR
>>337
ごめんなさい。
sageとくの忘れた。orz
339Now_loading...774KB:04/10/21 02:53:31 ID:XgGYltbK
掲示板持ってるような人がマルチ?
トリップ割れとかじゃないだろうか
340Now_loading...774KB:04/10/21 03:15:08 ID:9pMerPoE
>掲示板持ってるような人がマルチ?
  _, ,_
( ゚д゚)!?
341Now_loading...774KB:04/10/21 14:22:16 ID:58In34GR
>>331
ヒットテストは座標でも指定できるぞ。
342KEI:04/10/22 08:58:53 ID:Z31XFY5q
>>327
お返事ありがとうございます!
下記の部分をロス時間にあわせて変えればいいのですね!

hour._rotation = (theHour*30)+(theMin/2);   ←theHourはPC時間
min._rotation = (theMin*6);
sec._rotation = (theSec*6)

自分でがんばって成功させてから、良いご報告をと思ったのですが、
あれからなかなかうまく行きません(/_\)
もう少しヒントを頂けたら嬉しいのですが。。。
343Now_loading...774KB:04/10/22 13:13:13 ID:QejOsSIg
hour._rotation = (los_date*30)+(theMin/2);
min._rotation = (theMin*6);
sec._rotation = (theSec*6)
344Now_loading...774KB:04/10/22 23:01:54 ID:jNdCI3kx
音を鳴らすときカッコに数字が入っているのですが
どのような意味でしょうか?
いろいろ試してみて、後ろの数字は再生回数っぽいのですが

_root.SE.start(0,1);
345Now_loading...774KB:04/10/23 02:15:08 ID:BRzR5cXu
あるmovieclip内で以下のASを書いています

this.onPress=function(){
 st_select = "chara"+j;  //j=1が代入されている
 duplicateMovieClip(_root.chara_n,st_select,100+j);
 eval_chara = eval(_root.st_select);
 trace(eval_chara);
}

つまり root に chara1 を複製して、その eval を取りたいんですが、
trace を実行しても undefined が返されてしまいます
これは何故なんですか?

eval_chara = eval(_root.chara1);
とするときちんとtraceを返してくれるんですが
346Now_loading...774KB:04/10/23 02:37:30 ID:SmJVGP4z
>>344
再生開始位置じゃない?

>>345
evalはもう推奨されないじゃなかった?
eval_chara = _root[st_select];
というかその前に
 duplicateMovieClip(_root.chara_n,st_select,100+j);
↑こいつにインスタンスの指定がありませんがな
たぶんやりたいことは

this.onPress=function(){
 //j=1が代入されている
 eval_chara = 複製したいMC.duplicateMovieClip("chara"+j ,st_select,100+j);
 trace(eval_chara);
}
これでどうでしょう?duplicateMovieClipは複製したMCへの参照を返してくれますよ。
347345:04/10/23 02:59:03 ID:BRzR5cXu
>>346
あ、できました
ありがとう

Helpを見たらMCのメソッドでは無い使い方があって
>duplicateMovieClip(target, newname, depth)
> target 複製するムービークリップのターゲットパス。
> newname 複製したムービークリップの一意識別子。
となってたんですが、>>346の方が遥かに使いやすいです
348Now_loading...774KB:04/10/23 12:57:20 ID:LBh4cF3F
evalはもう推奨されない なんてこたぁない。
[]を用いると、配列を用いているのかそれともevalの意味なのか
ソースを見てわかりにくい場合があるので
[]を使わずにevalで書ける記述の場合はevalを用いることにしている。
349Now_loading...774KB:04/10/23 13:16:01 ID:SmJVGP4z
>>348
説明足らずですいません。
Flash4からFlash5になった時に
等式の左辺にevalを使用できなくなったので
[]で統一するほうが安全かなという程度です。
この場合はevalでもいいですね。

ヘルプより
Flash 5 以降では、eval() を使用して変数の値またはインスタンス名を動的に設定および取得することはできません。これは、等式の左辺に eval() を使用できないためです。たとえば、次のようなコードは、

eval ("var" + i) = "first";

次のコードに置き換える必要があります。

this["var"+i] = "first"

350Now_loading...774KB:04/10/23 15:46:08 ID:yTayqUcC
質問です
一度に何個かの当たり判定をつけるにはどうすればいいですか
やっぱり努力と根性?
351Now_loading...774KB:04/10/23 16:22:20 ID:GDi4FLaU
>>350
判定したいMCを全部同じMCにまとめとくとかどうよ
352Now_loading...774KB:04/10/23 17:00:41 ID:K6cLZ8YV
FLASHリモーティングを使用してJavaオブジェクトとマッピングしています。
この場合、ASでもJavaと同じ形式でクラスを定義して
Object.registerClass()で読み込んでますが、
AS2.0でもこの方法でマッピング行うのが正しいのでしょうか?
353Now_loading...774KB:04/10/24 22:49:04 ID:+Cd74apU
AS2.0での質問なんですが
asファイル
class action_01 extends MovieClip {
}
としてMCとリンケージさせました。
ムービークリップの中にダイナミックテキストを配置し変数名をmytxtと
しました。
上記の別スクリプトファイルからmytxtに文字を設定したいのですが
どのようにすればよいのでしょうか?
354Now_loading...774KB:04/10/25 01:57:14 ID:ZCyD10WA
ボタンを押した時 [A] という場所にFlashを読み込みたい場合はどうすればよいのでしょうか・・・
以前あった神サイトがなくなっていて調べられずにいます。。。orz
どうかご教授のほどお願いします
355Now_loading...774KB:04/10/25 03:40:37 ID:t+PXUZrx
フラッシュで
ttp://www.fasco-csc.com/index_j.html
(↑FASCO-CS)
にあるようなゲームを作る場合、アクションスクリプトをどのように使うのがいいでしょうか?
次の段階に進む条件を満たしたかどうかの判定はif(else)を使えばいいのかな?と思うのですが、
使用法がぼんやりとしかわかりません。というか、わかっていないかも。。。
どなたかよい方法や、こうしたゲームの作り方などでアドバイスありましたらよろしくお願いします。
また、上記参考URLのようなゲームを作る解説などがあるサイトでオススメサイトがありましたらぜひ教えてください。
因みにソフトはMXを使っています。
よろしくお願いします。
356Now_loading...774KB:04/10/25 10:26:07 ID:WN6MfxTb
クリムゾンルーム系のゲームって事?

透明ボタン被せて、フラグ変数の制御して終わりじゃないのかな?
357Now_loading...774KB:04/10/25 10:58:11 ID:wR8Zva4o
MX2004 AS2.0環境での質問です。
テキストフィールドのテキスト(内容は掲示板などの方式でphpより読み込み)の一部だけ
<font size="24">テストhtml</font>テスト<span class="test">テストcss</span>
(cssも文字サイズを変えるだけとします)のように行って、普通に表示すると確かに適用されて文字が出力されるのですが、

css、もしくはhtmlによるフォントサイズを適用しつつ、Flashでテキストフィールドプロパティを使いクライアントがいつでも任意に全体の文字サイズを
大きくしたり小さくしたりする方法が見つかりません。(手順は逆でも構いません)
ヘルプにはcssを適用したテキストフィールドはプロパティによる受付をしません といったような記述がありました。
さらにプロパティを適用したテキストフィールドはhtml <font size>を最初から受け付けてくれません。

荒技をお知りの方お願いします。
358Now_loading...774KB:04/10/25 13:37:21 ID:89GcYDyH
  ____∧∧
〜' ____(,,゚Д゚)
  UU    U U

>354
[A]という場所に空のムービークリップを配置し
そこにswfを読み込む。

>357
テキストフィールド全体をムービークリップで包み
そのムービークリップのサイズをスクリプトで変更させる。
359Now_loading...774KB:04/10/25 16:40:39 ID:dtvO0aAf
>>353
それはリンケージではなくMovieClipクラスの継承。

ダイナミックテキストを配置して変数名をmytxtとしたムービークリップの識別子を仮にhogeとすると、
action_01クラスのインスタンスを生成した時に、
mytxtに文字列を設定したMCインスタンスをステーjに配置するのならこんな感じ。

class action_01 extends MovieClip{
static var depth:Number = 1;
public var mytxt:String;
//コンストラクタ関数
public action_01_class(){
_root.attachMovie("hoge","hoge"+depth,depth++);
this = eval("hoge"+depth);
//適当な座標設定
this._x = 100;
this._y = 100;
this.mytxt = "文字列";
}
}
360Now_loading...774KB:04/10/25 16:42:35 ID:dtvO0aAf
コンストラクタ関数名にミス
action_01_class → action_01
361Now_loading...774KB:04/10/25 18:32:31 ID:HFJolWsb
とらぶるうぃんどうずのようなムービーなのに画像をクリックすると
反応するフラッシュを作る方法がわかりません。
どうやればいいのでしょうか。
362KEI:04/10/25 18:53:38 ID:eE6uin7s
>>343
アドバイスありがとうございました!
そうか!!と思い、あれからずーっとActionScriptに取り組んでいました。
が、一向にうまく動かず、短針がぐるぐる回っている状態が続いています。。。
なぜなのでしょうか。。。

今度こそ、いい知らせを書き込もうと思っていたのですが、
どんどん時間が経ってしまうので、先にお礼を!と思い、
こうして書いています。

本当に本当に丁寧に教えていただき、
ありがとうございますm(_ _)m

がんばります!
363Now_loading...774KB:04/10/25 19:11:10 ID:dtvO0aAf
>>361
〜のようなFlashを作りたいんですが、のような質問する時は、
URLよろしく。
364Now_loading...774KB:04/10/25 19:16:37 ID:u5Z3kAR9
フラグ変数って何ですか?
365Now_loading...774KB:04/10/25 20:02:24 ID:dtvO0aAf
366Now_loading...774KB:04/10/25 21:40:42 ID:0YUMwL88
>>359
いや、多分そうではなくて、action_01をあるムービークリップのAS2.0クラスに設定したんだと思う。
その場合はこうなるハズ。

import mx.controls.TextField;

class action_01 extends MovieClip
{
private var mytxt:TextField;

function action_01 ()
{
trace(mytxt); // test
mytxt.text = "文字列";
}
}

// もしかしたらコンストラクタから1フレーム遅らせて設定しないとダメかも
367Now_loading...774KB:04/10/25 22:59:47 ID:SLMnKez3
質問です。
nowloadingのオープニングにしたいのですが、
音楽をライブラリに読み込んで、「リンケージ」の
「最初のフレームに書き出し」にチェックをいれると、
nowloadingの表示される1フレーム目が読み込み開始しません。
というか、正確にいうとどうやら音楽をすべてよみこまないと、
1フレーム目を再生しないらしく、nowloadingのアニメが全く無意味です。

かといって、「リンケージ」の「最初のフレームに書き出し」を
はずしてしまうと、
s.attachSound("winsnd");
のようにattachSoundコマンドで呼び出しても、音楽がきちんと
再生されません。
なんとかしてattachSoundで音楽を「再生」「停止」して、
かつnowloadingもやりたいのですが、どうすればよいのでしょうか。
368Now_loading...774KB:04/10/25 23:19:49 ID:vVYzNca8
>>367
他に良い方法があるかもだけど、自分のやってる方法紹介。

新規シンボルを作る。
作ったシンボルの1フレーム目のフレームアクションでstop()を呼ぶ。
2フレーム目のフレームに読み込みたい音を配置する。
上のシンボルを、ローディング処理が終わった後のフレームに適当に配置する。

これで、attachSoundで使えるようになると思う。
大量のムービーをattachMovieで使いたいときも同じ方法で使えます。
お試しをー。
369367:04/10/25 23:45:51 ID:SLMnKez3
>>368
ありがとうございます!!!!!!

今試してみたところ、きちんとnowloadingが表示され、
かつ、音楽も再生されました。

ありがとうございました。
370Now_loading...774KB:04/10/25 23:56:06 ID:6uAzx0Vi
>>353,366
ありがとうございます。
>action_01をあるムービークリップのAS2.0クラスに設定したんだと思う。
そうです、今回の質問は366さんのほうです。
どうもです、出来ました〜。
371357:04/10/26 00:08:45 ID:HaNH1bnk
>>358
あ、荒技過ぎます・・・・・
参考にしておきます・・・・ありがとうございました
372Now_loading...774KB:04/10/26 16:54:25 ID:rQvLaXCP
>>343
>>362
僕もFLASH世界時計作ってるんですけど大分苦戦してます。
詳しい作り方がわかる方ぜひ教えて下さい。
お願いします。
373Now_loading...774KB:04/10/26 16:58:33 ID:rOFAlr4u
FLASHでお気に入りに追加ボタンを作りたいのですが
やり方わかる方いましたら教えてくださいませ。
374しぃ虐待反対委員会会長:04/10/26 17:01:32 ID:BqJN4f4R
タイピングモナー ver 3.20
タイプ数:176
ミスタイプ:38(21.5%)
平均速度(keys/s):2.3

スコア:721
ランキング:2532位/3303人中
あなたは「逝ってよし++」レベルです
375Now_loading...774KB:04/10/26 17:24:15 ID:mw5ThMkP
>373
  ____∧∧
〜' ____(,,゚Д゚)
  UU    U U

getURLで「お気に入り追加」命令用JavaScriptを呼び出す
376Now_loading...774KB:04/10/26 17:32:28 ID:rOFAlr4u
>>375
どうもありがとうございます。
これでうまくいくかやってみます。
ボタンのAS
on (release) {
getURL("javascript:openWindow()");
}

htmlに書くスクリプト
<script language="JavaScript" type="text/JavaScript">
<!--
function openWindow(){
window.external.AddFavorite('URL','name'");
}
-->
</script>
377Now_loading...774KB:04/10/26 17:39:01 ID:x1UuxR0V
>>376
なんで
getURL("javascript:openWindow()");
           ↑ここに直接お気に入りに入れるJavascript書かないの?
378Now_loading...774KB:04/10/26 19:07:36 ID:rOFAlr4u
最初これでやったら出来なかったもんで。。
on (release) {
getURL("javascript:window.external.AddFavorite('URL','name'");
}
どこか間違ってますか?
379Now_loading...774KB:04/10/26 19:21:11 ID:e4Tdvbla
>>378
Javascriptは分野じゃないけどさー
("javascript:window.external.AddFavorite('URL','name'");
この部分さ、「(」が2個あるのに、「)」が1個しかないのは、おかしくないかなー?
380378:04/10/26 19:30:59 ID:rOFAlr4u
>>379
("javascript:window.external.AddFavorite('URL','name')");
で出来ました。
ありがとうございました。
381Now_loading...774KB:04/10/26 21:09:48 ID:6EuOv0/i
時差のある時計ができない云々言ってる人が約1名いるみたいなんで、
OOPの勉強ついでに作ってみた。ソースUPしとくので適当に覗いて。
スクリプトを記述してあるのはASファイルと、FLAファイルのフレーム1のフレームスクリプト部分のみ。
ちなみにスクリプトの腕は初心者級なのであくまでも参考程度に。

ttp://haiiro.info/up/file/671.zip
382Now_loading...774KB:04/10/27 06:36:56 ID:mzlnBDWd
action scriptでfpsを操作するにはどうしたらよいのですか?
383Now_loading...774KB:04/10/27 06:40:28 ID:NZjjHVaT
>>382
できるらしいが、公式には無理って事になってる。
かなり嫌な処理なので本当に必要かよく考えたほうがいい。
お勧めしない。
384Now_loading...774KB:04/10/27 11:10:43 ID:4Po9ILQB
action scriptを使って
flashのみで メッセンジャーのようなものを作るのは可能でしょうか
もしあれば教えていただきたいのですが
385Now_loading...774KB:04/10/27 12:13:05 ID:7w/zmcJe
>384
  ____∧∧
〜' ____(,,゚Д゚) <Flash単体では無理
  UU    U U

CGIとかJavaとかFlashCommunicationServerを用いる必要あり
386Now_loading...774KB:04/10/27 20:55:23 ID:XG5V529M
この間から、Flash勉強し出したんですけど、
マジでほんさんのサイト 分かりやすいですね。
あと、今日>>1にある本見てきたんですけど、
ActionScript関係の本は、リファレンス本以外
ほとんど値段分の内容が無い本ばっかりでしたね。
(関数関係が最後にちょこちょこあるだけじゃん)
マジで、ほんさんのサイトすごいと思いました。
ムービーをタイムラインで自由に扱える以上、
そのタイムラインとムービの挙動制御系を覚えれば
ある程度のもののムービー(メニュー・広告Flash)を作れると思いましたが
いかがでしょう?そんなにあまくないですかね?orz

もうちょっと早く勉強しとくべきだったFlash.
387Now_loading...774KB:04/10/28 00:06:53 ID:ZKDtMtuH
>>385

JavaとかFlashCommunicationServerは
自サーバがいるんですよね

cgiにするしかないかなぁ。。


flashでの基本的なチャットの作り方を解説したサイト
とかあったら教えていただけないでしょうか
388Now_loading...774KB:04/10/28 00:23:23 ID:oRIPKuRj
>>387
flashはインターフェイス部分に過ぎないと考えた方がいいよ。
普通のチャットが作れなきゃ、flashのチャットは無理。
389Now_loading...774KB:04/10/28 00:37:40 ID:8E9oECnE
質問させていただきます。
目的地dxをSetDestinationで指定すると、スムースに目的地へ移動するテキストを作るために
下記のようなクラスを作ったのですが、SetDestinationを呼び出してもdxが変更されません。
何故ですか?

class MovingText extends MovieClip
{
 static var num:Number = 0;
 private var dx:Number = 0;

 public function MovingText()
 {
  _root.attachMovie("MvText", "MvText" + num, 0);
  this = eval("MvText" + num);
  num++;

  this.onEnterFrame = function():Void
  {
   _x += Math.round((dx - _x) / 4);
  }
 }

 public function SetDestination(x:Number):Void
 {
  dx = x;
 }
}
390Now_loading...774KB:04/10/28 00:45:31 ID:oRIPKuRj
>>389
動きそうな感じではあるんだけどねー。
とりあえずこういう場合は

 public function SetDestination(x:Number):Void
 {
trace("SetDestination");
trace("x = " + x);
  dx = x;
trace("dx = " + dx);
 }

こうやって、処理がどこまで来てるか確かめてみよう。
そしたらこっちもアドバイスしやすいし。
391Now_loading...774KB:04/10/28 00:54:34 ID:8E9oECnE
SetDestination(320)を実行すると

 public function SetDestination(x:Number):Void
 {
  dx = x;
  trace("x = "+ x);
  trace("dx = "+ dx);
 }
では x = 320  dx = 320 と出ます。

  this.onEnterFrame = function():Void
  {
   _x += Math.round((dx - _x) / 4);
   trace("_x = "+ _x);
   trace("dx = "+ dx);
  }
では _x = 0  dx = 0 と、SetDestinationをする前と変わらない結果しか返しません。

SetDestination内のdxと、this.onEnterFrame内のdxが一致していないようなのですが。
392Now_loading...774KB:04/10/28 01:46:05 ID:oRIPKuRj
public function onEnterFrame():Void
{

}
こう?
393Now_loading...774KB:04/10/28 01:58:31 ID:wsAxNh3C
>>391

今ふと試してみましたが、別にそのスクリプトで普通に動きましたが。
ちなみに>>389のスクリプトだと、attachMovieしたMCは一緒に動きません。
(_rootにattachMovieしているので)
attachMovieしたMCも一緒に動かしたいなら、_rootをthisにでも変えてみ。
394Now_loading...774KB:04/10/28 12:02:12 ID:P1ifrSlX
スライドショーを作るときの質問です。


         画像4 (1−4)

     左矢印  右矢印

この状態のとき、右矢印を押しても変数の値を変えず、
いわゆる無反応にさせたいのですが
どういう風なASを記述すればよいでしょうか?

if ( 変数(クリック回数) == 3 )
変数(クリック回数) = 3

というような感じ”3”の時はロックさせれば、OKでしょうか?
( となると、左矢印も同じよう”1”でロックさせればいいのかなぁ。。)

このようなものを作りたいのですが、コレの状態で
new_Array での配列で、ムービーのフレームを移動させたいいときの
ASがちょっとどう書いていいものが分かりせん。。

先生方、どうかご教授いただければと思います。m(_ _)m
395Now_loading...774KB:04/10/28 13:09:34 ID:Vxz//z99
exeとして起動した時に、外部の映像ファイルを読み込みたいとのことだが…できますか?
396395:04/10/28 13:22:36 ID:Vxz//z99
上司に聞いたら無理ポ。って言われましたので。
失礼しました。
397Now_loading...774KB:04/10/28 15:20:47 ID:8V8qnuFt
外部フォルダから複数の画像を呼び出してサムネイル表示
(画像の枚数によってはスクロールも)をさせ、
尚且つそれらをドラッグ&ドロップで任意のエリアに
拡大表示させたいのですが、配列とかがよく判らなくてうまくいきません。。
それから、XMLソースをそのまま表示させることはできないのでしょうか?
398Now_loading...774KB:04/10/28 15:58:58 ID:mhpX1lsj
>>397
どこまで自分でやってみて、具体的にどの部分がわからないの?
質問の範囲が広すぎて答えられない。
399Now_loading...774KB:04/10/28 16:07:37 ID:8V8qnuFt
ありがとうございます、すみません(汗
とりあえずサムネイル画像の方は外部XMLファイルを参照して、
一応表示されています。でもスクロールのさせ方が判りません。。
あと、ドラッグ&ドロップの方は、任意のエリアにドロップさせることは
可能なのですが、枠内からドロップさせた画像が一部はみだしてしまいます。
この状態から、指定エリア内にきちんと収まるように
画像を拡大表示させたいのと、XMLファイルを参照して反映という形ではなく、
ソース自体をテキスト文書のようにそのまま表示させることはできないか。。
ということです。

使用しているOSはWin2k Pro、FlashはMX2004 Pro、playerはVer7です。
400Now_loading...774KB:04/10/28 16:42:05 ID:JfFNhlHR
>>399
data_xmlをXMLクラスのインスタンスとすると、以下のコードでXMLの内容を表示できます。
data_xml.onData=function(src:String){
  trace(src);
}

画像については、loadMovie("image.jpg")で画像を読み込んだ後、
そのMovieClipのインスタンスの_widthと_height使ってうまくリサイズしてください。
例えば100pxにしたい場合、こんな感じ。
var scale_width=100;
var scale_height=100;
//MovieClip display
display.loadMovie("image.jpg");
display.xscale=100*scale_width/display._width;
display.yscale=100*scale_height/display._height;

動かなかったらすまんorz
401397:04/10/28 16:55:03 ID:8V8qnuFt
丁寧に有難うございます。
ちょっと今からやってみます(゚ー゚*)
また、結果ご報告いたしますー。
402Now_loading...774KB:04/10/28 18:54:13 ID:9x0FVBs+
シンボルを上下左右の矢印キーに合わせて動かす方法を教えてください。
403402:04/10/28 19:06:30 ID:9x0FVBs+
解決しました。
404397:04/10/28 19:07:04 ID:8V8qnuFt
2時間程作業してましたが、力量不足で解決不可でしたorz
せっかく親切丁寧に教えてくださったのに申し訳ないです(ノД`)
1つめのXMLの内容を表示する場合なのですが、
表示させたい場所指定は何処でするのでしょうか?
また、Jpgを呼ぶのにまずインスタンスを生成し、

//サムネイルインスタンスの生成と設定
for(var i:Number= 1; i<=menu_num; i++) {
var menu_str:String = "menu"+i;
_root.attachMovie("menu", menu_str, i);
obj_array[i] = eval(menu_str);
obj_array[i].num = i;
obj_array[i].mctext = i;
obj_array[i]._x = 120;
obj_array[i]._y = 80*(i-1);
obj_array[i]._alpha = 80;

//XMLオブジェクトからJPG名を読み込む
var jpg_str:String = obj_xml.firstChild.childNodes[i-1].firstChild;
  obj_array[i].jpg_mc.loadMovie(jpg_str);

このような形で外部から読み込ませているのですが、
それでも自動リサイズさせることは可能でしょうか?

405389:04/10/28 20:39:35 ID:8E9oECnE
力業で自己解決しました。
 this = eval("MvText" + num);
  ↓
 myself = this = eval("MvText" + num);
としてthisの代わりにmyselfで自己指定したところ意図通りに動きました。

>>393
_rootをthisに代えたら何も生成されなくなってしまいました……
406Now_loading...774KB:04/10/29 00:10:12 ID:mBrvJfTz
>>397
ちょっと長くなってぬまん。
まずXMLについて。
XMLを読み込むときは以下のようなイディオムになっているはず。

//サムネールをロード
this.loadThumbnail = function(){
  var filename=obj_xml.firstChild.childNodes[i-1].firstChild;
  ...(ここでJPGをloadMovie()させる)
}
//XMLがロードされたときに呼ばれる関数
this.onGalleryLoad = function(sccess:Boolean){
  if(!success) return;
  loadThumbnail();
}
obj_xml= new XML();
obj_xml.ignoreWhite=true;
obj_xml.onLoad=this.onGalleryLoad;//ここでロードされたときに呼ぶ関数を指定
obj_xml.load("gallery.xml");

続く。
407Now_loading...774KB:04/10/29 00:10:44 ID:mBrvJfTz
で、XMLの中身をを表示させたいなら以下のソースをobj_xml.load("gallery.xml");の前に付加する。
obj_xml.onData = function (src:String) {
 if (src == undefined) {
  this.onLoad(false);
 } else {
  trace("XMLの中身:");
  trace(src);
  this.parseXML(src);
  this.loaded = true;
  this.onLoad(true);
 }
}
とりあえずXMLの内容の表示に成功したら報告してちょうだい。

JPGについては、
obj_array[i].jpg_mc.loadMovie(jpg_str);
の後に
obj_array[i].jpg_mc.xscale=100*320/obj_array[i].jpg_mc.width;
obj_array[i].jpg_mc.yscale=100*240/obj_array[i].jpg_mc.height;
とつけてみれば画像サイズが320x240になるんじゃないかな。
408397:04/10/29 00:20:52 ID:IDQH47/y
>>406-407
とても詳しく解説してくれてありがとうございます(>_<)
今から教えてくださった方法で試してみます。
作業を終わったら、結果報告しにまいりますね。
本当にありがとうございましたー(゚ー゚*)
409397:04/10/29 02:15:48 ID:IDQH47/y
連投すみませんm(_ _)m

えと、今まで必死に試してたのですが
今日のところはどうにもうまく行きませんでしたorz
明日もう少し続きをやってみて、また報告しにこさせていただきます。
406さん、本当にお世話になりましたー。
410Now_loading...774KB:04/10/29 03:13:27 ID:mBrvJfTz
>>397
画像サイズ変換の奴、Flash側での仕様のおかげで
載せたコードでは意図した動作はしなかった。
すみませんorz

というわけで動くコードをうp。
参考にしてください。
ttp://up.isp.2ch.net/up/ff0e14df2146.zip
411Now_loading...774KB:04/10/29 11:28:58 ID:c4nQ/XKl
フラッシュのA(メニュー.swf)とB(コンテンツ.swf)を一つの
HTML上に配置し、Aから変数をBに渡すことは可能ですか?
412Now_loading...774KB:04/10/29 11:36:11 ID:00V+HIq4
>>411
localConnectionのヘルプにそのまま乗ってるよ
413397:04/10/29 14:35:51 ID:AOCjPeEC
>>410
重ね重ねありがとうございます。
DLさせてもらって参考にさせていただきますっ(゚ー゚*)
414Now_loading...774KB:04/10/29 17:07:31 ID:c4nQ/XKl
>>412
素早い解凍ありがとうございます。

もうひとつオマケに質問なんですが、
on (press) {
fscommand("exec", "000.exe");
}
で同一階層exeファイルを起動しようとしてるのですが、起動しません。
問題と思われる点はどこでしょうか?プロジェクタにしても起動しません。
415414:04/10/29 17:34:16 ID:c4nQ/XKl
度々すんません。自己解決しました。orz
416質問です:04/10/29 23:20:28 ID:v47HuSBi
マウスのy座標が、0より小さくなった時又は240より大きくなった時
にフレームを3に移動したいのですが下記のスプリクトではそうならないようです。
どうすればいいですか?

onClipEvent (enterFrame) {
_x = _root._xmouse;
_y = _root._ymouse;
if (_y<0) {
gotoAndStop(3);
} else if (_y>240) {
gotoAndStop(3);
}
}
417Now_loading...774KB:04/10/30 00:32:50 ID:Jn0xsWY1
>>416
あなたがどういう動作を望んでいるのかわからない。

フレームを3に移動したいってのは、ムービクリップのフレーム?
それともルートのフレーム?
ルートのフレームならgotoAndStop(3)を_root.gotoAndStop(3)に書き換えるだけ。

あと、_rootのY座標が0より小さくなることは基本的に有り得ない。
418Now_loading...774KB:04/10/30 00:35:53 ID:GQ1tplzN
>461
  ____∧∧
〜' ____(,,゚Д゚)
  UU    U U

そのスクリプトを記述しているムービークリップ内のフレームは
しっかり3に移動される。
419416:04/10/30 14:02:57 ID:YNxJ7nxE
>>417
_root.gotoAndStop(3)にしたら思い通りにいきました
ありがとうございました
420Now_loading...774KB:04/10/30 18:04:17 ID:qEWMNfv3
少々面倒なのですができたらお願いします。
シューティングにおいて、大量に生成し続なければならない
敵MCや弾MCを、AS上でちゃんと管理するにはどうしたらいいのでしょうか?
Flashはコレクション型や厳密なforeachがないようなのですが

・オーバーフローしないように、MCが登録される集合の中で、
 削除されたMCが入っていた場所と生存しているMCが入っている場所との
 フラグメントを見て空きをチェックして新規挿入する
・挿入、削除が頻繁に行われる集合に対する繰り返し処理の書き方

等の処理の記述がうまく書けません。
また、もっと簡単なやり方があったら教えていただきたいです。
421Now_loading...774KB:04/10/30 19:39:54 ID:GQ1tplzN
>420
  ____∧∧
〜' ____(,,゚Д゚)
  UU    U U

こことか参考
ttp://www.vas-animatum.net/blog/archives/000531.php
422Now_loading...774KB:04/10/30 21:30:55 ID:qEWMNfv3
>>421
ありがとうございます。
この直接的な配列記述を避けるというのは、
ある種類のオブジェクトのグループを
全て同名のオブジェクトとして登録することで走査の際に
配列でやらなくてもオブジェクトを指定するだけで
後は内部に任せてよいということでしょうか?
423Now_loading...774KB:04/10/30 22:00:41 ID:LvwpOB97
>>422
同名のオブジェクトの中に、「名前」をつけて格納する。
削除や追加は、その「名前」でアクセスする。

全体を動作させたりするときは、for 〜 in を使う。

ってことだと思う。
>421流し読みした程度だから、間違ってたらスマン。
424Now_loading...774KB:04/10/31 00:11:32 ID:i4wN6R/U
質問です。
WIN-XPで MX使っています。

ダイナミックテキストに外部テキストファイルを読み込むことは
できました。が、そのダイナミックテキストにUIコンポーネントの
スクロールバーをはりつけたところ、全然反応しません。
ドラッグして動かす部分が出てこないのです。

普通に外部ファイルではなく、flaファイルそのものにテキストを
埋め込んだ場合はスクロールバーもでてきて反応します。
外部から読み込んだ場合はうまくいかないものなのでしょうか、、、、?

よろしくお願いします。
425Now_loading...774KB:04/10/31 01:15:42 ID:pfzRJsgC
>420,422
  ____∧∧
〜' ____(,,゚Д゚)
  UU    U U

423さんの言うとおり。

各敵MCや弾MC複製時に各IDを持たせ、削除時にそのIDから
全ての敵MCや弾MCを管理するオブジェクトにアクセスする。
走査の必要はなくなるハッシュ法。
426Now_loading...774KB:04/10/31 01:18:21 ID:bQyU7dta
>>424
ダイナミックテキストの変数に直接読み込むと、スクロールバーは反応しない。

解決策は、ダイナミックテキストに適当なインスタンス名を付けて、
そのtextプロパティに読み込んだ内容を入れる。
仮にあなたがダイナミックテキストに付けてる変数をdisplay_var、外部ファイルの内容が入ってる変数をsrc、
これからダイナミックテキストにdisplay_txtというインスタンス名を付けるとすると、

あなたのスクリプトの
display_var = src;
の部分を
display_txt.text = src;
と書き換える。
427Now_loading...774KB:04/10/31 01:22:21 ID:pfzRJsgC
>424
  ____∧∧
〜' ____(,,゚Д゚)
  UU    U U

外部から文字列を読み込んだから
うまくいかなくなるということはない。

適当な変数に複数行になる文字列を代入したものを用意し
対象テキストエリアに その値を代入してみて
スクロールバーが動作するかどうか実験。
428Now_loading...774KB:04/10/31 01:24:59 ID:pfzRJsgC
>426
  ____∧∧
〜' ____(,,゚Д゚) <知らんかった!
  UU    U U

勉強になりました。
429Now_loading...774KB:04/10/31 02:01:02 ID:XsAj1ojg
このスレ質問しなくても見てるだけで勉強になるよなぁ。
430424:04/10/31 02:09:40 ID:xc06vnph
>>426
ご回答ありがとうございます。

すみません。あまりActionScriptが得意でないもので、教えてもらった後
調べたり試してみたのですが、うまくいきません。

少しまとめてみます。

テキストファイルの名前: smp.txt
テキストの中身の初めにかいてある文字(変数名): nakami=
ダイナミックテキストには直接ASを組み込めなかったので、
シンボル(ムービークリップ)化したインスタンス名: kumikomi
ダイナミックテキストのインスタンス名: textfield
ダイナミックテキストの変数名: nakami

ここで、通常であればインスタンスkumikomiに
onClipEvent(load){
System.useCodepage = true;
this.loadVariables("smp.txt");
}
と記述すれば、テキストファイルの文字自体はダイナミックテキストに
表示されます。しかしスクロールバーは動きません。

ですが、426さんはtextfieldをうまく使えとのこと。どのようにすれば
よいのでしょうか。本当にすみませんです。

>>427
ありがとうございます。色々と試してみたのですが、うまくいきません。
431Now_loading...774KB:04/10/31 02:14:57 ID:hbJ5ulcb
1.テキストフィールド作製
2.テキストの内容量によってスクロールバーが変化する
3.テキストフィールドに内容が読み込まれる

↑ヒント:この順番だから悪い
432424:04/10/31 02:41:33 ID:xc06vnph
>>431
1→3→2の順にすればよいのでしょうか。

試行錯誤しておりますが、なかなかうまくいかず。
とりあえず、今日は寝てまた明日やることにします。

ありがとうございました。
433Now_loading...774KB:04/10/31 04:30:27 ID:QUR12qiD
>>424
横槍入れるようで悪いが、
スクロール可能なテキスト処理ならTextAreaが楽
TextAreaコンポーネントを配置して、次の方法で文字をセットする
  TextAreaのインスタンス名.text = "文字列";

スクロール処理を書かなくていいからソースがきれいになるよ
詳しくはヘルプを見てくれ
434Now_loading...774KB:04/10/31 05:55:00 ID:bQyU7dta
>>430
そのスクリプトを最大限に尊重しつつ望みの動作をさせるには、
こんな感じに書けばとりあえず動きます。
・・・色々と問題のあるスクリプトですが。

onClipEvent(load){
System.useCodepage = true;
this.loadVariables("smp.txt");

var loadData_lv = new LoadVars();
loadData_lv.onLoad = function(success){
if(success){
textfield.text = nakami;
}
}
loadData_lv.load("smp.txt");
}
435424:04/10/31 10:43:55 ID:evUXTZN0
>>433
TextAreaですね。
ヘルプで勉強してみます!
ありがとうございました。

>>434
試してみたところ、なんと動くではありませんですか!
でも、どうして動くのかは、今のところさっぱりわかりませんので
これから解説書と格闘です。
ありがとうございました。

436Now_loading...774KB:04/10/31 11:17:37 ID:P1qI40H7
変数の名前を入れた後で
インスタンス名.textで出力するようにすると
うまくいかないことあるね。

>>428タソ
コテハン化希望
437超基本的スレ459:04/10/31 15:14:14 ID:59kLYWCU
質問です。

初めてフラッシュゲームを作ろうと思っているのですが
A-B と入れ子になっているMCがメインタイムフレームに配置してあり
Bがロードされた時にイベントを起こしたいのですが、どのようにしたら良いでしょうか?

・FLASH_MXを使っています
・Aはマップで、Bは敵キャラ、マップが動くので入れ子になってます。
・Bは複製させる予定なので、フレームアクションで制御してます
・_parent.onLoadイベントを使ったところ、 A-B のカタチではイベントが起きず、
 試しにBを直接メインに配置した所イベントが発生しました。

なんかクイズみたいな書き方になりましたが。。。
こうしたら良いかもって意見があったらよろしくお願いしますm(._.)m
438Now_loading...774KB:04/10/31 16:17:22 ID:HcALFfS9
>>437
onLoadの代わりにonClipEvent(load)を使えとヘルプは言っている。
ただ、すべてのインスタンスに設定するのは現実的ではないので、
MC内部のフレームアクションに初期化処理を直接書けばいいのかも。

どうしてもロード時に処理したいんだったら、
メインタイムラインのフレームアクションからインスタンスのonLoadを手動でたたく。

//メインタイムラインのフレームアクション
this.onLoad=function(){
  A_mc.onLoad();
}

//Aのフレームアクション
this.onLoad=function(){
  B_mc.onLoad();
}

//Bのフレームアクション
this.onLoad=function(){
  (任意の動作)
}
439超基本的スレ459:04/10/31 17:03:53 ID:59kLYWCU
>438 さん
レス有り難う御座いましたm( __ __ )m
私の書き方が悪かったですね。

つまり
・スクロールするマップA_mcの上に敵B_mcが乗っている
・敵B_mcは時間内で無限に生成される
メイン
 ├マップA_mc
   ├敵B_mc
   ├敵B_mc
   ├敵B_mc
     ・
     ・
この条件で、
・敵B_mcが発生した時に一度だけ、変数を定義するイベントを起こしたい

と言う事なのです。
敵B_mcのフレームアクションにonLoadを使えば出来るだろうと
思ったのですが、A-Bと入れ子になっていると、onLoadが動かないらしく
途方にくれていました。。

分りづらくてすみません orz
440Now_loading...774KB:04/10/31 17:27:26 ID:zEX4baBu
onLoadは関係ないと考えてみてください。

例えば敵のIDを定義するとき、Bのフレームアクションに
if(this.enemyID==undefined) this.enemyID=_parent.getNewEnemyId();
と書けば一度だけ動くはず。
あとはAのフレームアクションにgetNewEnemyId()を実装すればOK

この応用で、一連の初期化を行いたいときはこう記述する。
//Bのフレームアクション
if(this.init==undefined){
  (初期化処理)
  this.init=true;
}
441超基本的スレ459:04/10/31 23:38:53 ID:59kLYWCU
>440 さん
やっっっと思ったとおりに動かす事が出来ました!
ありがとうございました(*_ _)
442超基本的スレ459:04/10/31 23:39:20 ID:59kLYWCU
またageてしまった・・・・ごめんなさいorz
443Now_loading...774KB:04/11/01 04:31:06 ID:tyofi6fT
ちと質問です。
コンポーネントのクラスへの参照をLocalConnectionで異なるswfに転送したいなあと考えてます。
//送信側swf
var param = new Object();//送信するオブジェクト
param.classEP = mx.controls.ComboBox; //クラスへの参照を定義
param.text = "test"; //ちゃんと転送できるかテストする変数
var connToDst = new LocalConnection();
connToDst.send("connection", "onData", param);

//受信側swf
var connFromSrc = new LocalConnection();
connFromSrc.connect("connection");
connFromSrc.onData = function(param){
  for(var key in param){
    trace(key + "=" + param[key]); // "classEP=Function" と出るはず
  }
}
いざデータを受信してみると、テスト用変数(param.test)は正常に渡されるのですが、
クラスへの参照(param.classEP)は正常に渡されていません。
エラーも吐かず、ひっそりと抹消されてますorz

クラスへの参照を文字列で受け取り、文字列をキーにして参照を抽出すれば回避できますが、
もっとエレガントな回避方法はないのでしょうか?
動作環境はFlash MX 2004 Professional for Windowsです。
444Now_loading...774KB:04/11/01 05:37:53 ID:tyofi6fT
>>441
補足。
このテクニック、実はヘルプに書いてあります。

ActionScriptユーザーガイド→ベストプラクティスの使用→
→ActionScriptのコーディング規則→ActionScriptの記述→初期化の追加

よーく読むと、こんなことが書いてあります。
> 次のコードはアプリケーション内の最初の関数呼び出しで、初期化を行う唯一のものです。
Macromedia語から地球語に訳すと「ある処理を一度だけするにはこう書きます」って意味。
ヘルプのコードに if (init == undefined) とか init = true; とか登場してきて、
今読めば納得できるはず。

こっちを見るともっとシンプルかも。
ActionScriptユーザーガイド→ActionScriptの基礎→データ型について→未定義 (Undefined) データ型
445Now_loading...774KB:04/11/01 16:22:00 ID:AqdW7F86
MXで質問です。
MC(MovieClip)に各々EnterFrameを指定するよりも、
一つのMCに全てのMCを制御するAS(ActionScript)を組み込んだ方が
処理が軽くなりませんか?
非同期に処理しているなら、そうなると思ったんですが。
446Now_loading...774KB:04/11/01 21:23:09 ID:K32zLFp5
>>445
自分で試した処理を(ry

処理時間は以下のコードで分かる
var nTime:Number = getTimer();
this.onLoad = function(){
  trace('処理時間:'+(getTimer()-nTime)+'msec');
}
447Now_loading...774KB:04/11/02 00:14:15 ID:7EM0kqGJ
>>446
d。そのコードで試してみました。
一つに纏めて制御した方が軽かったです。
けど、確証が持てないから(コードにもよるかもしれんし)
448Now_loading...774KB:04/11/02 01:43:02 ID:Co/KxUAh
報告d。
予想でしかないが、速度差はあまりないはず。
厳密なことを言うのなら、記述するコードによってどっちが速いか変わると思われ。

[ひとつの処理にまとめた場合]
・MC内のonEnterFrameへの参照がなくなる分早くなる
・ただしMC内の変数への参照処理を増やした場合、遅くなる
[処理を分散させた場合]
・MC内へのonEnterFrameへの参照が増える分遅くなる
・ただし、MC内での参照処理を増やした場合、メインタイムラインから直接参照するのと比べて速度は低下しない

自分も開発関係者ではないから確証は持てない。
まあ実行速度よりも開発速度を上げたほうが後々楽。
449Now_loading...774KB:04/11/02 10:00:51 ID:Dwu66EwL
質問させて頂きます
resultData[0]の値が、最後に実行されたcalcDataの戻り値で
上書きされているようなのですが何故でしょうか。

class resultObject{
 public var value:Number;
}

var resultData:Array = new Array();

function calcAll():Void{
 for(var i = 0; i < 3; i++){
  resultData.push( calcData(i) );
  trace(resultData[0].value + " , " + resultData[i].value);
 }
}

function calcData(i:number):resultObject{
 var d = new resultObject();
 d.value = i * 20;
 return(d);
}

実際のトレース結果  期待しているトレース結果
0 , 0             0 , 0
20 , 20           0 , 20
40 , 40           0 , 40
450Now_loading...774KB:04/11/02 10:27:24 ID:ZW+hk0tF
>>449
MX2004で試したら期待通りの出力がされましたよ。
以下のような形でテストしました。

外部asファイル:resultObject.as
------------------------------
class resultObject{
 public var value:Number;
}

451450 続き:04/11/02 10:27:46 ID:ZW+hk0tF
フレームスクリプト
------------------------------
var resultData:Array = new Array();
function calcAll():Void{
 for(var i = 0; i < 3; i++){
  resultData.push( calcData(i) );
  trace(resultData[0].value + " , " + resultData[i].value);
 }
}
function calcData(i:Number):resultObject{
 var d = new resultObject();
 d.value = i * 20;
 return(d);
}
calcAll();

結果
------------------------------
0 , 0
0 , 20
0 , 40

特に問題ないように思えますが、どこか大文字小文字が間違っていたりとか
ないでしょうか?
452448:04/11/02 10:54:58 ID:Dwu66EwL
>>450
ありがとうございます。そして、すみません。問題の抽出の仕方を間違ってました。
448のコードはこちらでも問題なく動きました。
resultObject内のArray型の変数操作が上手くいかないのですが。何故でしょうか。

class resultObject{
 public var value:Array = new Array()r;
}

var resultData:Array = new Array();

function calcAll():Void{
 for(var i = 0; i < 3; i++){
  resultData.push( calcData(i) );
  trace(resultData[0].value[0] + " , " + resultData[i].value[0]);
 }
}

function calcData(i:number):resultObject{
 var d = new resultObject();
 for(var n = 0; n < 3; n++){ d.value[n] = i * 20; }
 return(d);
}

実際のトレース結果  期待しているトレース結果
0 , 0             0 , 0
20 , 20           0 , 20
40 , 40           0 , 40
453Now_loading...774KB:04/11/02 11:19:30 ID:ZW+hk0tF
>>452
たぶんこうかな?ちょっと未検証ですけどお試しを

class resultObject {
 public var value:Array;
 function resultObject(){
  value = new Array();
 }
}
454448:04/11/02 11:29:15 ID:Dwu66EwL
>>453
成功しました。ありがとうございます。
配列型の宣言には気を付けます。
455Now_loading...774KB:04/11/02 21:42:41 ID:jBAvvb8o
MXです。
「もし、一方の文字列がもう一方の文字列と”一部”一致する場合」
という条件を作りたいですが、よく分かりません。
教えてください。お願いします。
456Now_loading...774KB:04/11/02 21:59:17 ID:2s29Dwxz
>>455
indexOfの値が-1より大きいかどうかで判断

a = "あ、りょうちんこないだはありがとうなり。うれしかったお。";
b = "ちんこ";
if (a.indexOf(b)>-1) {trace(b+"が入ってます");}
457Now_loading...774KB:04/11/02 22:06:05 ID:V23luCTv
>>456
ワロタ
458Now_loading...774KB:04/11/03 02:21:01 ID:IAqTJbSu
MX2004 WinXP

ちょっとしたゲームを作ってるのですが、

a.text = boss.substr(0,3) //ボスの体力 0〜100まで
if ( a.text < b.text ){  //b.textで指定した数値よりボスの体力が低かったら
gotoAndplay(3)       //3フレームに飛ぶ

と、こんな感じで書いてるのですが、b.textに9と入力した時、
ボスの体力が100でもフレーム3に飛んでしまいます。b.textは
「テキスト入力」です。
初心者ですみません。どなたかご教示下さいませんか?m(_ _)m
よろしくお願いします。
459Now_loading...774KB:04/11/03 02:22:26 ID:IAqTJbSu
>>458
すみません。

a.text = boss.substr(0,3) //ボスの体力 0〜100まで
if ( a.text < b.text ){  //b.textで指定した数値よりボスの体力が低かったら
gotoAndplay(3)
}

ですっm(_ _)m
460Now_loading...774KB:04/11/03 02:32:31 ID:pcYnQ3HU
変数が数値として認識されてないから。
461Now_loading...774KB:04/11/03 18:13:46 ID:Zztuc6jI
ルート上にひとつムービクリップ(hoge_mc)を配置しました。
そのMCにクリップアクション
onClipEvent(keyDown) {
trace("clip action");
}
だとトレースが実行されるのですが

フレームアクション
this.hoge_mc.onKeyDown = function() {
trace("frame action");
};
の場合はキーを押してもトレースは実行されません・・

この2つのちがいはなんなんでしょうか?
なぜクリップアクションだと実行されてフレームアクションだと
実行されないのですか?

462Now_loading...774KB:04/11/03 18:34:12 ID:mINJyeh8
>>459
Number()とかそこら辺

>>461
onClipEventだと勝手にリスナー登録までしてくれるんだけど
this.hoge_mc.onKeyDown = function()は個別にリスナー登録しなきゃいけないみたい。
Key.addListener(this.hoge_mc);とか書くと動くかもしれない。
463461:04/11/03 19:02:43 ID:Zztuc6jI
>>462
なるほどonClipEventはかってにリスナー登録してあるからKeyイベント
が通知されるって言うことだったんですね。

>Key.addListener(this.hoge_mc);
Keyオブジェクトにhoge_mcをリスナー登録したら動きました。

onClipEventはリスナー登録を自動でしてくれるなんて知りません
でした、勉強になりました、どうもです。
464Now_loading...774KB:04/11/03 19:16:26 ID:pcYnQ3HU
次のフレームにも同じスクリプトを書きなさい。
フレームはループさせること。
465Now_loading...774KB:04/11/03 19:44:59 ID:W+njPL+I
>>464
???
466Now_loading...774KB:04/11/03 21:02:32 ID:HjKDPOL6
ムービークリップA・B・Cとありまして全部個々に移動しています。
このインスタンスの移動をボタンで止めて
止まった位置から指定した座標へインスタンスを
30フレームかけて移動させたいのですがどうすればよいですか?

とりあえず、ムービークリップABCを止めることは出来たのですが
ABCを指定した座標へ移動させる事が出来ません。
テレポーテーションは出来るのですが。。。

どなたかお知恵をお願いします。
FLASH MXを使用しております。
もう朝からずっとやってるのにまったくわからない…(;´д`)
467Now_loading...774KB:04/11/03 21:15:16 ID:RI2raPwO
>>466
目的の座標までの距離を30等分して、
for文かなんかで移動する処理を30回やればいいんでねーの。
468Now_loading...774KB:04/11/03 21:26:39 ID:HjKDPOL6
>>467
ムービークリップが移動していて、それを好きな時にボタンで止めてるんで
目的座標までの距離がいつもバラバラなんです。

まぁ、その前にXとYの目的座標までの距離をどうやって出すのかもわかりませんが…_| ̄|○
無理なのかなぁ。。。
469Now_loading...774KB:04/11/03 21:46:32 ID:RI2raPwO
>>468
もっと基本的なことから勉強した方がいいよ。
悪いこといわないから本買って読んでからやったほうがいい。


A._x
A._y

これはムービークリップAの座標を表してる。
目的の座標から、現在の座標を引いて30で割ってその値を30回足せばいい。
470Now_loading...774KB:04/11/03 22:13:27 ID:ZWV/ufKv
>>469

才オォ(゚Д゚)ォオ才
そんな方法でOKなのですね!!
つまり現在の座標を取得して変数に入れて、目的座標から現在の座標を引いて割ってループさせろ、と。
やってみます!

やっぱり本は買った方がいいですよね(;´Д`)
JavaScriptならほんの少しわかるんでそれを頼りにやってました。。。
とりあえず、ActionScriptバイブルとやらを買ってみます。
本当にありがとうございました!!
471455:04/11/03 23:08:49 ID:PCFzKYc6
>456
ありがとうございます。
あれから、お返しできるネタを考えていたのですが、
思いつきませんでした。すみません。
472Now_loading...774KB:04/11/04 00:59:54 ID:uYMrb6Zr
リンクボタンをswfで作ってHTMLのインラインフレーム内の
ページをそのリンクボタンを押して別ページに移動させたいんですが、
なかなかうまくいかなく激しくしょんぼりしてます。

WinXPでFlashMX、ブラウザはIE6です。
下がswfリンクボタンのactionスクリプトです。


on (release) {
getURL("test.htm", "main");
}


非常に単純です。これでの実行動作は「ボタンをクリックしてもまったく反応がない」との現状です。
「ボタンを押す→インラインフレーム内のページを別ページに移動させる」と
これだけの動作です。インラインフレームのnameはmain、別ページがtest.htm。

どなたか助言よろしくお願いします。
473Now_loading...774KB:04/11/04 01:10:48 ID:OXID7y4h
とりあえずswfファイル単体で起動して
ボタンを押してみるといい。
新しいウインドウが開けばHTMLに問題がある
新しいウインドウが開かなければflashに問題がある(ボタンそのものが動いていない)
474Now_loading...774KB:04/11/04 06:03:33 ID:pSMiyQGf
ACじゃなくて恐縮ですがFLASHって最大フレーム数が決まってます?
自分が作っているものは16000フレーム以降がうまく動作しません。

バージョンはMXです。
475Now_loading...774KB:04/11/04 06:22:16 ID:OXID7y4h
476Now_loading...774KB:04/11/04 08:10:05 ID:EliTZm9v
>>474
16000だったかな?とにかく限界はある。
loadMovieNumで再生中に次のswfを読み込むことで回避できる。

getURLで次のswfに飛ばすって方が見た目は悪いが簡単かも。
477Now_loading...774KB:04/11/04 09:44:35 ID:a5NRJ7fr
全てのフレームをコピペしたシンボルを作れば、なんと1フレームに。
478474:04/11/04 15:03:13 ID:pSMiyQGf
>476
やっぱり限界があるんですね。
loadMovieNumをうまいこと盛り込むのがよさそうですね。

>477
なるほど・・・コロンブスの卵的発想ですね^^
うまい事いくかどうか分かりませんがそれも試してみようっと。

ありがとうございました。
479Now_loading...774KB:04/11/05 15:46:59 ID:jMoWhHD3
はじめまして。

現在、
flashにてファイルのブラウズをしようと考えています。
私の考えでは、flashからJavaScriptを呼び出し、
<input type="fileupload">をclickメソッドで自動表示させ、
そのファイルパスを取得したいと考えています。

このとき、
flash側ではリロード処理などを行わないようにしたいのですが、
どうも上手くいきません。

何か良い方法があればご教授お願いします。

私の環境は。。。
os:windows2000
flash:FLASH MX
テスト環境のサーバーにはcoldfusionMX
が入っていますが、できればcfcとの連携は
回避したいと思っています。
480Now_loading...774KB:04/11/05 16:49:32 ID:74ea58Mz
AS職人スレのコピペ。何か後輩が騒いでたよ
http://www.gtd.co.jp/information/event/info_flash1120.html
481Now_loading...774KB:04/11/05 17:12:08 ID:vcBqXJ7S
>>480
参加者に(;´Д`)ハァハァしますた


 「オブジェクト指向をなんでつかわなきゃいけないんですか? コピペでいいじゃん」
 と部下にいわれたのですがどうやって説明すればいいですか?
 R.K ディレクター歴4年 Flash歴2年


 オブジェクト指向でActionScriptを書くと、流用しやすい、効率的というのですが…
 ぶっちゃげ現場で活用できていません。どうすればよいでしょうか?
 R.S ディレクター歴3年 Flash歴1年



482480:04/11/05 17:48:35 ID:74ea58Mz
よく見たらここのディレクター前にデザイニングに出てたな。Flashカンファレンス2004にも居たわ
483472:04/11/05 18:17:00 ID:94aI1Ccy
>>473
返信ありがとうございます。

swf単体で動作実行してみた所、新しいウィンドウが開いたのでhtml側に
原因があるようです。htmlをもう一度見直してみます。
本当にありがとうございました。
484Now_loading...774KB:04/11/05 18:32:57 ID:21kwjylp
FLASHMXでテキスト入力BOXを入れて
検索機能をつけようと思っているのですが
テキスト入力の変数に=や&等が入ると=が%3dになったりして
マクロのサイトでもFAQなどみたのですが解決できません。
=や&を変数に加えるにはどのようにすれば宜しいのでしょうか?
皆様よろしくお願いします。
485Now_loading...774KB:04/11/05 23:25:34 ID:utoVLytz
>>484

System.useCodepage = true;

とりあえずこの一行を実行させておくのがおすすめ
486Now_loading...774KB:04/11/06 04:01:48 ID:j12XTmZf
そういうことじゃないと思うけど
487484:04/11/06 12:30:22 ID:l1L+jbDT
いろいろ自分なりに調べてみたのですが
http://pc5.2ch.net/test/read.cgi/swf/1094555605/
このスレッドの19さんと同じ質問内容だと思います。
回答はすでに404なので今はどうやって解決されたのか
わからないんです。
488484:04/11/06 12:33:21 ID:l1L+jbDT
>>485さん
とりあえず入れておきました、がやはり変化はありませんでした。
489Now_loading...774KB:04/11/06 13:13:31 ID:j12XTmZf
>>488
一回 escape() してから unescape() すればいいんじゃネーノ。
490484:04/11/06 14:41:18 ID:l1L+jbDT
>>489さん
ありがとうございます、escape() unescape() なんですが
調べてみても使い方がよくわからず苦戦しています。
具体的に変数にはmode=search&wordを入れたいんですが
これをmode%3Dsearch%26wordと入れるだけではだめなんですよねぇ?
申し訳ないのですがもう少しだけ詳しく教えていただければ
うれしいです。よろしくお願いします。
491Now_loading...774KB:04/11/06 18:18:44 ID:/n6+qUdh
質問します。
attachMovieで表示したムービークリップをlineToで塗りつぶした後に
同一インスタンスを再描画することは可能でしょうか。

例えば下記のようにムービークリップを毎回呼び出したりしても無視されてしまいます。
何度も同じシンボルを塗りつぶしては描画、塗りつぶしては描画・・・とやりたいのですが
方法はありますか?
this.onEnterFrame = function(){
_root.attachMovie( "Graphic", "Graphic1", 3 );
}
492Now_loading...774KB:04/11/06 19:35:02 ID:H3H022GA
教えてください。
RPGの様にキャラクターが画面上を移動する時、
MAPの範囲以上は進めない様にしたいのですが、
どのようにすればいいのでしょうか。
ちなみにMAPはフリーハンドで書いているので、規則性がありません。
493Now_loading...774KB:04/11/06 19:39:05 ID:SKWD9ERF
フリーハンドで書かないでください
と言いたいとこだけど、方法は
hitTestで、キャラの4スミの点とマップを判定すればいい。
精度を上げたかったらもっと点を増やす。

で、これでわかんない場合は悪いことは言わないから
フリーハンドじゃなくてブロックにしなさい。
494Now_loading...774KB:04/11/06 19:42:12 ID:SKWD9ERF
>>491
描画の定義が間違ってると思う。
attachはMCの複製でもないし描画でもないし呼び出しでもないし、配置なので
言ってることとそのスクリプトが合致してないよ。
どっちをしたいのかな?
495491:04/11/06 19:57:08 ID:/n6+qUdh
>>494
どうもです。
やりたいのは文章の方でして、何かしらの画像を描画して・・・同一の画像をまた描画して・・・
の繰り返しをしたいと思っています。
496Now_loading...774KB:04/11/06 19:59:13 ID:I1pkZT4m
艦隊射撃(ttp://www12.plala.or.jp/nextframe/flash/bs.html)のような放物線を書きたいのですが、式が全くわかりません。
教えてくださいお願いします。
497Now_loading...774KB:04/11/06 20:00:47 ID:j12XTmZf
実際に作ってみたけど、 「=」 や 「&」 も普通に変数に入れられるけどなあ。
498Now_loading...774KB:04/11/06 20:03:17 ID:tuJQ4ayN
>>495
画像を描画という表現がよくわからないです。
499491:04/11/06 20:18:36 ID:/n6+qUdh
>>498
要はムービークリップなりビットマップなりを画面の特定位置に表示(配置)して、
その位置にlineToなどで塗りつぶしたとしますよね。
そうすると、塗りつぶされた部分は見えなくなる。
その後に先ほどの画像を何度も元に戻したいのですが、できるのでしょうか?
500Now_loading...774KB:04/11/06 20:32:54 ID:mVk2TnEs
>>492
マップのサイズが例えば200 X 200なら、
40000座標について全て移動可能か不可かのデータを作って、
それで判定する方法も。
実際にやるなら多次元配列を使うことになると思うけど、
わかりやすく書けば[0,0] = '不可'、[0,1] = '不可'、[0,2] = '可能'みたいな感じで。
あるいはデータ量を減らすために、2 X 2とか3 X 3を1マスとしても良いかもしれない。
フリーハンドで描いたマップをデータに変換するプログラムを別途作成する必要が出てくるけどね。
実際のゲームでも用いられてる方法。
501Now_loading...774KB:04/11/06 21:10:25 ID:tuJQ4ayN
>>499
lineToで書いた分をクリアするのとは違うんですか?
もしそうならMC.clear();でできます。
502491:04/11/06 21:33:29 ID:/n6+qUdh
>>501
lineToで描いた分をクリアできる方法があると知りませんでした。
clear();でなんとかなりそうです。

ありがとうございました。
503Now_loading...774KB:04/11/07 02:49:38 ID:D73H22q5
>>496y=-x^2
504Now_loading...774KB:04/11/07 09:28:09 ID:zkuU8z5d
タイムラインにレイヤーを二つ作って、
下のレイヤーにボタンを配置し、上のレイヤーにムービークリップを配置したのですが、
カーソルが、上のレイヤーに配置したムービークリップ上にある時でも、下のレイヤーに配置したボタンを押せてしまいます。

上のレイヤーに配置したムービクリップ上にカーソルがある時は、
下のレイヤーに配置したボタンが反応しないようにするには、どうすればよいのでしょうか?
505Now_loading...774KB:04/11/07 10:11:44 ID:pwTotS+d
>>496
三角関数
506Now_loading...774KB:04/11/07 13:15:56 ID:5jw+WBhV
>>504
上のレイヤーのムービーに何も処理をしないボタンを被せる。
指カーソルを使用しない設定にしたら、なおよし。
507Now_loading...774KB:04/11/07 15:02:02 ID:zkuU8z5d
>>506
ありがとうございました!
508Now_loading...774KB:04/11/07 21:24:40 ID:VAAUEsvT
actionscriptの
1.0と2.0の主な違いってどんなのがあるの?
509Now_loading...774KB:04/11/08 00:58:17 ID:wjJ74fJK
角度とか
510Now_loading...774KB:04/11/08 01:28:22 ID:3oS8AeoP
ラジアンでちゃんと計算されてる
511Now_loading...774KB:04/11/08 02:37:59 ID:Dx4gyGd5
厳格な型指定
別ファイルによるjavaライクなクラス
大文字と小文字の区別
存在しない呼び出しの警告
512Now_loading...774KB:04/11/08 14:48:49 ID:DsDT/iPf
質問させてください。

tgt_mc._height = 300;
tgt_mc._width = 200;
上記のような形で
MCのサイズを変更した時、
そのMCに含まれる全てのオブジェクトが、
拡大・縮小されますよね?

このとき、
この対象となるオブジェクトのサイズのみ
変更する方法はないでしょうか?

宜しくお願い致します。

513Now_loading...774KB:04/11/08 14:58:44 ID:jRMtGIwS
中身を同じ比率で拡大する。

ただし、俺に言わせればそれはMCの設計から間違っている。
514512:04/11/08 15:51:05 ID:DsDT/iPf
>>513
ありがとうございます。
なんとか対象のオブジェクトだけのサイズ変更を実現できました。

ていうか、ちと勉強不足のようなので、
修行してきます。。。
515Now_loading...774KB:04/11/08 17:53:52 ID:TULRzx7y
質問です。

ドキュメントのサイズを”プリンタ”で合わせて、Flash全体を印刷したいのですが、
print関数で印刷すると、隅のほうに小さく印刷されます。
パラメータをbmaxにしてもダメでした。
Flashプレイヤーの「プリント」だと、用紙一杯に印刷されます。
ちなみに違うflaファイル(サイズはまったく同じ)でprint関数で印刷したところ、問題なく用紙一杯に印刷されました。

print関数で問題なく用紙一杯に印刷するにはどうすればいいでしょうか?
また、FlashPlayerメニューの「印刷」はprint関数で印刷してるんでしょうか?
516Now_loading...774KB:04/11/08 20:48:27 ID:hebAt40j
テキストを外部ファイルから読み込んだときに
文字化けするんですけどどうしたらいいんでしょうか。
なんか本を見たら”System.useCodePage”ていうのを使うって書いてあったから
System.useCodePage=true;
って書いたら
「:useCodePage' という名前のプロパティはありません」
ってなったんですけど。
517516:04/11/08 20:53:38 ID:hebAt40j
スンマセン、自己解決しました。
518Now_loading...774KB:04/11/08 21:26:00 ID:lulxlcIM
ドラッグドロップでオブジェクトのサイズ変更
をしたいんですけどどうすればいいんですか。
519Now_loading...774KB:04/11/08 21:28:30 ID:wjJ74fJK
startDragとか_widthとか使う
520Now_loading...774KB:04/11/09 00:11:46 ID:1kiI6j4o
>>518
ドラッグするダミーの透明とかのMCを使って
その座標で目的のMCのサイズを変えるのが楽かな。
521Now_loading...774KB:04/11/09 02:26:06 ID:GrtJkcEq
>>516
useCodepage
522Now_loading...774KB:04/11/09 03:11:37 ID:Vjh/KCIk
質問です MX2004使用

_root にMC_headlineを置き、
インスタンスMC_headlineの中身は、
ダイナミックテキスト(デバイスフォント)MC_moji を setMask でマスクし、
トゥーインで右から左へモーションさせています。

表示状態としては
_root上で、ヘッドラインニュースとしてMC_mojiをスクロールさせています。

そこでいくつか教えていただきたいことがあるのですが、
ダイナミックテキストMC_moji の中身は

onClipEvent (load) {
this.loadVariables("text.txt", MC_headline);
}

としているのですが、text.txt の中にHTMLを記載しても全く反映されていません。
text.txt には
Text1=<font color="ff0000">赤</font>
などと書いています。どうすれば、HTMLが正常に表示されるのでしょうか?m(_ _)m

それと、setMask の件ですが、
マスクの対象の MC_moji のトゥーインのキーフレームと同じフレームに
setMask もキーフレーム入れておかないと、MC_mojiのキーフレームが変わる瞬間から
マスクが一切きかなくなるのですが、これはAS書き方の問題でしょうか?
MC_moji のインスタンス名は全て同一です。。

どうぞ宜しくお願いします。m(_ _)m
523Now_loading...774KB:04/11/09 04:25:07 ID:1kiI6j4o
>>522
テキストフィールドのプロパティにHTML表示のon offがある
デバイスフォントにマスクは×
524Now_loading...774KB:04/11/09 04:48:39 ID:Vjh/KCIk
>>523
ほんとだ・・プロパティにあるよ・・orz
デバイスフォントにもマスク自体は出来るようになったみたいです
(とうかやっていますが・・)
そのXっての使わないほうがいいってことでしょうか?皆がみな最新プレイヤーじゃないし・・
525Now_loading...774KB:04/11/09 04:52:37 ID:Vjh/KCIk
忘れた・・お礼言ってなかった
>>523 ありがとう
526Now_loading...774KB:04/11/09 12:48:10 ID:60BuQfwD
デバイスフォントにマスクすると、マカーとドザの間で壁が生じる。
527Now_loading...774KB:04/11/09 18:24:17 ID:Y23sUTN7
>>519>>520ありがd
528Now_loading...774KB:04/11/09 19:27:54 ID:nSpnE+ak
アクションスクリプトでカードゲームって作れます?
それをオンライン対戦実現可能?可能なら1から勉強しようと思うのですが…」
529Now_loading...774KB:04/11/09 19:33:23 ID:1kiI6j4o
できますが、想像以上に大変です。
しかし、その内容だと別の言語で作るよりもFlashで作ると楽かな。
ただし、オンラインで対戦を行う場合、アクションスクリプトだけではなく
サーバー関係の知識が必要になります。

かなり大変なので、失敗しても当然の気持ちで作ることをお勧めします。
勉強としては良い経験になるでしょう。
530Now_loading...774KB:04/11/09 19:36:03 ID:nSpnE+ak
>>529
ありがとうございます。
PHP、Perlも見てみたんですがさっぱり…
勉強してみます。
531Now_loading...774KB:04/11/10 12:33:03 ID:PT+jVrLX
外部MP3ファイルをループ再生させたいのですがどうすればいいですか?
後、音ファイルをフォルダにまとめて管理したいので、指定フォルダからのファイルの読み込み法も教えてください。
532Now_loading...774KB:04/11/10 12:40:07 ID:Cy2ZP8IC
>531
  ____∧∧
〜' ____(,,゚Д゚)
  UU    U U

ここ参考
ttp://www.fumiononaka.com/TechNotes/Flash/FN0303001.html

ループはSound.start()にパラメータ指定を行う。
533Now_loading...774KB:04/11/10 13:26:28 ID:PT+jVrLX
>532
できれば、
パラメータを指定
ってのを詳しく教えていただけないでしょうか
534Now_loading...774KB:04/11/10 16:37:58 ID:GXXoCPAR
質問です。

this.mainScroll.setScrollContent("subWindow");
this.mainScroll.setHScroll(false);
this.mainScroll.setVScroll(auto);

var tgtObj = this.mainScroll.getScrollContent();
tgtObj.subScroll.setScrollContent("bodyObj");
tgtObj.subScroll.setHScroll(false);
tgtObj.subScroll.setVScroll(auto);

tgtObj.noSelectBox.noSelect.removeAll;
for(i = 1 ; i <= 50 ; i++){
tgtObj.noSelectBox.noSelect.AddItem(i,i);
}
/*
mainScroll = scrollPane
subWindow = MC(リンケージ定義済み)
subScroll = scrollPane(MC「subWindow」に含まれる)
bodyObj = MC(リンケージ定義済み)
noSelectBox = MC(MC「subWindow」に含まれる)
noSelect = comboBox(MC「noSelectBox」に含まれる)
*/

ってコードを書いてるんですが(一部抜粋)、
ネストされているsubScrollがbodyObjを読み込めません。
また、noSelectにも値がセットされません。
パスの確認もしてはいるのですが。。。
scrollPaneを入れ子にしている場合、
値をセット出来ないなんてことはないですよね?
くだらない質問ですが、宜しくお願いします。。
535Now_loading...774KB:04/11/10 17:19:28 ID:qUdz6B7f
質問です。
GIF画像を読み込んで配置しています。
その際、スムージングのチェックを外しているのに
画像にスムージングがかかってしまいます。

ムービープレビューではスムージングがかからずくっきりとしているのですが
HTMLに組み込むとスムージングがかかってぼやけてしまいます。

win 2000 , flash mx です。

どうぞ宜しくお願い致します。
536Now_loading...774KB:04/11/10 20:26:30 ID:Cy2ZP8IC
>535

  ____∧∧
〜' ____(,,゚Д゚) <画像の配置座標を全て整数値にする
  UU    U U
537Now_loading...774KB:04/11/10 20:42:45 ID:YE57gmFE
点Aの位置はx70y60、点Bの位置はx420y120、点Cの位置はx400y20、点Dの位置はx70y320
線分ABと線分CDが交わってるか否かを確かめるにはどうしればいいですか?
交わってる位置を求めるにはどうすればいいですか?
線分ABの角度を調べるにはどうすればいいですか?
線分CDの角度を調べるにはどうすればいいですか?
線分ABと線分CDが平行か否かを調べるにはどうすればいいですか?
線分ABと線分CDの交わってる角度を調べるにはどうすればいいですか?

三角比詳しい神様 つД`) タスケレ !!
538Now_loading...774KB:04/11/10 23:34:39 ID:5TXBEdZk
>>537
ActionScript以前の問題な希ガス..

点A(Ax,Ay)
点B(Bx,By)
点C(Cx,Cy)
点D(Dx,Dy)
として
点Aと点Bを通る直線(y=mx+n)の式を求める
点Cと点Dを通る(ry
AB、CDの範囲で0になる解が存在する=まじわる
線ABの式の傾き=角度>三角関数で変換
線CDの式の傾き=角度>三角関数で変換
両式の傾きが等しい=平行
交わっている場合x軸(もしくはy軸)を底辺とする三角形ができるので
180度-(角度AB+角度CD)

代入面倒くさいよ。。
539Now_loading...774KB:04/11/11 00:27:08 ID:9IGLwHFZ
接点T!
540Now_loading...774KB:04/11/11 19:38:17 ID:Y08AvxRB
>>537
高校で数学をちゃんと受ければ分かるよ
541Now_loading...774KB:04/11/11 21:56:05 ID:kNCqxRX7
1 var f:TextFormat = text1.getTextFormat();
2 f.size += 1;
3 f.color += 64;
4 text1.setTextFormat(f);
5 text1.text = "test";

↑のようなコードを書きましたが、setTextFormatが機能していません。
5行目のテキスト代入によって、デフォルトのTextFormatに戻っているようなのですが仕様ですか?
542Now_loading...774KB:04/11/12 02:31:20 ID:hFjK2BVW
>>541
>setTextFormatが機能していません。
正常に機能しています。
先に何か文字列をtext1に入れておいて、5行目を削除すれば、
setTextFormatが正常に機能しているのが確認できると思います。

>デフォルトのTextFormatに戻っているようなのですが仕様ですか?
仕様です。
5行目で文字列に変更を加えているため、デフォルトのTextFormatに戻ります。

従って、おそらくアナタが望んでいるであろう動作をさせるためには、デフォルトのTextFormatを変更する必要があります。
4行目の
text1.setTextFormat(f);

text1.setNewTextFormat(f);
に書き換えて下さい。
543541:04/11/12 04:22:34 ID:iALHFuQo
>>542
解決しました。

同じ関数にしか見えなかった
 getTextFormat ・ getNewTextFormat
 setTextFormat ・ setNewTextFormat
の機能の違いがわかりました。

ありがとうございました。
544534:04/11/12 16:41:00 ID:VHY1UqEk
534ですが。。。

もしかしてscrollPaneに読み込むMCが、
まだ読み込み終了していないからとかが原因かも。。。

そうだと仮定して、scrollPaneでMCを読み込むときは、
現在の読み込んでいるサイズとか取得できるんでしょうか?
545Now_loading...774KB:04/11/13 14:29:43 ID:cDVIf6Bb
画像、音声吸出しツールを
無効にするSWF製作方法はあるのでしょうか?
546Now_loading...774KB:04/11/13 15:58:21 ID:dxv5E0Ap
>545
ない
547Now_loading...774KB:04/11/13 17:32:39 ID:U4mGljQa
画像を取られたくないならビットマップトレース使うといいよ
画像をワークエリアに貼り付けて、選択して、修正>ビットマップのトレース
548Now_loading...774KB:04/11/13 21:37:16 ID:uV2+Ttu9
質問です!

5コの内容がある配列を11ステップ(2回+1ステップ)ループしたいんです。

roop=new Array(5,8,7,6,2);

で、

5,8,7,6,2
5,8,7,6,2
5

というふうに。

roop[0]〜roop[4]まではいいんですが、
5ステップ目でおりかえして処理させるにはどうしたらいいんでしょう?

1---roop[0] 
2---roop[1] 
3---roop[2] 
4---roop[3] 
5---roop[4]
6---roop[1]
7---roop[2] 
8---roop[3]
(以下つづく)

お知恵をお借りできませんでしょうか。

@使用ソフト/バージョン: MX
AOSのVer:MacOS X
549Now_loading...774KB:04/11/13 21:59:46 ID:jEiKkn90
サウンドをリンケージ化し
my_sound=new Sound();
my_sound.attachSound(a);
my_sound.start(0,99);
で再生したところ、
ムービーの動きがスローになってしまいました。
サウンド管理のASを削除し無音に戻して(最初の状態)も、ムービーの再生がスローのままになってしまいました。
何が原因でしょうか?
フレームレートはいじっていません。
550Now_loading...774KB:04/11/13 22:15:39 ID:eYe2bxh2
>>548
こういうこと?

var roop:Array = new Array(5,8,7,6,2);
for(var i:Number=0; i<11; i++)
{
 trace( roop[i%5] );
}
551548:04/11/13 22:48:55 ID:uV2+Ttu9
>>550
わ!これです!
こんな書き方があったんですね〜できました!
ありがとうです
552Now_loading...774KB:04/11/13 22:50:01 ID:XVdZw/2E
>>548
var maxStep=11;
var step = 0;
var i = 0;

while( step < maxStep){

trace(roop[i]);//trace(roop[step%5])ならば、下の二行イラネ
i++;
if(i > 4){i = 0;}

step ++;
}

すんげぇシンプルなやり方

>>550
MX環境の人にAS2.0はどうかと。
553Now_loading...774KB:04/11/13 22:58:24 ID:wjm6pjEb
gpss系サーバがインストールされているレンタルサーバーってないよな。
with2chにインストールしてくれるようにお願いするってのが
昔あったような気がするけど
結局進展なし?ってことで有名な人お願いしてきて
554Now_loading...774KB:04/11/13 23:02:01 ID:ZYKxMpBO
>>548

trace(roop[step%5])のところを

trace(roop[step%roop.length])
とかのが良いきがす
555Now_loading...774KB:04/11/13 23:21:40 ID:Ce3Wk52B
>>554
さらに言うなら、
var array_length = roop.length
で先に取得しておいてから

trace(roop[step%array_length])
がベストかな。
ループ処理のたびにlengthを取得よりもパフォーマンス良。
556Now_loading...774KB:04/11/14 00:59:37 ID:h5OKzOqS
質問です。 MX2004使用です。
1個目のswfで、

var obj_date:Date = new Date();
var NS:Number = obj_date.getSeconds();
var swf_num:Number = Math.floor(NS/30);
_root.photo_mc.loadMovie(swf_num+4+".swf");
_root.onEnterFrame = function():Void {
updateAfterEvent();
};
stop();

というacを書いて、photo_mcに外部から2個目のswf、"4.swf"か"5.swf"を
表示させる。という仕様を作ったのですが、
4.swfの方に書いたフレームac(マウスを追従するac)が機能しません。
画像は表示されるので、読み込んでくれているとは思うのですが・・・。
誰か教えてください。
わかりずらかったら、すみません。。。
557Now_loading...774KB:04/11/14 04:55:44 ID:2yZKRcVe
たびたびすみませぬ、質問よろしいでしょうか。MXです。
配列の要素をすべて足し算したいのですが、どうすればいいでしょう?

ary=new Array(0,1,2,3,4);
sample=parseInt(ary.join("+"));

としたんですが、非数の手前までしか解釈してくれないみたいで
trace(sample); で 0がかえってきます。

おねがいいたします。
558Now_loading...774KB:04/11/14 06:25:38 ID:mT7rxlbE
>>557
myArray = new Array(0,1,2,3,4);
for(i=0;i<myArray.length;i++){
sample += Number(myArray[i]);
}
trace(sample);
559Now_loading...774KB:04/11/14 12:26:24 ID:kBQHBxpr
>>556

4.swfの方のACがわからないのでなんともいえないけど
_root.photo_mc._x = _root._xmouse
_root.photo_mc._y = _root._ymouse
だと動くはずです。
560Now_loading...774KB:04/11/14 19:23:02 ID:2yZKRcVe
>>558
ありがとうでした〜!
561556:04/11/14 22:31:59 ID:sVYXxCPs
>>559

すみません。言葉足らずでした。
4.swfの方のac"マウスを追従するac"は

var obj_array:Array = new Array();
var kern:Number = 24;
var obj_str:String = "abcdefghijklmn";
for (var i:Number= 0; i<=obj_str.length; i++) {
_root.attachMovie("text_mc", "t"+i, i);
obj_array[i] = eval("t"+i);
obj_array[i].mctext = obj_str.charAt(i);
obj_array[i].vx = 0;
obj_array[i].vy = 0;
}
_root.onEnterFrame = function():Void {
obj_array[0]._x = _root._xmouse;
obj_array[0]._y = _root._ymouse;
for (var i:Number= 1; i<=obj_array.length; i++) {
obj_array[i].vx = (obj_array[i].vx+(obj_array[i-1]._x-obj_array[i]._x+kern)/5)*0.6;
obj_array[i].vy = (obj_array[i].vy+(obj_array[i-1]._y-obj_array[i]._y)/5)*0.6;
obj_array[i]._x += obj_array[i].vx;
obj_array[i]._y += obj_array[i].vy;
}
updateAfterEvent();
};
stop();

という感じのよくあるacです。
562Now_loading...774KB:04/11/15 12:21:43 ID:a5kkzqw1
おじゃまします。質問させてください。
月ごとに違う外部swfをmcに読み込むものを作りたいのですが、

//読み込むswfを配列にして
img = new Array();
img[0] = "swf/january.swf";
img[1] = "swf/february.swf";
img[2] = "swf/march.swf";
img[3] = "swf/april.swf";
img[4] = "swf/may.swf";
img[5] = "swf/june.swf";
img[6] = "swf/july.swf";
img[7] = "swf/august.swf";
img[8] = "swf/september.swf";
img[9] = "swf/october.swf";
img[10] = "swf/november.swf";
img[11] = "swf/december.swf";

//月を取得して
now = NewDate();
nMonth =now.getMonth();
//読み込む
this.mc_month.loadMovie(img[nMonth]);

といった感じで書いてみたのですが、
nMonthがundefinedになって読み込んでくれません・・・。
何が間違っているのかお分かりになる方よろしくお願いします〜!
563Now_loading...774KB:04/11/15 12:27:12 ID:MPNkNrCH
>562
  ____∧∧
〜' ____(,,゚Д゚) < now = new Date(); に修正
  UU    U U
564562:04/11/15 12:43:33 ID:a5kkzqw1
>>563
物凄い勢いでありがとうございます!おかげさまで解決しました!
っていうか自分が非常に情けないです・・・・精進します(つд⊂)エーン
565Now_loading...774KB:04/11/15 14:55:22 ID:tE35kTrL
なあ、ACってなんだ?
566Now_loading...774KB:04/11/15 15:18:49 ID:ZAEzXtkq
acと書いていたとしてもasととれ!
567Now_loading...774KB:04/11/15 15:44:30 ID:RqjEfHr/
>>561
_root.attachMovie("text_mc", "t"+i, i);
_root.onEnterFrame = function():Void {

の_rootをthisに変えると動くと思います
this.attachMovie("text_mc", "t"+i, i);
this.onEnterFrame = function():Void {

>>565
(・∀・)イイ!じゃないか
568Now_loading...774KB:04/11/15 20:34:26 ID:tN91dTTM
ASで数値計算して、出た数値でグラフを作りたいんですが、
そういうことってできますか?
とりあえずできるかどうかをお聞きしたく存じ候orz
569Now_loading...774KB:04/11/15 20:35:55 ID:gwBllXu8
質問です。 前レス(>>420-423,425)でのオブジェクト管理について
お聞きしたいのですが・・・ズバリ MCのオブジェクト管理というのはどうゆう事
なんでしょうか?
参考URLのソースコードを色々いじくってみましたがイマイチわかりません。
↓こうゆう事ではないんですよね? これだとオブジェクトの名前をdeleteしても
実際のMCは消えません。 どなたかご教授お願いいたしまする。 

_objContainer = new Object();
_id = 1;

function teki(){//敵MC追加
  _root.attachMovie( "敵MC名", _id, _id );
  addObj( _root[ _id ] );
}

function addObj( Obj ){//オブジェクトに登録
  _objContainer["o"+_id] = Obj;
}
570Now_loading...774KB:04/11/15 20:56:28 ID:95OAUPMx
>>568
できるよ。簡単。
571Now_loading...774KB:04/11/15 22:07:26 ID:tN91dTTM
>>570
まじっすか^^どうゆう風にするのか教えてください。
一応ASの本は一冊持ってますので、めんどくさければ概要だけでも…orz
572Now_loading...774KB:04/11/15 22:12:21 ID:fioO6F3e
>>571
描画メゾット
573Now_loading...774KB:04/11/15 22:29:58 ID:tN91dTTM
>>572
moveToとlineToで描きあげるということですか?
ありがとうございます^^

あと計算結果をただ表示したいときって、textboxを沢山作っといて変数に配列を指定しといて、
それに一個ずつ入れていくっていう以外にいい方法ありますか?^^
計算結果の表を表示させたいのです。
いいのアルゼって方いたら教えて候m(__)m
574Now_loading...774KB:04/11/15 23:29:52 ID:tN91dTTM
textBoxの変数にインデックス入れた配列を指定することってできないんですか?
575Now_loading...774KB:04/11/16 00:05:09 ID:Es2s1gKo
this["txt"+i].text=my[i];こんなんなら可
576Now_loading...774KB:04/11/16 00:27:58 ID:Q3iptMhb
質問です。
当方はアクションゲームの挙動のテストをしています。
そのなかで、プレイヤーが落下するときに
変数HighプレイヤーのY座標に加算して
落とすようにしてるのですが、高いところから落とすと
地面にめり込んでしまってうまくいきません。
解決策があればご教授ください。

できればonClipEvent (enterFrame)ごとに落ちるのではなく、
X秒ごとに1ずつ落としてXを小さくして落下速度を加速させたい
のですが、可能でしょうか?

以下、長くなるので
落下の部分だけ抜粋したAS
onClipEvent (load) {
High = 0;
//落下の初速度
}
onClipEvent (enterFrame) {
//_parent_y=プレイヤーのMCの座標
_parent._y += High;
High++;
}
577556:04/11/16 00:34:47 ID:OmxLo4If
ありがとうございました!!動くようになりました。
勉強になります。。
578556:04/11/16 00:37:28 ID:OmxLo4If

>>559
>>567
付け忘れました。。もう、何やってんだろ。。。

579Now_loading...774KB:04/11/16 01:36:18 ID:kxr+E1J/
質問させてください。
Flash4 or Flash Lite 1.1で、OBJECTタグ内で<〜.swf?AAA=BBB">という形でのswfへの変数の
受け渡しは可能なのでしょうか?

もしくは、ファイルやCGIをswfから読み込むのではなく、動的な外部変数をswfが取得する方法は
あるのでしょうか?
580Now_loading...774KB:04/11/16 10:14:20 ID:Qb68Ygw2
すみません、
scrollPane に読み込んだMCのオブジェクトに
tabIndexって設定できるのかな?
もし、出来るならやり方教えてください;;


581Now_loading...774KB:04/11/16 12:44:40 ID:08UBIGZy
>>576
for文で自己解決しました。
ごめんなさい。
582Now_loading...774KB:04/11/18 16:05:17 ID:PICVRcoc
手とリスの作り方がまったく思い浮かばぬorz
583Now_loading...774KB:04/11/18 16:57:12 ID:zY/Nw9QK
>>582
二次元配列の使い方覚えろ
584Now_loading...774KB:04/11/18 17:50:24 ID:PICVRcoc
どんな効果がありますか?
585Now_loading...774KB:04/11/18 18:21:22 ID:iWz0kvo0
とりあえず二次元配列でググってみな、それでもわからなきゃ
テトリスを作るなんて無理。
586Now_loading...774KB:04/11/18 18:31:58 ID:mmW/Xklp
>>579
一つ目は可能。
二つ目は意味不明。
587Now_loading...774KB:04/11/18 21:31:23 ID:8Ca5LMnU
突然の質問。
既存の右クリックメニューの項目に自分で作った項目を入れることは可能でしょうか?

また、可能であればそのやり方を教えてください。お願いします。
588Now_loading...774KB:04/11/18 22:09:08 ID:Ctkv05J+
589Now_loading...774KB:04/11/19 10:26:46 ID:OIvonARZ
>>582
TETRIS flaでググるといいもの見つかるかも

>>587
MX2004から可能
MXでもswfのバイナリ弄ればできるとかできないとか。
590587:04/11/19 19:48:50 ID:DUOxE24+
質問の意味わかりにくくてスマソ。
つまりこういうことです。

たとえば、
右クリックメニューで「画質」の項目に、自分で作った「最高」というのを
入れたいのですが。出来るのでしょうか。出来れば、やり方を教えてください。
お願いします
591Now_loading...774KB:04/11/19 20:06:33 ID:JQHww3av
なんでできるって言ってるのに信じてくれないのかな、この人。
そりゃ並びは悪いけどね。
592587:04/11/19 20:30:10 ID:DUOxE24+
やり方を知らないので教えてください。お願いします。

MX2004です。
593Now_loading...774KB:04/11/19 21:10:33 ID:EQYu1ed0
>>592
>>588のサンプルみろよ。
594Now_loading...774KB:04/11/19 21:18:24 ID:87WrWnjK
>>590
無理。できない。
595Now_loading...774KB:04/11/19 21:44:48 ID:j6sGPZzD
二次元配列の使い方わかったけど
テトリスつくれない_| ̄|○|||||
もうだめぽ
596Now_loading...774KB:04/11/19 21:49:57 ID:JQHww3av
そりゃ簡単に作れちゃったら
ゲーム会社が破産するがな。
597Now_loading...774KB:04/11/19 23:17:08 ID:5Wj+HZpg
>595
  ____∧∧
〜' ____(,,゚Д゚) < こことかどうだ
  UU    U U

ttp://www.nhk.or.tv/kow/program/index.php
598Now_loading...774KB:04/11/19 23:21:54 ID:5Wj+HZpg
>595
  ____∧∧
〜' ____(,,゚Д゚) < あとネタで7行テトリス
  UU    U U

http://www.isl.cs.gunma-u.ac.jp/~shingo/make/7line/7line.html#teto
599Now_loading...774KB:04/11/19 23:29:31 ID:87WrWnjK
>>595
さらに凹むことを教えるよ

yossyがテトリス作ったのは13歳のときw
600Now_loading...774KB:04/11/19 23:37:11 ID:EQYu1ed0
>>597のリンク見てもだめならもうあきらめたほうがいい。
601Now_loading...774KB:04/11/20 05:38:26 ID:jyfr4i/Q
質問です。
flash中のボタンを押すと内部で計算をおこなって、
計算結果を表示するものを作りたいです。
イメージとしては、flaで作成中、traceを使うと
別ウインドウでtrace結果が出てきますよね。あんな感じです。
というのはたとえば100回くらいの繰り返し計算をしてその中での
ある値をすべて出力したいのです。つまり100個の値が出したいです。
もちろん一画面には表示できないので、スクロールバーの付いた
textboxか別ウインドウということになるでしょうか…
flash中にその結果を表示させたいのですが、別ウインドウでもかまいません。

そんな感じなんですが、どなたかいいやり方知ってますでしょうか。
どんなscriptでやるのか、はたまたActionScriptだけではダメなのか、
その辺から教えていただけますか?m(__)m
私の環境は窓XPでMXを使ってます。
602Now_loading...774KB:04/11/20 09:39:29 ID:JAPmlqFN
>>601
フラッシュ起動時(結果表示前)に別ウィンドウを出さんとイカンとおもう。
別ウィンドウ内にフラッシュ入れて、ローカルコネクトで
別ウィンのフラ内に結果を表示させるとか。しか思いうかばんので
次の人>>603よろしく
603Now_loading...774KB:04/11/20 10:40:04 ID:/W8WGKwv
つーか、別ウインドウの方がむずい。
Flashの中に、あらかじめテキストフィールドがあって、そこに表示されるだけなら激楽
別ウインドウにしたかったら、ローカルコネクション
君が初心者で、ただ内容を表示したいのだったらダイナミックテキストフィールドに
コンポーネントのスクロールバーをつけて、そこへ入力してやればいい。
テキストフィールドの使い方は、検索すればかなり出てくるはず。
604Now_loading...774KB:04/11/20 14:22:32 ID:BRnegPXJ
今シューティングをつくっています。
敵をattachMovie()でつくって、クラスで行動をいれようとしているのですが、
当たり判定がうまくいきません。
クラスの部分の間違いでなく、単純に当たり判定がうまくいっていないようです。
ファイルをうpしましたので、よろしければ落としてみてください。

http://up.isp.2ch.net/up/7ea3db79240a.zip

環境はFLASH MX を XP で動かしています。
よろしくお願いします。
605604:04/11/20 23:52:03 ID:BRnegPXJ
誰かお願いします。
606Now_loading...774KB:04/11/21 00:27:38 ID:/WwD9dag
丸投げすると大抵やってくんないぜ、
問題を細かくわけで、ここはこうだと思うんですが、こうですか?と
自分なりの推論をするべき。
607Now_loading...774KB:04/11/21 01:21:19 ID:4Icfods4
環境はFLASHMXpro を XP で動かしています。
今ゲームで100秒からカウントダウンする仕組みを作ろうとしています。
サンプルの時計プログラムを改造してやろうとしている
のですがどうもうまくいきません。

onClipEvent (load) {

cntdown = 100;  //開始タイムを表示

}
onClipEvent (enterFrame) {
time = getTimer();
cntdown -= Math.floor(time/1000%60);
}
cntdown -=のところを=にすると
0秒から1秒ずつ-になる感じです。


608Now_loading...774KB:04/11/21 05:09:04 ID:X9Yg1Njs
onClipEvent (load){
cntdownstart=100;//開始タイムを表示
}

onClipEvent (enterFrame) {
time = getTimer();
cntdown = cntdownstart-Math.floor(time/1000);
trace(cntdown);
}
609Now_loading...774KB:04/11/21 07:58:08 ID:X9Yg1Njs
フラッシュからクッキーを登録したいのですが、サーバへ負荷をかけたくないので
CGIは使いたくないのですが、これ以外の方法で登録できますか?
できましたら、その方法も教えてください。
610Now_loading...774KB:04/11/21 09:07:05 ID:CplE7erv
できます。
一番簡単なのは、GetURLから、クッキー用のJavascriptを呼び出すこと。
こちらはJavascript専用の質問スレなどで聞くなり調べるなりしてください。

もう1つは、Flash独自のSharedObjectという機能を使うこと。
検索すれば使い方が出てきます。
保存が比較的楽なのでお勧めです。
611Now_loading...774KB:04/11/21 11:54:57 ID:p0vAoUG3
質問です。(os:Win2000PRO ver:FLASH MX)

ステージにオブジェクトを配置時、
プロパティウィンドウの左下に表示される入力項目で、
横幅、縦幅、横座標、縦座標等を入力しているのですが、
テキストツールを配置して、これらの値を設定すると
文字サイズも一緒に拡大・縮小されますよね?

私としてはただ、テキストツールオブジェクトのサイズのみ変更し、
フォントサイズは拡大・縮小して欲しくないのですが、
これを回避する方法ってありますか?
612Now_loading...774KB:04/11/21 12:18:08 ID:4Icfods4
>>608
ありがとうございます!
自分なりにその意味を考えて見ます。
613Now_loading...774KB:04/11/21 14:26:02 ID:UkLAbOv9
WinXP MX2004

a.textに いやん,あはん,だっふんだ,ぱす
b.textに うひひ,あはは,もへへ,うむ,いやん

として、a.textとb.textの文字列を比べて重複「この場合なら(いやん)」
している文字列を検索する事って、できるでしょうか?よろしくお願い
いたしますm(_ _)m
614Now_loading...774KB:04/11/21 15:57:31 ID:HIC56zCS
>>613

できる。
AS半人前のおれでもちょっとヘルプ見ながらやれたらできた。
あなたもガンバレ。
615Now_loading...774KB:04/11/21 16:06:20 ID:8aDfk260
ASについての講座をちょっとばかし作ってみました。
相互的で専用BBSなども設置しました
以後よろしくお願いします。

ActionScript講座
ttp://matari.s35.xrea.com/kouza/ASmain.htm
616613:04/11/21 16:09:18 ID:UkLAbOv9
すみません。ちょっと目的が違いました_| ̄|○

a.textに いやん,あはん,だっふんだ,うひひ,あはん,もへへ,うむ

として、a.text内の文字列で重複「この場合だと(あはん)」して
いるものを検索・抽出する事ってできるでしょうか?よろしく
お願いいたしますm(_ _)m
617Now_loading...774KB:04/11/21 17:33:59 ID:CplE7erv
>>616
文字列を配列に切断する機能
for文の2重構造
これを使う。
618Now_loading...774KB:04/11/21 17:36:52 ID:HIC56zCS
>>616
できたー。
変数名つけ間違えてなんでUndefinedがでるのかすげー迷ったが。

まーとりあえずできたから、あなたもできるよ。
ガンバレ。
619613:04/11/21 17:58:34 ID:UkLAbOv9
theString = "a,b,c,d,e"
theArray = theString.split(",")

で、theArrayにa,b,c,d,eが入るんですよね?
その後、forをどうやって使ったら・・・次の
ヒント下さいっ;;
620Now_loading...774KB:04/11/21 18:07:13 ID:XbgUuR/O
>>619
for文の2重ならこんな感じで

for () {
 for () {
 }
}
621Now_loading...774KB:04/11/21 18:11:47 ID:/Pwh5MF1
ASを無効にするASってありませんか?
教えてくださいっ!
622Now_loading...774KB:04/11/21 18:13:26 ID:CplE7erv
>>619
forの普通の使い方もダメですかい?
jufuku = [];
for (iを0から配列の最大まで){
for (kをiの次から配列の最大まで){
if (配列のi番目とk番目が同じなら){
jufuku.push(theArray[i]);
}
}
}
trace(jufuku);
日本語のところを頑張って埋めな。

>>621
無効の意味不明。
書かなければいいじゃん。
623609:04/11/21 18:16:22 ID:X9Yg1Njs
>>610どうも有難うございます。
624Now_loading...774KB:04/11/21 20:19:24 ID:Q21R3r7v
ttp://pc5.2ch.net/test/read.cgi/swf/1101018662/l50からの誘導で来ました

質問:
"MyScript.as"というASファイルを作って
includeしたいのですが、どうもうまくいきません。
ちゃんと、ASファイルをflaファイルの同階層において
#include "MyScript.as";と先頭に記しているのに

**エラー** シーン = シーン 1, レイヤー = レイヤー 3, フレーム = 1 :行 1:指示子の書式が間違っています。
#include "MyScript.as";

ActionScript エラー数 :1 報告済みエラー :

とエラーが出てしまいます。
これを解決するにはどうすればいいでしょうか?
625624:04/11/21 20:22:05 ID:Q21R3r7v
追記です、
環境はMX2004です。
626Now_loading...774KB:04/11/21 20:23:25 ID:apw8thxq
>>624
「;」を取ってみるとか
627Now_loading...774KB:04/11/21 20:25:06 ID:CplE7erv
補足しとくと、#で始まる行は
コンパイル時の処理なため、「;」がいらないというルールがあるでよ。
628624:04/11/21 20:32:30 ID:Q21R3r7v
ありがとうございます。
それで、たびたび申し訳ないのですが
;をとってシンタクスチェックをしてみると
次のようなエラーが出てしまいました。
これは何がいけないのでしょうか?
ちなみにMyScript.as自体にシンタクスチェックをかけても
エラーは見つかりません。

**エラー** C:\Documents and Settings\Administrator\デスクトップ\MyScript.as: 行 1:クラスは、外部 ActionScript 2.0 クラスのスクリプトでのみ定義される必要があります。
class MyScript extends MovieClip

ActionScript エラー数 :1 報告済みエラー :1
629Now_loading...774KB:04/11/21 20:52:58 ID:apw8thxq
>>628
パスに2バイト文字を含まない所に移動したらいいんじゃないかな
630Now_loading...774KB:04/11/21 21:06:00 ID:/Pwh5MF1
onClipEvent (keyDown) {
if (Key.isDown(Key.ENTER)) {
stop();
}
}
と書いても何故かgotoAndPlay(3);になっていまいます。。。
どうなっているのでしょうか?
教えてください。
631Now_loading...774KB:04/11/21 21:08:12 ID:yAFngQxK
>>630
それしかスクリプトは書いてないの?
632Now_loading...774KB:04/11/21 21:09:00 ID:/Pwh5MF1
あい。
633Now_loading...774KB:04/11/21 21:12:50 ID:CplE7erv
ムービープレビューでやらんで、swfファイル開いてやってみたらどう?
634Now_loading...774KB:04/11/21 21:19:25 ID:/Pwh5MF1
できませんでした。。。
635Now_loading...774KB:04/11/21 21:23:24 ID:CplE7erv
じゃあオカルト板とかじゃないと解決できないわ。
636Now_loading...774KB:04/11/21 21:43:55 ID:8aDfk260
>>630
フレーム数やフレームの状態を事細かに書いてくれないとな。
637Now_loading...774KB:04/11/22 05:25:25 ID:cdz6Melo
perlのcryptがASにないみたいなんだけど
ASだけで2chと同じトリップを作ることは可能?
CGI通さないと無理?おしえてください、。
638Now_loading...774KB:04/11/22 07:12:32 ID:YuhqijGV
>>602 >>603
回答有難うゴザイマス^^
なるほど〜、とりあえずテキストフィールドを作っていじってみます。
と思ったら…説明しづらいので書きますと、
on (release) {
h = 0.1;
y = 1;
for (x=0; x<1; x += h) {
k1 = h*x*y;
k2 = h*(x+h*0.5)*(y+k1*0.5);
k3 = h*(x+h*0.5)*(y+k2*0.5);
k4 = h*(x+h)*(y+k3);
y = y+(k1+2*k2+2*k3+k4)/6;
}
}
をボタンに書いてます。
テキストフィールドに変数を割り当てておくと(ここで知りたいのはyなのでy)
結局ひょうじされるのは最終結果でのyだけなんですよね。当たり前なんですが。
それをyの値を一つずつしかも改行させて表示させていくにはどうしたらいいでしょうか?><
639Now_loading...774KB:04/11/22 12:47:36 ID:4cT6O5cq
>>638
yだけじゃなく、sっての用意して
on (release) {
h = 0.1;
y = 1;
s = ""
for (x=0; x<1; x += h) {
k1 = h*x*y;
k2 = h*(x+h*0.5)*(y+k1*0.5);
k3 = h*(x+h*0.5)*(y+k2*0.5);
k4 = h*(x+h)*(y+k3);
y += (k1+2*k2+2*k3+k4)/6;
s += y + "\n";
}
}
補足すると、\nってのは改行な。
ついでに、y = y + 〜って行は
y += 〜って書くとスマートだから
640ajapa:04/11/22 13:58:35 ID:QN7BmFC2
hiTestで衝突判定する対象を object にすると、ちゃんと衝突しないのですが、どうすればよいでしょうか?
なぜか、指定したobjectの少し周辺あたりで、衝突してしまいます。

if (this.hitTest(objects[i]))

といった感じですが、よろしくお願いします。
あと、物理運動系のActionScriptで、オープンソースがのっているサイトをご存知なら教えてください。
641Now_loading...774KB:04/11/22 14:13:35 ID:CScbHiIN
>>640
hitTestはパラメータ設定しないと、四角の判定でぶつかった希ガス

あと、物理運動とかは他のプログラム言語からエッセンスだけ拾ってきて
応用すればよい。
というか、その段階になると、何がしたいのか、何が必要か、何が不要かを
自分で判断して組み合わせなければならない
コピペして楽に完成というわけにはいかないよ。
642Now_loading...774KB:04/11/22 14:15:56 ID:4cT6O5cq
>>640
objectってのはMovieClipのことかな。
MovieClip同士の判定ではその外形を囲む
長方形で判定が行われます。
理由は簡単、ベクトル図形同士の厳密な判定なんか
無理言うなってくらい大変だから。
643Now_loading...774KB:04/11/22 22:18:35 ID:GiFHhGYr
たまに、スクリプト書いたムービークリップがどれだったか
わかんなくなってしまうんですけど、、どこだかわかる方法って
ないんでしょうか?ご面倒でしょうけど、すいません
よろしくお願いします。
644Now_loading...774KB:04/11/22 23:15:01 ID:r+fHcpep
AltとF3押すとムービーエクスプローラーが出る
このウィンドウの左から2番目と3番目のボタンを押してへこます
すると下に全部のムービークリップとスプリクトが出てくるはず
645643:04/11/23 00:35:01 ID:Z0JXnRsy
> 644
サンクス。使い勝手でいまいちな気もするが、、
助かりました。644さんには大変感謝します。
646Now_loading...774KB:04/11/23 00:37:30 ID:VKi5yW38
どこで聞いていいのかわからないのでこちらに失礼します。

duplicateMovieClipで透過gifを複製した時、
10枚ほど重なると透過しているはずの部分が白い四角で表示され、
後ろにあるものが見えなくなってしまいます。
解決方法として、透過gifではなくてビットマップを読み込み、
画像を分解して透過させたい部分を自動選択ツールで選択し、
選択した部分を削除することによって上記の不具合は解消されました。
しかし、画像の枚数が1000枚弱と非常に多いため、
出来れば自動選択ツールで削除ではなく透過gifの読み込みで済ませたいと思うのですが、
上記のような不具合はどのようにして回避したらいいのでしょうか?

環境はMX2004です。
647Now_loading...774KB:04/11/23 01:07:41 ID:XlT7sIKg
無理です。透過pngでも無理です。それは仕様が無理です。
648Now_loading...774KB:04/11/23 01:48:14 ID:TGG0NJxz
不具合じゃなくて、計算量が爆発しないよう
一定量で止めてるんだよ。
649Now_loading...774KB:04/11/23 02:24:47 ID:wjlF6I7N
>>643
自分の場合、全部フレームアクションに記述するようにしてる。

スクリプトの量が多くなったら結局ごちゃごちゃなるけど、
ムービーに記述するよりは分かりやすくなると思う。
650Now_loading...774KB:04/11/23 02:29:54 ID:TGG0NJxz
>>643
補足で、例えばAってムービークリップに
onClipEvent(EnterFrame){
trace("hoge");
}
と書くのは、タイムラインに1回
A.onEnterFrame = function (){
trace("hoge");
}
と書くのと同じなんだな。
こういう記述は便利なので、ちょっとヘルプとかで調べてみるといいよ。
651Now_loading...774KB:04/11/23 05:21:49 ID:Kxt21fEd
>>639
大変参考になりました。ありがとうございました。精進します。m(__)m
652Now_loading...774KB:04/11/23 12:10:17 ID:0NQ7z+il
String変数からMovieClipを操作する機能が欲しいのですが
それを可能にする便利なActionScriptはありませんか?

(_root.MC._x = 0という風ではなく
_root.("ムービークリップの名前")._x = 0みたいな感じで)
653Now_loading...774KB:04/11/23 12:10:49 ID:0NQ7z+il
↑Flash MX professional2004を使っています
654Now_loading...774KB:04/11/23 12:14:16 ID:0NQ7z+il
説明不足でした。

従来は
_root.MC._x = 0;
という風に操作しますが

わたしがやりたいのは

method(String str)
{
  _root.MC(str)._x = 0;
}

みたいな感じです
655Now_loading...774KB:04/11/23 12:17:38 ID:TGG0NJxz
ほいよっ。
これで関数もなんでも文字列から操作できる。
_root["MC" + str]._x = 0;
656646:04/11/23 13:16:29 ID:VKi5yW38
>>647>>648
どうもありがとうございます。
仕様でしたか・・・
仕方ないので全ての画像の編集をしていこうと思います。
657Now_loading...774KB:04/11/23 19:08:52 ID:RVfI7zWr
すいませんまだ一ヶ月ぐらいの初心者です
if (_root.a._x+15<_root.b._x-25) {
} else if (_root.b._x+25<_root.a._x-15) {
} else if (_root.a._y+20<_root.b._y-12) {
} else if (_root.b._y+12<_root.a._y-20) {
} else {
//
// ここまできたら重なっている
//
}
コレをやっても動きません・・・
どうしてでしょう?
658Now_loading...774KB:04/11/23 19:19:53 ID:u4crRdww
aとbが実際に動いていないから。
659Now_loading...774KB:04/11/23 19:49:13 ID:TGG0NJxz
変数の概念がまだ微妙に分かってないんだと思うぞ。
動かしたかったら
_root.a._x+=15
こうだ
あと、動かす命令はif文の括弧の中に入れたらダメだ
660Now_loading...774KB:04/11/23 20:27:17 ID:d9BZym0w
ダイナミックテキストを参照するには
text3 というインスタンス名のテキスト色を変えるとして

no=3
_root.eval("text"+ no).textcolor=0xffffff

としてもうまくいきません
661Now_loading...774KB:04/11/23 20:35:46 ID:TGG0NJxz
最近のバージョンではevalじゃなく[]を使おうって
ヘルプに書いてあったようなきがする。
662Now_loading...774KB:04/11/23 20:51:46 ID:RVfI7zWr
丸と丸がぶつかってはじかれるってやつをやりたいんですが
どのようなASやればいいんでしょうか?
663Now_loading...774KB:04/11/23 20:55:46 ID:TGG0NJxz
ttp://clairvoyance.hp.infoseek.co.jp/bane.html
これが参考になるかな
664Now_loading...774KB:04/11/23 21:03:22 ID:VKi5yW38
652さんと同じような質問なんですが、
例えばaaaというMCがあり、その中にbbb1〜bbb20とうMCがあり、
さらにそのそれぞれの中にccc1〜ccc20があるとします。
この時、this["bbb"+i].this["ccc"+j]のように数値を可変にしてアクセスしたいのですが上手くいきません。
[]を2つ以上使ってアクセスする事は出来ないのでしょうか?
665Now_loading...774KB:04/11/23 21:06:40 ID:TGG0NJxz
よいしょっと。
this["bbb"+i]["ccc"+j]

ちなみにこうでも可能
_root["bbb"+i]["ccc"+j]

意味は考えて欲しい。
666Now_loading...774KB:04/11/23 21:08:32 ID:RVfI7zWr
>>663
すいません俺フラクリ使ってるんですよ・・・
参考いただいたのですがすいません
667Now_loading...774KB:04/11/23 21:10:45 ID:TGG0NJxz
じゃあどうしろと・・・
668664:04/11/23 21:16:33 ID:VKi5yW38
>>665
どうもありがとうございます。
なるほど、配列としてアクセスしていたんですね。
今まで全く理解せずにthis[]を使ってました。
本当にどうもありがとうございました。
669Now_loading...774KB:04/11/23 21:19:52 ID:TGG0NJxz
配列としてってのは間違ってるけど
配列と同じ使い方だと思っていいよ。
数字のとこが文字列になったイメージやね。
670Now_loading...774KB:04/11/23 22:53:58 ID:d9BZym0w
no=3
_root["text"+no].textcolor=0xffff

でうまくいきました。
ありがとうございます。
671Now_loading...774KB:04/11/24 03:02:06 ID:5HiS+zq/
this["bbb"+i+".ccc"+i]
じゃダメなの?
672Now_loading...774KB:04/11/24 10:38:44 ID:Hc2hAqrT
>>671
[]の意味から外れるからダメなんじゃなかろうか?
673613:04/11/24 19:59:16 ID:IpXMl6GI
どうしてもforを使って上手に作れなくて、結局

function intp() {
set = setInterval(opc, 50);
}
function inof() {
clearInterval(set);
}
function opc() {
fie = juhuku.a.text.length;
juhuku.b.text = juhuku.a.text.split(",")[cnt];
am = juhuku.a.text.indexOf(juhuku.b.text);
pm = juhuku.a.text.lastIndexOf(juhuku.b.text);
juhuku.c.text = pm;
juhuku.d.text = am;
if (Number(juhuku.c.text) == Number(juhuku.d.text)) {
lis.push(juhuku.b.text);
juhuku.e.text = lis;
cnt++;
674613:04/11/24 19:59:46 ID:IpXMl6GI
すみません。途中で送信しちゃいました_| ̄|○
続き↓

} else {
pes.push(juhuku.b.text+'\r');
juhuku.f.text = pes;
cnt++;
}
if (cnt>=fie || juhuku.b.text == '') {
juhuku.a.text = "";
juhuku.b.text = "";
juhuku.c.text = "";
juhuku.d.text = "";
cnt = 0;
inof();
}
}

こんな感じでしか作ることができませんでした。でも、これだと確実には
重複してる文を検索でききれないんです。「a.text内で重複した文字列を
検索」について、もっと良いやり方はないでしょうか?どうぞ、この
アフォめにご教示下さいませっ;;
675Now_loading...774KB:04/11/24 20:14:53 ID:1f2WLRfS


a.txtを,で切って(split)で配列Aにしまつ
結果用配列kekkaを用意、値は全部0
for i=0 i<=配列A.length i++
 配列A[i]はa.txt内にありますか(substr)。
 あったらkekka[i]に1


区切り文字が検索する文字列に含まれてると当然うまくうごきません。
splitが使えるのはFlashPlayer5以降。
ださすぎでちゃんと書く気になれないので適当に翻訳してください。


676Now_loading...774KB:04/11/24 20:18:19 ID:Hc2hAqrT
>>622で絶対に分かると思ったんだが
677Now_loading...774KB:04/11/24 20:19:46 ID:1f2WLRfS

適当に書いてたんで間違えた。
substrじゃなくてIndexOf

回線切って吊ってきます。
678Now_loading...774KB:04/11/24 20:25:04 ID:Hc2hAqrT
>>675
>>676
>>456

をあわせて改良すれば

a.txtを,で切って(split)で配列Aに
jufuku = [];
for (i=0 i<=配列A.length i++){
if (a.txt.indexOf(配列A[i])>-1)
jufuku.push(配列A[i]);
}
}
trace(jufuku);

ここまですれば分かるだろう。>>673>>674が作れて
これで出来ないなら、少しのエラーで困ってすぐやり方を変えてしまうためかと。
679Now_loading...774KB:04/11/24 20:39:20 ID:ak4ygtNZ
swf上に外部XMLファイルから画像を読み込ませたXMLオブジェクトを配置し、
その画像をD&Dで同じswf上にある任意のエリアに
配置できるようなものを制作しています。
そこで、画像を任意のエリアに配置した時にドロップされた位置で
その座標値を表示させるようにしているのですが、
その取得した座標値をパラメータとしてサーバ側に返したいと考えています。
このような場合、どのようなASを記述することによって
パラメータを生成することができるのでしょうか。。
方法をご存知の方がいらっしゃいましたら、ぜひ教えてくださいm(_ _)m
680613:04/11/24 21:45:38 ID:By0RXjSv
できましたっm(_ _)m ここまでして頂きまして、ありがとう
ございましたっm(_ _)m とてもすっきりしました。
681Now_loading...774KB:04/11/24 21:59:30 ID:UmZ5pdOA
sharedobjectに配列で保存はできたのですが、
読み出しが出来ませんでした。
おそらく何も入っていない状態のsharedobjectは配列化してないので
それを配列化している箱に入れようとしたためなようです。
どうすれば、sharedobjectに配列で保存読み出しできるのでしょうか?

//SharedObjectインスタンスの生成
SO_instance = SharedObject.getLocal("mydata");

//保存用サンプルデータを作成
var arrayData = new Array();

//保存したデータのよみこみ。
arrayData=SO_instance.data.arrayTest;

subsave(){
//データを保存(変数を代入していますが、直接リテラルを入力することも可能です)
SO_instance.data.arrayTest = arrayData;
}
682Now_loading...774KB:04/11/24 22:35:05 ID:I64taDWI
雪を降らせるようなムービーで
3秒おきにに雪を複製するようなことってできますか?
683Now_loading...774KB:04/11/24 22:35:47 ID:kZulvoG/
できる
684682:04/11/24 22:48:59 ID:I64taDWI
とりあえずムービークリップに

onClipEvent (load) {
this._x = Math.random()*550;
speed = Math.random()*20+1;
}
onClipEvent (enterFrame) {
this._y += speed;
}

で下に落下するムービーを作ったんですが、こっからどうすればいいんでしょうか(´・ω・`)
685Now_loading...774KB:04/11/24 23:04:32 ID:5HiS+zq/
雪のMCのenterFrameで画面下まで来たら、
また上に座標戻してやるようにしておく。

あとは雪のMCを画面にいっぱいコピーしておく。
686682:04/11/24 23:35:05 ID:I64taDWI
ううむ、うまく行きません。
Y軸が420pixで、enterFrameに
if ( this._y > 420) {
this._y = 0;
}
だとチカチカして動作しないし。
687Now_loading...774KB:04/11/24 23:59:03 ID:UmZ5pdOA
ちゃんとうごいてるけど
688Now_loading...774KB:04/11/25 00:01:50 ID:5IvRceti
うごくね。
689682:04/11/25 00:14:49 ID:4Do5rYE6
あれ?動きます?
MX2004なんですが、すいませんもう一度やってみます。
ちなみにduplicateMovieClipとか使って出来ますか?
690Now_loading...774KB:04/11/25 00:17:52 ID:3UhSJN+1
チカチカってことは、
フレーム移動してループしているんじゃないかな。
_rootにthis.stop();
してみれ

ぶっちゃけ、雪くらいだったら普通にこまあにめで作った方が早い罠
691682:04/11/25 00:52:02 ID:4Do5rYE6
_rootにstop();が無かったからでした。(´・ω・`)
ありがとうございました。
けどこれってrandomだと再生する時によって右に偏ってたりしちゃいますね。
とりあえずずっと雪を降らせたかったので、スクリプトで動かそうと思うのですが、

onClipEvent (load) {
     this._x = Math.floor(Math.random()*550)+1;
     speed = Math.random()*2+0.5;
}
onClipEvent (enterFrame) {
     this._y += speed;
     _x += (Math.random()*0.8)-0.3;
       if (this._y>420) {
       this._y = 0;
       }
}
以外で何かいい方法あったら宜しくお願いします。
692607:04/11/25 01:04:31 ID:s8miwCeJ
>>607です。
あれから問題があり自分で検索するなり
いろいろやってみたのですが分からなかったのでもう一度質問
させていただきます。

getTimer();の値を0に戻す方法はありますか?
他のフレームでそのムービークリップを読ませないようにしてても
そのフレームに戻ってくると値がそのままで一発で死亡してしまう状態です。
分かる方がおりましたらよろしくお願いします。

onClipEvent (load) {
cntdown = 90;//開始タイムを設定
}
onClipEvent (enterFrame) {
time = getTimer();
hyouji = cntdown - Math.floor(time/1000)
if(hyouji < 0){
_root.gotoAndPlay("GAMEOVER");
}
}

693Now_loading...774KB:04/11/25 01:08:29 ID:RKgwSqIC
>681
  ____∧∧
〜' ____(,,゚Д゚)
  UU    U U

試しに配列保存してみたが保存読み込みできる。

var so = SharedObject.getLocal( "mydata" );
var arrayData = [ 1, 2, 3 ];
so.data.arrayTest = arrayData;
var testData = so.data.arrayTest;
trace( testData );
694Now_loading...774KB:04/11/25 01:10:49 ID:RKgwSqIC
>679
  ____∧∧
〜' ____(,,゚Д゚)
  UU    U U

サーバにデータを送信する方法がわからないのですか?
695Now_loading...774KB:04/11/25 01:35:32 ID:yHErfNDd
onClipEvent (load) {
cntdown = 90;//開始タイムを設定
startTime = getTimer();
}

onClipEvent (enterFrame) {
time = getTimer() - startTime;
hyouji = cntdown - Math.floor(time/1000)
if(hyouji < 0){
_root.gotoAndPlay("GAMEOVER");
}
}
696Now_loading...774KB:04/11/25 01:40:41 ID:YfvjQN69
保存読み込みは出来るのですが、

読み込み保存が出来ないのです。

こういう感じのを実現したいです↓
var so = SharedObject.getLocal( "mydata" );
もしso.data.arrayTestに何もはいっていないとき{
arrayData[1,2,3]
}so.data.arrayTestに何かはいっていたとき{
arrayData=so.data.arrayTest;
}
//保存
so.data.arrayTest = arrayData;


697↑681:04/11/25 01:41:27 ID:YfvjQN69
698679:04/11/25 02:07:47 ID:W5orKj4A
>>694
サーバ側に送信する方法というよりは、
配置した画像に属性値を付加する方法が判らないのです(汗
例えば、現在は画像を配置した場所の座標値を表示することはできるのですが、
その座標値を画像の属性として覚えさせる為に、
どのようなASを記述すれば良いのかが判らなくて困っています。。

環境はMX2004Pro、Win2kです。
699Now_loading...774KB:04/11/25 02:14:34 ID:RKgwSqIC
>696
  ____∧∧
〜' ____(,,゚Д゚) <さっきと言ってる事ちゃうし
  UU    U U

>保存読み込みは出来るのですが、
>読み込み保存が出来ないのです。
よくわからないが こういうことですか?できますよ。

var so = SharedObject.getLocal( "mydata" );
var arrayData = [ 1, 2, 3 ];
so.data.arrayTest = arrayData; //保存
var testData = so.data.arrayTest; //読み込み
trace( testData ); //中身確認
so.data.arrayTest = testData; //保存
trace( so.data.arrayTest ); //中身確認
700Now_loading...774KB:04/11/25 02:17:55 ID:c3ZokkNs
何も入っていないの判定式がダメなんじゃないのか?
undefinedを使うんだよ。
701Now_loading...774KB:04/11/25 02:20:23 ID:c3ZokkNs
>>698
言ってることがわかんないんだけど
もしや_xとかのことじゃないよねと、念を押しておく。
もうちょっと詳しくお願い。
702679:04/11/25 02:49:31 ID:W5orKj4A
>>701
具体的に言うと、D&Dで表示されている画像を
同じswf内の任意のエリアに配置します。
そのときに、配置された画像の左上端のx, y座標値を
現在は表示するように作っています。
ここで表示させてる座標値などを、画像の属性(この場合は位置情報)
として保存したいのです。
実際には、同時に複数の画像を任意のエリアに配置し、
それぞれの位置情報を属性として持たせることによって、
最終的には1枚の画像として再現できるようにしたいため、
位置情報を保存したいと考えています。
その他にも付け加えたい属性は有るのですが、
とりあえずどうすれば、個々の画像に情報を持たせることができるのかを
教えていただければと思います。。
どうぞ宜しくお願いしますm(_ _)m

長すぎて書き込めなかったので、一応次にソースを。。
703679:04/11/25 02:50:23 ID:W5orKj4A
ソースはこのような感じです。

function release_me():Void {
this.stopDrag();
if(this._droptarget<>"" && _root.drop_mc.hitTest(_root._xmouse,_root._ymouse,false)) {
//ドロップエリア内で他の画像が存在しない場合
this.swapDepths(this.depth);
this.check = 1;
this._alpha = 100;
this.nw = 160;
this.nh = 120;

//x, y座標値の表示
var speed:Number = 15;
_root.cbox_mc.startDrag(true);
_root.onEnterFrame = function():Void {
cbox_mc._rotation += speed;
xline_mc._x += (cbox_mc._x-xline_mc._x)/1;
xline_mc.xpostext = "x = "+cbox_mc._x;
yline_mc._y += (cbox_mc._y-yline_mc._y)/1;
yline_mc.ypostext = "y = "+cbox_mc._y;
updateAfterEvent();
};
704Now_loading...774KB:04/11/25 03:46:04 ID:c3ZokkNs
詳しくとは言ったが
そりゃ内容を詳しくって意味で
変な言葉を付け加えて難しくすることじゃないべよ。
結局言ってることは
>個々の画像に情報を持たせることができるのかを
>教えていただければと思います。
これであって、これの意味が不明だからこっちとしても困る。

とりあえずなんだ、画像って何を指してるんだ?
ムービークリップか?
属性として持たせるって意味も全然わからん。
_x _yをそのまま使うと何が不満なんだ?
705679:04/11/25 04:03:50 ID:W5orKj4A
申し訳ないです(汗
画像はムービークリップでつくられたXMLオブジェクトに
外部XMLファイルから読み込んだものです。
その画像を複数枚、同じswf内のdrop_mcというムービークリップに
D&Dで配置して、配置された画像ごと
drop_mcの範囲を1枚の画像として保存したいのです。
それで、保存する方法としてそれぞれの画像の位置などの値を
データとして送り、そのデータによって
新たなXMLオブジェクトを作りたいのですが、
そのためにどのようなASを記述すればよいのかが判らなくて。。

_x _yをそのまま使うことに不満はないです。
706Now_loading...774KB:04/11/25 07:00:26 ID:EWjfD0HI
loadVars使え
707Now_loading...774KB:04/11/25 07:06:55 ID:BlESDblc
FlashMX 2004使っているんですが

MCでアニメーションを繰り返しながら、BGMを途切れないように繰り返しループさせることは可能でしょうか?
ボタンでまた次のMCに移り、違うBGMを流す・・・という感じに作りたいです。
708Now_loading...774KB:04/11/25 09:24:41 ID:3m6GkQ2+
ネコAAうざい
709Now_loading...774KB:04/11/25 10:28:31 ID:RKgwSqIC
>707
  ____∧∧
〜' ____(,,゚Д゚) <可能。スクリプトは必要なし。
  UU    U U

710Now_loading...774KB:04/11/25 11:00:57 ID:RKgwSqIC
>707
あ、stopAllSoundsは必要か。
711まちこ:04/11/25 16:03:39 ID:qbmBQRlq
FlashMX を使用しているMacユーザーです。
FlashにQuickTimeムービーを読み込んでswfファイルで再生を考えています。
QuickTimeにもいくつか種類があるようですが、

QuickTime(mov).AVI
QuickTime VR
QuickTime Plug-in

一番最適なのはどれなのでしょうか?
教えてください。
712Now_loading...774KB:04/11/25 17:28:26 ID:uDFsw6wA
WindowsでFlashMX2004を使っています。

htmlからswfをリンクで呼び出すときに、phpの変数を与えてswfで受け取ることはできますでしょうか?

---index.html---
<a href="hoge.swf?test=test&hoge=hoge">hoge</a>
----------------

---hoge.swf-----
format = loadVarsObject.load(url);
----------------

こんな感じでやってみています(-_-;)
713Now_loading...774KB:04/11/26 00:42:49 ID:u+aJmTmD
win2000、flashMXで質問です。
ボタンを表示させたまま、なおかつ一時的にそのボタンを押せなくするようにしたいです。
上から透明のMCをかぶせてそこにonPressイベントを書くことでマウスはブロックできたのですが、
Tabキーを押すとなんとフォーカスが移ってきて押せてしまいます。
このTabキーをなんとかする方法はないのでしょうか?
あきらめてボタンごとにフラグで制御したほうが良いのでしょうか?
714Now_loading...774KB:04/11/26 00:47:12 ID:j4t4Bm+a
確かフォーカスの移動順を制御するスクリプトで可能だったはずです。
フラグ制御がお勧めですけどね。
715607:04/11/26 00:49:50 ID:A5k7CIUu
>>695
前と同じ方ですか・・・?
本当にありがとうございました!
716712:04/11/26 01:04:48 ID:u+aJmTmD
>>713
物凄い勢いでありがとうございます!
フラグのほうが使いやすそうなのでそっちで作ることにします!
717713:04/11/26 01:06:08 ID:u+aJmTmD
物凄い勢いですいません!
>>716はアンカーミスです!
>>714さんありがとうございました!
718Now_loading...774KB:04/11/26 01:09:58 ID:j4t4Bm+a
もし、クリックして画面内のものを探して進んでいく系のゲームで
ボタンの数や場所も悟られたくない場合は
いっそ1個の大きなボタンにして、マウスがクリックされた座標で
処理を分けるとかいう方法もあるね。
719Now_loading...774KB:04/11/26 02:01:29 ID:vBHjmM2u
俺はボタンムービークリップにして、

MC.hitArea = undefined;

にしてたなあ。
戻す時は

MC.hitArea = MC;

で。
720Now_loading...774KB:04/11/26 19:07:01 ID:uHTcfogD
キーボードで数字を打って変数に代入するにはどうすればいいですか?
721Now_loading...774KB:04/11/26 19:28:02 ID:BOZFjvvA
>720
  ____∧∧
〜' ____(,,゚Д゚)
  UU    U U
こことか参考
ttp://homepage3.nifty.com/j_town/flashtype/1-3.html
722Now_loading...774KB:04/11/26 20:44:14 ID:uHTcfogD
解決しました
ありがとうございました
723Now_loading...774KB:04/11/26 22:28:42 ID:IiLiQpYr
cgiにデータを渡す時にウィンドウを消して(出さずに)渡すにはどうすればいいのですか?
724Now_loading...774KB:04/11/27 03:42:00 ID:fPIKcF0F
ar1 = new Array();
ar2 = new Array();

var code = eval("ar"+1);
code[n] = p;

code = eval("ar"+2);
code[m] = q;


これじゃうまく配列に値を代入できないみたいです。
どうしたらいいですか?
教えて!エロいひと!
725Now_loading...774KB:04/11/27 03:56:27 ID:hg3m6LSk
>>724
なにからつっこんでいいものか・・・

なにがしたいのかわからないと教えようがないぐらいです。
726724:04/11/27 04:02:22 ID:fPIKcF0F
ar1 = new Array();
var code = eval("ar"+1);
code[3] = 15;

すみません。上のを
ar1[3] = 15;
と同じ動きにしたいんです。
727Now_loading...774KB:04/11/27 05:26:15 ID:hg3m6LSk
>>726
code[3]に15を代入したときar1[3]にも15が代入される処理でいいのかな?
勘違いしてたらごめんなさい。

ar = new Array();
ar[0] = new Array();
ar[1] = new Array();
ar[2] = new Array();
code = new Array();

code[n] = p;
ar[i][n] = code[n];

code[m] = q;
ar[k][m] = code[m];

trace(code[n]); //結果 p
trace(ar[i][n]); //結果 p
trace(code[m]); //結果 q
trace(ar[k][m]); //結果 q
728FLASHER:04/11/27 14:46:27 ID:3tUK+c8C
よくSWFの中で入れ子状態のようにSWFが再生されるのってありますよね?
どういうことなんでしょうか?一つのファイルのタイムライン上に
シンボルでわけているだけなんでしょうか?
で、ボタンをクリックするとそのシンボルに飛ぶって感じなのでしょうか?
例えばココとか http://www.ingreme.com/start.html
729Now_loading...774KB:04/11/27 15:37:35 ID:Vyr5aIYn
>>728

loadMovie() じゃない?
730Now_loading...774KB:04/11/27 15:52:54 ID:asN5Hjpe
xというMCのx座標が0〜100、yというMCのy座標が0〜100の時にmovieというMCに
○○.swfを読み込むのをmovieというMCに書いたんですけど、これであっているでしょうか?

onClipEvent (enterFrame) {
if (_root.x._x>=0 && _root.x._x<=100 && _root.y._y>=0 && _root.y._y<=100) {
loadMovie("○○.swf", _root.movie);
}
}
731Now_loading...774KB:04/11/27 17:23:10 ID:uVJILpCT
this.loadMovie("○○.swf");
こうじゃないんですか?

MCの名前にxとかyとかやめれ
732730:04/11/27 18:05:22 ID:asN5Hjpe
というよりMC表示されたところで、なんか読み込まれないんですけど、
どうなっているのでしょうか?
733Now_loading...774KB:04/11/28 09:05:42 ID:v25BXqmm
onClipEvent(load){
var ls:Boolean = false
var ypos:Number
var xpos:Number
}
onClipEvent(enterFrame){
ypos = _root.y._y
xpos = _root.x._x
if(ypos>=0&&ypos<=100&&xpos>=0&&xpos<=100&&!ls)
ls = true;
this.loadMovie("○○.swf");
}
734Now_loading...774KB:04/11/28 12:21:38 ID:+KbkMIKD
「テキスト入力ボックス1」と「テキスト入力ボックス2」、
System.setClipboardコマンドを記述した「ボタン」を1つ配置しました。

テキスト入力ボックス1に入力された文章を、
そのボタンを押すことによりクリップボードにコピーして、
テキスト入力ボックス2で「ctrl + v」を押して貼り付けたいのですが、
実際に貼りつく文章は、内容が改行されないままコピペされてしまいます。

どうすれば、文章の中の改行を保持したまま
コピペできるようになるでしょうか?
解決策があれば、教えてください。

ボタンのアクションには
on (release) {
System.setClipboard (_root.text01);
}
と記述しました。
テキスト入力ボックスの設定はどちらも「複数行」にしています。
FLASH MX 2004です。

よろしくお願いします。
735730:04/11/28 16:12:09 ID:A24N62lC
onClipEvent (enterFrame) {
loadMovie("○○.swf", _root.movie);
}
と書いたところでswfが読み込まれないのですが、どうなっているんでしょうか?
よろしくお願いします。
736Now_loading...774KB:04/11/28 16:18:06 ID:oC5zlVZn
なんでenterframe廻してるの?
何度も読みに行っちゃそりゃ読み込まれてないように見える罠。
あと>733は試してみた?
lsっていうflagを使って何度も読み込みに行かないようにしなきゃ。
737Now_loading...774KB:04/11/28 16:39:48 ID:A24N62lC
>736
やってみましたが出来ませんでした。。。
738Now_loading...774KB:04/11/28 16:47:59 ID:oC5zlVZn
どこにどう書いたの?
環境は?MX?MX2004?
>1をよく嫁。
出来ませんでした。。。じゃ何も伝わらないです。
ちなみに>733はloadMovieもif内にしなきゃいけません。
書きかえれ。
739730:04/11/28 17:00:06 ID:A24N62lC
スマソ。
環境は2004で>730のように書きました。

>738
loadMovieもif内ということはこういうことですか?

onClipEvent(load){
var ls:Boolean = false
var ypos:Number
var xpos:Number
}
onClipEvent(enterFrame){
ypos = _root.y._y
xpos = _root.x._x
if(ypos>=0&&ypos<=100&&xpos>=0&&xpos<=100&&!ls){
ls = true;
this.loadMovie("○○.swf");
}
}
740 ◆g6V0jYwopc :04/11/28 17:16:28 ID:N74XDtt9
格闘ゲームみたいに「押したら動く」みたいなのがやりたいんですが、どうやるのでしょうか?
教えてください。
741Now_loading...774KB:04/11/28 17:20:34 ID:t20YTEq9
>>740
>>1 読んで出直せ!
742Now_loading...774KB:04/11/28 17:34:23 ID:z/+piXB2
>>739
それで動かなかったの?

まずさ、変な処理を全部とりはらって
loadMovieだけLoadイベントに書いて試しなよ
それだとロードがちゃんと出来てないのか、if文が変なのか
問題が分散してわかんない
743Now_loading...774KB:04/11/28 17:38:48 ID:oC5zlVZn
セミコロンとか、別々のMCに書いたとか、x,yが存在しないとかいうオチでしょう
小出しにされるとどこまでカバーしてやればいいのかわかんにゃい
744Now_loading...774KB:04/11/28 17:57:31 ID:t20YTEq9
trace使って数値を調べろ
745Now_loading...774KB:04/11/28 18:03:59 ID:P0Fw8KuH
traceをenterFrameで使うときは
フレームレートが大きいと大変なことになるので注意
746Now_loading...774KB:04/11/28 22:56:49 ID:JItadrEN
onClipEvent (mouseUp) {
_xmouse = x;
_ymouse = y;
if (x>0 && y<0) {
_global.a = y/Math.pow(x, 2);
gotoAndStop(2);
}
}
マウスをクリックして離したタイミングに
MC中心の座標を取得し
それをx、y変数に入れてifで条件分岐したいのですが
なりません。
何が悪いんでしょうか。
747Now_loading...774KB:04/11/28 23:13:49 ID:oC5zlVZn
on(release,releaseOutside){
    x = this._xmouse;
    y = this._ymouse;
    /*
    if ( x > 0 && y < 0 ){
        〜〜〜〜〜
    }
    */
}
748Now_loading...774KB:04/11/28 23:18:17 ID:JItadrEN
すみませんが、なりませんでした・・・
749Now_loading...774KB:04/11/28 23:21:57 ID:oC5zlVZn
そうですか( *^-^)b
750Now_loading...774KB:04/11/28 23:24:17 ID:JItadrEN
onClipEvent (mouseUp) {
x = this._xmouse;
y = this._ymouse;
_parent.xm = x;/座標取得確認のため
_parent.ym = y;/座標取得確認のため
if (x>0 && y>0) {
_global.a = y/Math.pow(x, 2);
gotoAndStop(2);
}
}

これで一応座標は取得してくれるのですが
分岐までは行かないようです・・・
751Now_loading...774KB:04/11/28 23:36:16 ID:UtiMPszP
C言語でいうとdeta[5]のような空の5個の配列を
定義したいのですが、アクションスクリプトだとlengthなどを
つかってもうまく定義できません。
どのように定義すればいいのでしょうか?
752Now_loading...774KB:04/11/28 23:42:36 ID:lu5lL8XP
>751
これじゃだめかな?
test = new Array(5);
753Now_loading...774KB:04/11/28 23:46:01 ID:oC5zlVZn
>751
環境わからんのでMXで書くと
//MX
var Ar = new Array(x);

>750
traceして確認してください。
xmだのymだの言われてもなんのことやら
値取得できててかつそれが数値であるのなら
分岐はできます、それだけです。
754Now_loading...774KB:04/11/28 23:47:45 ID:lu5lL8XP
>570
やってみたけれども分岐通るよ?
trace文ところどころいれてチェックしてみては。
755751:04/11/29 00:10:12 ID:FCJsYaex
752,753さんありがとうございます。
環境はMX2004です。
1フレーム目に空の5つ配列(deta = newArray(5);)を定義しておいて、
他のアクションで出来た数値(deta_No)をdetaに格納(deta.push(deta_No);)
ということをやりたいのですが、先ほど教えていただいた空の配列の
定義の仕方でやり、trace(deta)をやるとundefineになってしまいました。
どこか考えられる原因はあるでしょうか?
756Now_loading...774KB:04/11/29 00:16:17 ID:Y0TDovSR
>>755
・var 宣言した配列を他箇所で使おうとしてる
・newArray と一息に書いている(半角スペースを入れていない? =>new Array)

対策として、その配列宣言した箇所で

trace("data = " + data + "\ndata_No = " + data_No);
を代入前後でやってみてください
757751:04/11/29 00:50:32 ID:FCJsYaex
756さん
ご指摘の通り、new Arrayのスペースでした
初歩的なミスで恥ずかしいです
無事traceで出力できました
ありがとうございました
758Now_loading...774KB:04/11/29 12:28:19 ID:tcxGXkzt
>>750
onClipEvent (mouseUp) {
 x1 = this._xmouse;
 y1 = this._ymouse;
//分岐できてるかtraceチェック
 xy = 0;
 if ( x > 0 ){
  if ( y > 0 ){
   xy = 1;
  }else{
   xy = 4;
  }
 }else{
  if ( y > 0 ){
   xy = 2;
  }else{
   xy = 3;
  }
 trace("第"+xy+"象限");
/*
_global.a = y/Math.pow(x, 2);
gotoAndStop(2);
*/

}
759Now_loading...774KB:04/11/29 14:40:49 ID:093g+Khg
質問させて下さい。

_global変数を多用することによる、
レスポンスの低下とかってリスクはあるのでしょうか?

当方、FLASH MX ,win2000pro です。
宜しくお願い致します。
760Now_loading...774KB:04/11/29 14:45:35 ID:csrTe6DX
何かにバッティングするのが怖いな。
その変数を全部覚えておいて、どこでも同じ名前で使わないことにしないといけない
できれば_rootとかで代用するがいいよ。
761Now_loading...774KB:04/11/29 15:28:24 ID:yIs/TcrI
数値(suuti)を発生させて、その数値と他にある配列の中の数値(deta[i])
と比べ配列の中に発生させた数値がなければ数値(suuti)を配列(deta)に
格納し、あったら再び数値を発生させ、格納できるまでループさせると
いうプログラムを書きたいのです。
一応下記のように書いてみたのですが、うまくいきません。
for(;;){
suuti =数値を発生させるプログラム;←ここはできています
if(! suuti==deta[i]){
this.deta.push(suuti);
}
}
環境MX2004
762Now_loading...774KB:04/11/29 16:25:46 ID:Uapdf3JJ
>761
作ってみた。ActionScript1.0だけど勘弁。

var data = new Array( 5,6,7 );

while( true ){
var num = 数値発生プログラム;
if( checkList( num, this.data ) == true ){
this.data.push( num );
break;
}
}

function checkList( num, list ){
for( var i=0 ; i < list.length ; i++ ){
if( num == list[i] ){ return false; }
}
return true;
}
763Now_loading...774KB:04/11/29 19:28:47 ID:9WZmdODn
はじめまして。
Flashで正円を描く方法を探しているのですが、
curveToで描画する際のベジェハンドルの座標って
片方しか描画出来ないのでしょうか?
だとすると、完全な円をcurveToで描画する事は出来ませんか?
764761:04/11/29 19:29:11 ID:yIs/TcrI
762さん

これができずにずっと悩んでいたので、なるほどと
いう感じです。
ありがとうございます。
765Now_loading...774KB:04/11/29 19:40:58 ID:aLQDCZ9a
MX2004、WinXPです。

geturl("index.html#hoge")
とやるとページ内リンクの#hogeが無視されてしまいます。
そういうもんなのでしょうか?対処法はありますでしょうか?
766Now_loading...774KB:04/11/29 19:55:45 ID:pBr054DG
getURL
767Now_loading...774KB:04/11/29 20:15:33 ID:tcxGXkzt
%23
768765:04/11/29 21:20:21 ID:aLQDCZ9a
>766
失礼しました

>767
ありがとうございます!
769759:04/11/29 22:27:34 ID:093g+Khg
>>760
ご返答ありがとうございます。
参考にさせて頂きます。

そして、さらに質問させて下さい。

var hoge = selection.getFocus();

でhogeに渡されるのは、オブジェクトではなく、
ストリングになっていますよね。
これを、オブジェクトに変換したいのですが、
方法がわかりません。
どなたかご教授お願いします。

770759:04/11/29 22:35:17 ID:093g+Khg
自己解決しました。

Object(hoge);

でした。

...人間、一度人に頼ると癖になってしまってダメですね。。。
771Now_loading...774KB:04/11/29 23:26:50 ID:shxhZAKM
質問させてください
win2000 flashMXです

簡単なゲームを作ってみようとおもい
ボールのリフティングゲームを作ろうとしたのですが
あたり判定や リアルなボールの軌道とか
あって意外に難しかったです
どのように作ればいいんでしょうか?

ちなみに 地面にボールおいてあり ボールをクリックすると
上方向にバウンド クリックの位置により 方向が決まる
地面に落とさないように何回できるか というゲームなんですが・・
772Now_loading...774KB:04/11/29 23:42:04 ID:K/96HD1F
あたり判定やリアルなボールの軌道を作れば良いよ
773Now_loading...774KB:04/11/30 00:02:08 ID:7j6wEran
ん、足か何かがマウスをストーカーするの?
ならボールのMCに透明のMC被せて下方向ちょっと伸ばして、
足と重なる時の足のMCのドロップターゲット調べる、とか
それかhitTest。
前者はスラッシュシンタックスなのでevalってね
774771:04/11/30 00:06:44 ID:HcOHCBng
>>772
>>773

ttp://www.spikything.plus.com/games/kickups/

これが理想なんですが。。。
775Now_loading...774KB:04/11/30 00:26:09 ID:QhgWTW4x
ActionScriptの知識というか、物理法則を関数であらわせるかどうかだ。
まずはボールが弾むアニメーションをスクリプトだけで作ってみるとか。
それも出来なければあたり判定は100年早いゾエ
776Now_loading...774KB:04/11/30 00:36:28 ID:7j6wEran
>ボールが弾むアニメーションをスクリプトだけで作ってみるとか
恐ろしい事言う(w

当たり判定というか、Ball.onPressだけじゃない?
蹴った瞬間光ってごまかしている、のと、
わずかな残像が見える事から考えると
複数のアルファ値低いMC辺りをパパっとやってんじゃないかなぁと思った。
よく見たら蹴った箇所が凹んでるようでもなさそうだし。
777Now_loading...774KB:04/11/30 00:50:38 ID:D9Vtuo7p
>>762
横槍すまそ。
while(true){
って必要なんですか?

処理が勝手に進まないように
一時停止みたいな効果があるんでしょうか
778Now_loading...774KB:04/11/30 01:43:43 ID:GJj5aWKL
>>777
whileそのものを勉強してください。
779Now_loading...774KB:04/11/30 01:53:12 ID:QhgWTW4x
恐ろしい事?
弾力と重力を再現するだけじゃん。
上に反発するの力が重力によってだんだん弱くなる。
中学レベルの数式一行だぞ?
780Now_loading...774KB:04/11/30 01:58:18 ID:GJj5aWKL
一瞬、弾むのは初歩の初歩だから
恐ろしいほど必要ないという意味なのかと思ったよ。
781776:04/11/30 02:15:20 ID:7j6wEran
>>779
跳ねるの事だったんですね、ごめんなさい。
てっきりボールがぐにゃりと歪むことかと思ってしまったので
エエエっとびっくらこきました。
782Now_loading...774KB:04/11/30 02:16:45 ID:GJj5aWKL
それはどうやったらできるかな、パーティクルで点を繋いで・・・
783776:04/11/30 02:31:14 ID:7j6wEran
>>782
ここで似たような?議論ありましたよ。
ボールのような柔らかい弾力性の再現はドット絵じゃないとできなさそうだけど。
その前にflashは描写重すぎか(´・ω・`)
http://pc5.2ch.net/test/read.cgi/swf/1071929938/329-336
784Now_loading...774KB:04/11/30 08:31:40 ID:ucAl8JWz
FlashMX 2004を使っているんですが
loadMovieで外部SWFを読み込むさいに、表示位置(真ん中とか)と大きさを指定できるのでしょうか?
785Now_loading...774KB:04/11/30 10:36:50 ID:xZmbcAZz
>784
出来るよ。
786Now_loading...774KB:04/11/30 11:30:02 ID:pNj2lwFu
>>785
スレ汚しヤメレ
787Now_loading...774KB:04/11/30 12:32:22 ID:d9vzWXZg
>>784
次から表示位置や大きさを指定する方法を教えてくださいって書こうな。

例えばloadMovieで、A_mcというMCに読み込んで
その後、A_mc._xやA_mc._xscaleの値を変更すればいい。
読み込むところで変更するのではなく、読み込み後に移動させるってわけだな。
788Now_loading...774KB:04/11/30 17:16:10 ID:7p1fF+GK
ダイナミックテキスト「pw_zahyo」にMC「pw」の中のMC「pw1」の大きさをトゥイーンで
変えても100にしかなりません。
また、MC「pw」の中のMC「pw2」の位置をトゥイーンで変えても0にしかなりません。
何故でしょうか?

いずれともタイムラインに「pw_zahyo = pw.pw1._xscale;」「pw_zahyo = pw.pw2._x;」
と書いております。環境はMX2004です。お願いします
789Now_loading...774KB:04/11/30 17:23:34 ID:tIbdFcQK
>>788
>ダイナミックテキスト「pw_zahyo」にMC「pw」の中のMC「pw1」の大きさをトゥイーンで
>変えても100にしかなりません。

○○に××の大きさを変えても
って日本語おかしいだろ
意味不明。
790788:04/11/30 17:37:57 ID:7p1fF+GK
>>789スマソ

「ダイナミックテキスト「pw_zahyo」に、
MC「pw」の中のMC「pw1」の大きさをトゥイーンで変えたものを
代入しても100にしかなりません。」
です。
791Now_loading...774KB:04/11/30 17:41:52 ID:tIbdFcQK
変えたものを代入したら100以外の値になると思うけどね
代入してから動かしたんじゃ100になるだろうね。
792Now_loading...774KB:04/11/30 20:54:46 ID:pNj2lwFu
>>767

ローカルではうまくいったんですが
サーバーにupると index.html%23hoge
とアドレスバーに出てNotFoundになってしまいます。
解決できません。何故でしょうか
793792:04/11/30 21:05:39 ID:pNj2lwFu
"index.html#hoge","_hoge","GET"

GETをつけたらうまくいきましたがこれでいいのでしょうか・・・
794Now_loading...774KB:04/11/30 21:10:11 ID:GJj5aWKL
_hoge?

それで動けばそれでいいんじゃないの?
795792:04/11/30 21:12:42 ID:pNj2lwFu
_self のまちがいですた。

でも今度はローカルだと無効になっちゃうんですよね・・・
796784:04/12/01 00:36:53 ID:WCezjbHI
>>787
返信遅れました…

loadMovie ("xxx.swf", 1);
A_mc._x = xxx;

というふうに記述したのですが、ロードされるSWFは変化ありませんでした、、、
記述する場所が違うのでしょうか?
797Now_loading...774KB:04/12/01 00:47:55 ID:Jk2KbSfo
A_mc.loadMovie ("xxx.swf");
A_mc._x = xxx;
こうじゃなかったっけ?
798Now_loading...774KB:04/12/01 19:22:22 ID:T64It9fw
ごめんなさい。自力でやるにも限界だったので質問させてください。
矢印キーでキャラクターAを操作し、ムービークリップBにhitするとA、B共に動き出すというものを作っています。
そこでムービークリップBには
onClipEvent(enterFrame){
if(hitTest(_root.A)) {
this.play();
}
}
Bのタイムライン上1フレーム目に
this.stop();
2フレーム目に
_root.A.gotoAndPlay("スタート");
と書きました。(Aのムービークリップのタイムライン上"スタート"にはBにhitしたときに再生させたいフレームを作りました)
再生してみると、確かにAがBにhitすると共に再生を始めますが、Bのムービークリップはフレーム再生終了後1フレーム目に戻ってしまい、また再生中はAが離れても再生したままです。
BのムービークリップにAがhitし続けている時は1フレームに戻ることなく再生を繰り返し、またAが離れると再生を止め、1フレーム目に戻るようにしたいのですが、どうしたらよいのでしょうか?
FlashMX、Winを使用しています。
アドバイスをよろしくお願いいたします。
799Now_loading...774KB:04/12/01 21:21:39 ID:QIxQy4z+
>798
>BのムービークリップにAがhitし続けている時は
>1フレームに戻ることなく再生を繰り返し、
>またAが離れると再生を止め、1フレーム目に戻る

とりあえずこの部分だけ。
試してないけれども多分こんな感じ。

onClipEvent( enterFrame ){
if( this.hitTest( _root.A ) == true ){ play(); }
else{ gotoAndStop( 1 ); }
}
800Now_loading...774KB:04/12/02 09:48:44 ID:RnNd0X9z
object.watch() の使い方がわからなくて困ってます。

//_root
function foo(hoge){
fuga = hoge;
_root.unwatch("bar");
}
_root.watch("bar", foo);

// buttonオブジェクト
on(release){
_root.bar = "test";
}

のときに、fugaには"test"の文字列を渡したいのですが、なぜか"bar"が渡されてしまいます。
どなたかアドバイスお願いします。
環境は win flashMX です。
801Now_loading...774KB:04/12/02 10:36:36 ID:viO/7D2S
>800
Object.watch()は
まず以下のような形にしなくてはきちんと機能しない。
各引数はhelp参照

function sub( i, o, n ){
return n;
}

よって800の式はこうなる。

function foo( i, o, hoge ){
fuga=hoge;
_root.unwatch("bar");
return hoge;
}
802Now_loading...774KB:04/12/02 17:26:39 ID:OxgdvpUd
4つのムービークリップ mc1 mc2 mc3 mc4 が有って
そのx座標の値を 60 220 380 540 を
それぞれランダムで決めたいのですが、
x座標が重なってしまってうまくいきません
どうしたらいいですか?
803Now_loading...774KB:04/12/02 18:11:36 ID:wl4Y4x75
>>802
シャフルのアルゴリズムを調べると良いかも
804Now_loading...774KB:04/12/02 20:39:14 ID:DY9szRqR
すみません、ASの記述方法で良くわからない部分があるのですが、
通常の
hoge = hige = hage = 0
のようにまとめてローカル変数で初期化する場合って
var hoge:Number = 0
var hige:Number = 0
var hage:Number = 0
とするしかないのでしょうか?

var hoge:Number = var hige:Number = var hage:Number = 0
とやったらエラーが出たもので・・・。
805Now_loading...774KB:04/12/02 22:22:46 ID:nHKKcXgC
データグリッドからタブペインにドラッグアンドドロップして、
その際にタブペインを動的に追加し、そのへドロップしたデータ
を背セットしたいのですが、
これは可能でしょうか?
806Now_loading...774KB:04/12/02 23:34:29 ID:ZxlaOcOJ
当方MX使いです。質問させてください。
外部テキストファイルを読み込むとき、普通はテキストファイルを

 変数名=変数内容&変数名=変数内容&…

の形にしておきますよね?
ところが、あるswfファイルをみたところ

 変数内容,変数内容,変数内容,

というファイルから変数を読み取っていたんです。
これって一体どうやってるかわかりますでしょうか?
色々検索したんですが、『変数名=変数内容…』の形にするとしか書かれていません。

ちょっと表現が分かりづらいかもしれませんが、よろしくお願いします。
807Now_loading...774KB:04/12/02 23:40:35 ID:gtmbcRcj
もしt=変数内容,変数内容,変数内容,とかなら可能だけど・・・
808Now_loading...774KB:04/12/02 23:53:54 ID:ZxlaOcOJ
>>807
そうなんですよね。
その場合は配列を使ってsplit()で分割して変数に代入出来るんですがどうやらそうではないらしいんです。

何がしたいのかと言うと掲示板や日記などのログをPHPで吐き出して、
FLASHをスキンファイルとして使いたいんです。
そのログが例の

 変数内容,変数内容,変数内容,

の形だったもので。PHPの方を書き換えるのかと思ったんですが、
スキンファイルを提供してる他サイトのサンプルをダウンロードしてログ形式を見たらこのままだったんです。
諦めてPHPを書き換えるのが無難なんでしょうか…
809Now_loading...774KB:04/12/02 23:55:32 ID:gtmbcRcj
そのflaは手に入らないのかな。
810Now_loading...774KB:04/12/03 00:04:14 ID:leUXFdl/
>>809
どうなんでしょうか…
ちょっとそのサイトの管理人さんに聞いてみます。
でもなんか最近放置気味らしくって。
やっぱり難しい(というか面倒?)っぽいですね。
811Now_loading...774KB:04/12/03 07:39:03 ID:zrFF/v/8
>>806
ログを変換するCGIかPHPを使ってるんじゃないの
俺ならそうする。
LoadVars("convert.php")
みたいに
812Now_loading...774KB:04/12/03 09:49:25 ID:Nhdp6Kpj
環境 WindowsXP FLASH MX

私はFLASHの初心者です。
基本的な質問です。

loadmovieでjpgなどを読み込んだとき基準点は左上になりますよね
これを中心に変更したい場合はどうすればよろしいのでしょうか?
アクションスクリプトから基準点を変更する方法が知りたいです。

よろしくお願いします。
813Now_loading...774KB:04/12/03 11:43:41 ID:SHuqSwkY
>>812
入れ子のmcを用意して中のmcに画像を読みこむとか
814Now_loading...774KB:04/12/03 19:11:21 ID:gDACp8W6
>>812
MCの中で直接真中にするとMCの中心と交差するとこが伸びるバグがあるから、
813のいうように入れ子にしたほうが良いよ
815Now_loading...774KB:04/12/03 20:02:24 ID:RkUMddLU
>>806
onData(data)とかじゃないですかね
816Now_loading...774KB:04/12/03 20:37:13 ID:kheUVFKk
>806
これで読み込めるらしい。まだ試していないけれども。
HTMLとかのテキストデータならそのまま読み込み可能とのこと。

var myLv = new LoadVars();
myLv.onData = function( src ){ trace(src); }
myLv.load( "test.csv" );
817Now_loading...774KB:04/12/03 22:05:34 ID:971H8BC/
Flash 2004 Pro ActionScript2.0でアプリ作っています。
Flashの根本的なことを教えてください。
Flashってイベントドリブンで動作していますよね?
内部で、スレッドが並行して動いているのでしょうか?

マルチスレッドで動いている場合は、スクリプトの書き方を
リエントラントにするか排他を考えなければならないのですが。

webやヘルプを見たのですが、スレッドや同期に関する話題が無かったので。

宜しくお願いします。
818Now_loading...774KB:04/12/03 22:48:42 ID:kheUVFKk
>817
ムービークリップひとつが ひとつのスレッドなので
マルチスレッドで動作している。
819Now_loading...774KB:04/12/03 23:27:14 ID:UYQfyN5Z
MXですが
シーン2に
this.gotoAndPlay(1);
とかを入れると
シーン1の1フレームに飛んでしまうのですが
シーン2の1フレームに飛ばすにはどうすればいいでしょう
820Now_loading...774KB:04/12/03 23:39:50 ID:/XvNkV8B
this.gotoAndPlay(2,1)
821Now_loading...774KB:04/12/04 00:18:42 ID:VRHE1ju2
サンクスです
822Now_loading...774KB:04/12/04 07:37:59 ID:I3MOdalK
下記の様な一行ニュースを作りたいのですが
移動は分かるのですが左端に止まるScriptが分かりません?
教えて下さい。神様
http://linetopics.d-a.co.jp/
823Now_loading...774KB:04/12/04 07:41:43 ID:7wcla+CV
それはASでやらないで、トゥイーンさせたMCの中に
テキストフィールド入れた方が
スピード調整の柔軟性があって便利だぞ。
止める程度もわからないようなら、トゥイーンのほうがお勧め。
824Now_loading...774KB:04/12/04 08:16:59 ID:7wcla+CV
>>822
1字1句変えずにあちこちにマルチポストするなよ。
答えてくれる質問も、答えてくれなくなるぞ。
825Now_loading...774KB:04/12/04 10:46:31 ID:dKcqvspq
>>801
うまくいきました。
どうもありがとう。
826Now_loading...774KB:04/12/04 14:02:01 ID:4jtTb9o0
>>822
そんなピンポイントなScriptなんて無いよ。
移動がわかるって言うのはScriptでの移動のさせ方?
だったら停止位置でifで判定すればいいだろ。
827817:04/12/04 19:19:47 ID:xhOTdWrW
>>818
レスありがとう。
されに質問です。
ムービークリップ間でfunctionコールしたとき、非同期で動いてしまうって
ことは無いですよね?(通信系以外で)
じゃないと、プログラム組めなくなっちゃうんで。

宜しくお願いします。
828Now_loading...774KB:04/12/04 20:14:16 ID:7wcla+CV
非同期じゃないと思うよ。
そこら辺はかなり親切設計だから
気にしないでも大丈夫だと思う。
829Now_loading...774KB:04/12/05 13:50:11 ID:Jd33Ohvj
>827
非同期って例えばどんなことを言っているのでしょうか?

Flash上では スレッド(MC)内でフレームをまたぐ時に
( gotoAndStopやonEnterFrameでループさせる等の時 )
別スレッド(MC)に処理が移ります。

一つのフレーム内で別MCのメソッドを呼び出した場合
その別MCのメソッド内で走る処理は 別MCのスレッドではなく
メソッドを呼び出したMCのスレッドです。
830Now_loading...774KB:04/12/05 18:56:40 ID:2R75MF0L
モーショントゥイーンで動かしているMCの色を、
setRGBとかして変更すると、
モーショントゥイーンの動きが止まってしまうのですが、
こういう仕様なのでしょうか?
831Now_loading...774KB:04/12/05 19:11:51 ID:ZzNizZSA
仕様です。
MCを入れ子にしてください
832Now_loading...774KB:04/12/05 19:49:00 ID:2R75MF0L
>>831
おお、物凄い勢いのレスありがとうございます。
833Now_loading...774KB:04/12/05 20:35:12 ID:ElF4x1Py
-1をかけるのって
*-1か*(-1)のどっちかですか?それともどちらでもないですか?
どちらでもないのならば、やり方を教えてください。お願いします。
834817:04/12/05 20:56:46 ID:JRnPXefB
>>828-829
有難う御座います。
>非同期って例えばどんなことを言っているのでしょうか?
ムービークリップのインスタンスa,bがあるとして、
aがfunc1を持ち、bがfunc2を持つとします。
そして、func1の中でbのfunc2を下記のように呼びます。
a.fucn1 = function(){
//前処理
b.func2();
//後処理
}
この場合、func2がリターンしない限り、後処理が実行されないっていう認識で合ってますか?

また、逆に非同期を積極的に使うことは出来ますか?
例えば、思い処理を裏で行うとか。
(通信系はそんな感じなのでそのコードを参考にするのがいいかもしれませんが)

宜しくお願いします。
835Now_loading...774KB:04/12/05 20:57:59 ID:ZzNizZSA
>>833
両方よし。
慣例的に * -1と、計算記号と数字の間にはスペースを入れる。
836 ◆hb657T1piM :04/12/05 21:00:00 ID:XNjvAS7H
>>833
どっちでもいいですよ
*-1の方が短いのでおすすめ

trace(30*-1);
↑を実行すると-30が出力されるので確認してみましょう
837833:04/12/05 22:21:53 ID:ElF4x1Py
>>835-836
ありがとうございます。

それと(5+9)* -1なんかすると-14になったりするのですか?
(括弧の中が先に計算されるのか)
838Now_loading...774KB:04/12/05 22:29:08 ID:nYbI3/3R
trace(5+9*-1)
とか試してみればわかるでそ
839Now_loading...774KB:04/12/05 23:03:38 ID:afJqZtek
trace((5+9)*-1);
だね。
人に聞くのもいいけど、疑問に思ったことはとりあえず試してみるのもオススメ
840 ◆hb657T1piM :04/12/06 00:03:26 ID:ti85fJE5
演算の順番まとめておくよ

かっこの中                   ↓
*と/                     ↓
+と-                     ↓
同じ順位が2つ以上あるなら左から右 ↓
変数に代入                  ↓
841Now_loading...774KB:04/12/06 00:08:48 ID:AYH0Iigt
>834
>この場合、func2がリターンしない限り、後処理が実行されないっていう認識で合ってますか?
あってます

>また、逆に非同期を積極的に使うことは出来ますか?
>例えば、思い処理を裏で行うとか。
これはちょっとわからないですが
スレッド作成(MC複製)して裏で処理を行わせればよいのかと。
842Now_loading...774KB:04/12/06 00:10:03 ID:bW1HRTf9
あまりFLashで重い処理をスレッド管理しようとすると
死ねると思う。
素直な方法でやった方がいい。
843Now_loading...774KB:04/12/06 00:38:32 ID:Kg4BM7MD
MCにパラパラ漫画のようなフレームアニメーションを作って、そのバックでBGMなどの音楽を流してループさせようと思うのですが
BGMが終わってMCの最初に戻ると初めの部分で少し止まってしまい、滑らかに再生されないのですがこれは仕方ないのでしょうか?

BGMなしで再生すると、滑らかに再生されるのですが( ´・ω・)
844Now_loading...774KB:04/12/06 00:43:30 ID:bW1HRTf9
再生にパフォーマンス食ってるんだと思う。
845Now_loading...774KB:04/12/06 00:44:04 ID:bW1HRTf9
あ、っていうかスレ違いじゃないか。
つい答えちゃったよ。
846Now_loading...774KB:04/12/06 01:03:08 ID:Kg4BM7MD
ごめん…(´・ω・`)
847Now_loading...774KB:04/12/06 03:07:34 ID:6U91rinN
flash内部から、swfのURLでなく、
swfを表示しているhtmlのURLを取得することは、
できるでしょうか?

848Now_loading...774KB:04/12/06 04:11:06 ID:pXjkaLvS
>>847
マルチじゃーないけどいい気はしないなぁ。
JSで受け渡せ
849Now_loading...774KB:04/12/06 05:15:05 ID:GAn0BOB9
【環境】FlashMX+WinXP
【やりたい事】列挙したMC達をScrollPane枠内でスクロールしてみえるようにしたい。
【現象】列挙したMCだけがScrollPane枠外で見えてしまう。

Flashで掲示板を作ろうと思っています。
そこでScrollPane枠内に記事タイトル(MC)を列挙して、
沢山記事が発生してもスクロールして見えるようにしたいのですが、上手くいきません。
ScrollContentのMCはちゃんとPane枠外に出ると隠れてくれるのですが、
そのMCにattachMovieした記事タイトルMCがPane枠外にはみ出て見えてしまうんです。

ソースはこんな感じです。
var ID=100;
var contentMC = _root.scrollPaneInstance.getScrollContent();//ScrollContentのMCを取得
contentMC.attachMovie("title","title"+ID,ID);//ScrollContentのMCに記事タイトルを配置

ちなみにgetDepthで深度を取得してみたのですが、値は以下のようになっていました。
         _root:-16384
scrollPaneInstance:-16377
contentMC:3

深度が関係しているのでしょうか?
分かる方がおりましたら、よろしくお願いします。
850Now_loading...774KB:04/12/06 08:10:01 ID:Q0WmEHDr
FLASH5とMXおよびMX2004の差分知識(特にAS)を
最も効率的に知る方法って何でしょうか?

急にAS覚えなきゃならなくなって、
信頼できそうな「macromedia FLASH ActionScriptバイブル」をやってますが、
先に差分知識を大局的に把握しとかないと、ワケ分からなくなりそうです。
851Now_loading...774KB:04/12/06 08:45:26 ID:bW1HRTf9
>>849
列挙の意味が微妙に不明なんですが
確かScrollPaneには再表示とか表示MCの指定のメソッドがあったような。
うろ覚えですけど、それ探して使って見てください。
深度はあんまり関係ないと思います。

>>850
5とMXでは機能増加程度で目立った差分はありません。
2004のAS2.0だけは大幅に変更があります。
それぞれのバージョンのヘルプには、前回バージョンからの差分が記載されています。
また、2.0だけでよければそれ専用の本も販売されています。
FlashOOPあたりがお勧めでしょう。
852Now_loading...774KB:04/12/06 19:48:57 ID:mgLxPFnB
始めまして、FLASHでキャラクターを操作できるアバターチャットを作っているのですが、
まだまだ知識が至らず、操作の面で解らないことがあります。

動きのイメージとしては、オンラインゲーム(MMORPG)のようなもので、
移動したい位置をクリックすると、キャラクターがその位置に移動する仕組みです。
ムービークリップで作ったキャラクターに下のACを記述することで、移動自体は出来ました。

onClipEvent(mouseDown){
_x = _parent._xmouse;
_y = _parent._ymouse;
}

ですが、このままでは「瞬間移動」になってしまい、
肝心の「指定された位置へ歩行して移動」という動作が出来ません。

winXP、flashMXです。
後々は移動する方向によってキャラの向きが変わるなど、もっと勉強して色々やろうと考えています。
どうか、力を貸してください。
853Now_loading...774KB:04/12/06 20:06:19 ID:jD+QuUTV
>>852
onClipEvent(Enterframe)を使う
例えば
onClipEvent(load){
 xspeed = 3;//xの速さお好みで
 yspeed = 3;//これもお好みで
}
onClipEvent(Enterframe){
 _x += xspeed;//x座標を毎フレームxspeedだけ移動
 _y += yspeed;//上に同じ
}
あとは数値をマイナスにするとか何とかで上下左右いけるはず。
確かこんな感じだった。訂正ヨロ
854Now_loading...774KB:04/12/06 20:21:37 ID:bW1HRTf9
onClipEvent(load){
 r = 0;
 xspeed = 3;//xの速さお好みで
 yspeed = 3;//これもお好みで
}
onClipEvent(Enterframe){
 _x += xspeed * Math.cos(r);
 _y += yspeed * Math.sin(r);;
}
onClipEvent(mouseDown){
r = Math.atan2(_parent._ymouse - _y, _parent._xmouse - _x);
}
角度使ってやるならこうかな?
855Now_loading...774KB:04/12/07 00:39:54 ID:ezK4QHe0
localconnectionを同時に複数たちあげたのですが、うまくいきません
例えばtest1.swfに送信のコネクション, test2.swfに受信のコネクション
で、test2.swfの別のフレームに別の送信コネクションを書いて、
test3.swfにtest2からの受信コネクション、、、といった風なものを作っています。
localconnectionにこのへん制限ってあるんでしょうか
いろいろなパターンで試したんですけど、二つ目の
(test2→test3)のコネクションが動いてないみたい。
詳しい方いますか?
856Now_loading...774KB:04/12/07 00:46:35 ID:MNUjG4Du
test2>test3だけの通信はうまくいくの?
857855:04/12/07 00:57:53 ID:ezK4QHe0
>856
2→3 が単体でうまくいってなかったです
ありがとうです
助かりました
858855:04/12/07 00:59:37 ID:ezK4QHe0
複数同時で動きました
859852:04/12/07 02:28:59 ID:MST9//Ys
>>853-854
お二人ともどうも有り難うございました。
上のアドバイスを参考に、今まで色々やってみましたが、
始まった瞬間にキャラが右に移動していったり、
静止せずにそのままだったり、その方法ではどうもうまくいきませんでした。すみません。

それからさらに調べているうちに、以下のようなASをみつけました。
コイツをキャラクターのMCにぶちこんだところ、見事に望みどおりの動きが再現されました。
今度はここからキャラの向きを導き、方向ごとに、方向にあった歩行モーションのMCに切り替える方法を考えてみます。

本当に有難うございました!
860852:04/12/07 02:29:26 ID:MST9//Ys
-----------------------------------------
onClipEvent (load) {
var nDeceleration = 10;
var nX = _x;
var nY = _y;
var bMove = false;
}
onClipEvent(mouseDown){
nX = _parent._xmouse;
nY = _parent._ymouse;
bMove = true;
}
onClipEvent (enterFrame) {
if (bMove == true) {
var nDistanceX = nX-_x;
var nDistanceY = nY-_y;
if (Math.abs(nDistanceX)>0.2 && Math.abs(nDistanceY)>0.2) {
_x += nDistanceX/nDeceleration;
_y += nDistanceY/nDeceleration;
}
else {
_x = nX;
_y = nY;
bMove = false;
}
}
}
-----------------------------------------
861Now_loading...774KB:04/12/07 03:34:54 ID:njUzDDgo
MX2004です。
ムービークリップにon(release)イベントで反応するようにしてるのですが、
カーソルを「手」に変えない方法はありますでしょうか?
862Now_loading...774KB:04/12/07 05:42:31 ID:N18zeHGP
Mouse.hide();でハンドカーソル消して、
その座標に通常カーソル描画させるとかじゃいかんかね?
ActionScriptほとんど知らんで答えてるけど。
863Now_loading...774KB:04/12/07 08:52:04 ID:/xHSQXhJ
質問です。

function aaa(){}



aaa = function(){}

の厳密な違いってなんでしょうか?
864Now_loading...774KB:04/12/07 10:39:42 ID:tXob/+w2
使う分に厳密な違いってのは無いんだけど
flashではfunctionってのはFunction型っていうオブジェクトでもあるんだな。
それで変数に代入することができると。
()ってのは、変数を実行しますよーという意味のしるし。なので、
function aaa (){ ○○ }
function aaa (){ ×× }
こんなことすると、aaa()の中身は、××に上書きされる。
そんで、当然変数に入れることが出来るから
bbb = function aaa (){}
ってのが可能と。
で、この場合、どうせbbbでアクセスするんだからaaaって名前は使う予定が無い。
そこで匿名と言って、名前の無い関数に省略してしまってもいい。
bbb = function (){}
とまあ、こういう経歴があるというわけだ。
別のMCの関数を設定する時はこっちの方法しかないからこうやってるんだな。
普通の宣言ならfunction aaa ()の方がいい。
865Now_loading...774KB:04/12/07 11:10:52 ID:03x6yCp2
>>861
MC.useHandCursor = false;
866863:04/12/07 12:02:06 ID:/xHSQXhJ
>>864
ご返信ありがとうございます。

非常に分かり易かったです。
つまり、
function aaa (){}
の記述では同じタイムライン上の関数しか定義できないわけですね。

もう一つ気になることがあるのですが、質問させて下さい。
以前、次のようにscriptを記述したのですが、

this.aaa();

aaa = function (){
trace("test");
}

動きませんでした。そこで、下記のように書き換えたところ、

this.aaa();

function aaa(){
trace("test");
}

動作するようになりました。
記述場所は_rootの1フレーム目です。
環境はFLASH MX,WIN2000proです。

これは何故なんでしょうか?
867Now_loading...774KB:04/12/07 12:24:39 ID:bIFrPBGv
FlashとPHPの連携をしたくて、
Flash側のフレームに、
//送信用のデータの生成
formData = new LoadVars();
formData.data = _root.txt;
//受信用のデータの生成
recvData = new LoadVars();
//データの受信処理を設定
recvData.onLoad = function(){
_root.dymtxt = recvData.data;
}
//PHPへデータ転送
formData.sendAndLoad("test.php", recvData, "get");

PHP
echo "data=".$_GET["data"].10;
としているのですが、まったく反応がありません。。
WinのMX2004です。
何か根本的に間違っていますか・・?
868Now_loading...774KB:04/12/07 12:59:02 ID:yqIkQ0Co
"get"→"GET"では
869Now_loading...774KB:04/12/07 13:01:11 ID:o9MVE92m
>>866
たぶん、パブリッシュの時にfunction宣言は勝手に一番上に移動するのでは?
上の書き方だとaaaはあくまで変数だから、あの状態では何も無いってないことになると思われ。
870Now_loading...774KB:04/12/07 14:00:04 ID:bIFrPBGv
>>868
GETに変更したのですが、だめでした・・
どうもonLoadが動作してないみたいなんで、
PHPから返ってきてないみたいですね・・あ゛ぅ゛
871Now_loading...774KB:04/12/07 14:22:50 ID:o9MVE92m
問題を小分けしな。
まずphpとflashのどっちに問題があるかチェックから。
片方を激シンプルにしてやってみなよ。
872861:04/12/07 14:24:48 ID:F8FejU1U
>>865
ありがとうございますd
873Now_loading...774KB:04/12/07 14:26:29 ID:bIFrPBGv
>>871
PHP側は
まんまこれだけです。
echo "data=".$_GET["data"].10;

Flash側・・・
formData = new LoadVars();
formData.data = _root.txt;
//受信用のデータの生成
recvData = new LoadVars();
//データの受信処理を設定
recvData.onLoad = function(){
gotoAndPlay("success");
}
//PHPへデータ転送
formData.sendAndLoad("test.php", recvData, "GET");
↑もうこれだけタイムラインにおいてるだけです・。。
onloadで呼び出されるのをgotoに変えただけでやってみましたがだめぽです・・

あと、PHPはちゃんと動いてます。phpinfoで確認済み
874Now_loading...774KB:04/12/07 14:29:50 ID:n7iZt3k4
同じドメイン内?
875Now_loading...774KB:04/12/07 14:36:02 ID:bIFrPBGv
>>874
自鯖、ローカル内です。
876Now_loading...774KB:04/12/07 14:44:33 ID:zo5pbLHY
>873
onLoadの引数てvoidでも動作するのでしたっけ?
ためしにこうしてみては。
recvData.onLoad = function( success ){
trace( success );
}
877Now_loading...774KB:04/12/07 14:47:16 ID:n7iZt3k4
PHPは本当に動いてる?ブラウザで確認した?
文字コードはUTF-8で統一してる?
878Now_loading...774KB:04/12/07 14:47:30 ID:QzaVf6zP
>>873

formData = new LoadVars();
formData.data = _root.txt;
//
rcvData.mc = this
//
recvData = new LoadVars();

recvData.onLoad = function(){
mc.gotoAndPlay("success");
}


これじゃだめすか?
879Now_loading...774KB:04/12/07 14:48:43 ID:QzaVf6zP
まちごうた

formData = new LoadVars();
formData.data = _root.txt;

recvData = new LoadVars();
//
rcvData.mc = this
//
recvData.onLoad = function(){
mc.gotoAndPlay("success");
}
880Now_loading...774KB:04/12/07 15:00:50 ID:bIFrPBGv
>>876
一緒でした・・
>>877
phpinfoが見れるので動いるかと・・
文字コードはEUCだったのでUTF-8に変えましたが、一緒でした。。
<?php
echo "data=".$_GET["data"].10;
?>
PHP側はこれだけで本当にいいんでしょうか?(PHPのVerによる変数の割り当ては問題無しです)
881Now_loading...774KB:04/12/07 15:08:20 ID:N18zeHGP
原因はPHPとしか思えない。
882Now_loading...774KB:04/12/07 16:01:04 ID:n7iZt3k4
PHPが動いてるのと、君の作ってるphpが思うような出力をしてるのかどうかはまったく違う問題。
それが分ってないのならPHPをもっと勉強して下さい。
echo "data=".$_GET["data"].10;

print "data=".$_GET["data"].10;
に修正して、「ブラウザで」phpのURLを入力して、思うような文字列が出力できてるかを確認してみて。
そこで出てなかったらPHPの質問スレでも探して質問して。
883Now_loading...774KB:04/12/07 16:13:35 ID:bIFrPBGv
>>882
それはもちろん確認しております。
http://localhost/test.php?data=2
で、 data=2 とでます。。これが違うんでしょうか?
PHP側でFlashに送ってやる変数が違うのでしょうか?
884 // rcvData.mc = this // :04/12/07 16:20:41 ID:QzaVf6zP
>>878 = 879
ですが無視ですか?泣
885Now_loading...774KB:04/12/07 16:21:52 ID:o9MVE92m
もうFlash側よりも鯖側から探れないのか
phpが起動してるかどうかとか
886Now_loading...774KB:04/12/07 16:27:20 ID:/xHSQXhJ
いつもお世話になっております。
質問をさせて下さい。

既にswfファイル化されたムービー上で、
スクリプトを用い、現在表示されているムービーを
静止画として出力ってできますでしょうか?

というのは、やりたいことは、
ムービー上で、色・ラベルの変更が可能なボタンの画像を配置し、
クライアントが気に入った配色を選び、画像として出力できる、
といったことなのですが、やはり無理でしょうか?

887Now_loading...774KB:04/12/07 16:31:22 ID:n7iZt3k4
>>884
あー、たぶんそれですね。
onLoad = function(){trace("取得確認");}
とかで届いてるのを見ればいいですね。あるいは
onData = function(data){trace(data);}
とか。


888Now_loading...774KB:04/12/07 16:32:42 ID:bIFrPBGv
>>884
いえ・・すいません返事できてませんでしたm(_ _)m
試したのですが駄目でした・・

>>885
鯖側でも調べました。あとphpinfo();がはしるということは動いてる事になるので・・動いてるのは間違いないと思いますが・・
念の為、レン鯖にアップしてやってみましたが、結果は一緒でした。

ASの記述する場所が悪いんでしょうか?
今はタイムライン上に書いていますが・・・
889Now_loading...774KB:04/12/07 16:42:46 ID:zo5pbLHY
>888
蛇足かもしれませんが_root.txtに値は入っていますよね。
890Now_loading...774KB:04/12/07 16:58:01 ID:bIFrPBGv
>>889
それでした・・w NULLが返ってきてたんですね・・
ちなみに、少し省いて
formData = new LoadVars();
formData.data = _root.txt;
recvData = new LoadVars();

recvData.onLoad = function(){
gotoAndPlay("success");
}
formData.sendAndLoad("test.php", recvData, "GET");
これで動作させました
ご指導頂いた方有難う御座いましたm(_ _;)m
891 // rcvData.mc = this // :04/12/07 17:03:53 ID:QzaVf6zP
おいおいw
892Now_loading...774KB:04/12/07 17:06:06 ID:zo5pbLHY
  ____∧∧
〜' ____(,,゚Д゚) これぞ盲点と人は呼ぶ
  UU    U U
893Now_loading...774KB:04/12/07 17:27:49 ID:S4EL4QEE
まじで盲点だなw
動かないんじゃなくて動いてたのか。
894Now_loading...774KB:04/12/07 17:28:27 ID:S4EL4QEE
>>886
無理、つーか俺もやりてぇ。
895Now_loading...774KB:04/12/07 17:35:35 ID:GUeg0sss
>>894
世にはキンタマというものがある
896852:04/12/07 20:45:22 ID:eHcdqpha
昨日の今日で申し訳ないです。
前回の>>860を使ってキャラクターを動かしているのですが、
今度はキャラクターの移動範囲の部分で悩んでいます。

ttp://isvalid.jp/actionscriptLab/lesson/gameLesson2.html
↑の講座を参考に、移動できる範囲をMAPの見た目に合わせて「塗り」で作り(movearea)、
それからキャラクターのonClipEvent(enterFrame)に以下のASを記述しました。

if (_root.movearea.hitTest(this.getBounds(_root).xMax, this._y, true)) {
   this._x += nDistanceX/nDeceleration;
}  

if (_root.movearea.hitTest(this.getBounds(_root).xMin, this._y, true)) {
   this._x -= nDistanceX/nDeceleration;
}

if (_root.movearea.hitTest(this._x, this.getBounds(_root).yMax, true)) {
   this._y += nDistanceY/nDeceleration;
}
 
if (_root.movearea.hitTest(this._x, this.getBounds(_root).yMin, true)) {
   this._y -= nDistanceY/nDeceleration;
}

このとき、境界にさしかかると一瞬とまったような動きはするのですが、
境界を飛び越えてすぐにキャラクターがマウスの位置に瞬間移動してしまいます。
何か境界からとび出さないようにする良い方法、またはこのような複雑な形の移動範囲をうまく作る方法はないでしょうか?
897863及び886:04/12/08 14:59:05 ID:SvCWfsO1
>> 866 様
返信ありがとうございます。
たしかにfunction宣言の場合、
自動で繰り上がるのならば、この記述で動作しないですね。
やっと理解できました。ありがとうございました。

>> 894 様
そうですか。。。やはり無理ですか。
出来たら色々と便利なんですけどね;
ご返信ありがとうございました。
898852:04/12/08 18:49:07 ID:hmDzmtF+
すみません、>>896の問題は
1.キャラとマップがヒット(移動可能領域上にいる)していたら、クリックしたときそこまでキャラはスライドする。マップとヒットしていなかったら動かない。
2.マウスクリックが指定範囲内だったらキャラはクリックした位置までスライド。マウスクリックが範囲外だったら移動しない。
という条件を>>860に付けることで解決しました。

ただ、これだと「壁」の当たりは問題ないのですが、「障害物」の判定で悩んでいます。
■が移動可能範囲、□が移動不可能領域だとして、

a■□□b 
A■□■B
このような位置関係でキャラがAにいるとき、
a→bは行けないようになっていますが、
A→Bの移動不可能領域を越えての直線移動が成り立ってしまいます。

何か良い方法は無いでしょうか?
899Now_loading...774KB:04/12/08 19:02:23 ID:UkV6FGbG
アルゴリズムとしては
キャラが次進むべき場所を調べる

壁が無ければ移動
という処理を繰り返して動くことで実現することが出来ます。
それをどうASで書くんですか?という質問はたぶんここじゃ答えない。
900Now_loading...774KB:04/12/11 02:50:38 ID:5yX67KOg
ボタンをクリックしたらそれに対応したいくつかのMCがそれぞれ動作するようにしたいのですが,
ボタンをクリックしたときにMCのメソッドをつつきに行くのではなく,
クリックされるとボタンが何かイベントを起こして,対応するMCでそのイベントを拾って動作するようにできないでしょうか。
また,それぞれのMCが反応するボタンは動的に変更したいとも思っています。
901Now_loading...774KB:04/12/11 03:19:42 ID:5zHnmsi+
>>900
ブロードキャストの考え方が良いと思います。
結局はつつきに行くことになりますが、やりたいことが実現できるかと。

概要を説明すると
ボタン側には変数_listenerを用意します。これは配列です。
イベントを受けたいMCはボタンの_listenerに自分を追加します。
ボタンはクリックされるとListenerに入っている物全てに対してメソッドを実行します。
これで、ボタン側に予めメソッドを起こすMCを記述しておく必要が無くなります

詳しくは検索してみてください。
902900:04/12/11 03:35:03 ID:5yX67KOg
>>901
ありがとうございます。
ただ,これだと
AをクリックしてB, Cのメソッドを実行
→Bのメソッドで状態が変化してDのメソッドを実行
となって欲しいのに,実際にはB, D, Cの順でメソッドが実行されてしまいそうですが,その解釈であっていますか?
もしあっていたら,B, C, Dの順でメソッドが実行されるようにしたいんですがその場合どのようにすればいいんでしょうか?
903Now_loading...774KB:04/12/11 03:52:07 ID:5zHnmsi+
>>902
必ず繋がっていないといけない処理を、複数のMCに分けるのは良くないと思います。
例えば、何故BからCのメソッドを呼び出さないのでしょうか?
もしくはCの内容もBに書いてしまうことはできないでしょうか?
他に_rootでまとめて処理はできないか?

というより、何がしたいのか不明瞭で困ります。
どのような処理がしたいのでしょうか?
904Now_loading...774KB:04/12/11 06:59:57 ID:dUtncVRP
ライブラリに読み込んだswfをattachMovieで再生したいのですが、
読み込んだ時点でシェイプグラフィックに変換されて再生できません。
読み込むswfはスクリプトやタイムライン、MCを多用していますがこれが原因でしょうか?
905Now_loading...774KB:04/12/11 07:16:15 ID:E/nNrBNx
すみません、1週間前ぐらいからFLASH MXを始めた厨房です

現在サイトのメニューボタンを作っていますが
クリックすると音が鳴る&マウスのrolloutの処理が欲しくてMCで作りました

push.waveという音をライブラリに読み込み識別子を「push」にして
ActionScriptに書き出しをチェックして
以下のASを書きましたが、全く音が鳴りません
厨房な質問ですみませんがどうかよろしくお願いします


onClipEvent(load)
{
    se = new Sound();
    se.attachSound("push"); 
}

on(release)
{
    se.start();
    getURL("リンク先URL","_cont");
}
906Now_loading...774KB:04/12/11 08:18:51 ID:qYK64rxD
>>905
房ですか。。。私も同じです(藁

そんなことせずにボタンのフレームに読み込んでみてはどうでしょうか。。。
907Now_loading...774KB:04/12/11 15:47:12 ID:TvkTqO8W
質問させて下さい。
外部テキストからsetRGBで取得した色情報を、MCに適用して
MCの色を変えれるようにしたいのですが、どのようにActionScriptを書けばよいでしょうか?
外部テキスト内は、BG = 0xFFFFFF と記述して
MC(インスタンス名:background)に下記のActionScriptを適用しましたが、
そこで解らなくなっています。

my_color = new Color(background);
my_color.setRGB(BG);

よろしくお願いします。
908907:04/12/11 15:51:45 ID:TvkTqO8W
すいません、書き漏れです、
環境はWindows FLASH MX 2004 でした。
909900=902:04/12/11 18:40:14 ID:5Fx0rlPT
>>903
説明が具体的でなく申し訳ありません。
ニューラルネットのモデルシミュレーションみたいなものを考えています。
ニューロン同士の結合や結合重みを動的に変えて実行するようなものを作ってみたいのですが、
902に書いたような状態になってしまうとシミュレーションができなくなってしまうもので…。
自分でイベントを発生させてそれをみて各ニューロンが動作してくれるのが理想かと思って質問していたんです。
このようなことはactionscriptではできないと考えてよろしいのでしょうか。
910Now_loading...774KB:04/12/11 19:36:40 ID:p/+0lIcr
>909
単純にDはCの処理が実行されるまで待機しておけばいいのでは?
911Now_loading...774KB:04/12/11 21:35:01 ID:2bJ2LLhP
よろしくお願いします。

FlashMXで制作しています。
 _global.com[1]="あいうえお";
という変数を作っておき、後でダイナミックテキストの変数の名前を_global.com[1]に
しても、内容(あいうえお)が表示されません。

この変数名を配列でなく、
 _global.com="あいうえお";
とするとうまくいくのですが…。配列では不可能なのでしょうか?
912Now_loading...774KB:04/12/11 21:52:02 ID:p/+0lIcr
>911
「変数名を配列にする」という考え方がまずおかしい。
配列がなんなのか、まず頭で整理すること。

>_global.com[1]
これがうまくいかない理由は
変数名に使用してはいけない "["と"]" が含まれているため。
913Now_loading...774KB:04/12/12 08:09:20 ID:Luc//RZy
>>911
_global.com = new Array();
_global.com[1] = ["あいうえお"];
trace(_global.com[1]);
914Now_loading...774KB:04/12/12 16:31:50 ID:zWloeS4m
配列を自動的に順番に取り出すスクリプトはあるのでしょうか?
915Now_loading...774KB:04/12/12 16:37:26 ID:HvxY+5zb
for文で代入させてけばいいんじゃネ
916Now_loading...774KB:04/12/12 20:24:23 ID:0gX3ZVSh
あるMCをすでにキャッシュに読み込んでいたらそのフレームに移動することって
どうやってやるんですか?教えてください。
お願いします。

言葉で言うと分かりづらいので、
参照:ttp://clairvoyance.hp.infoseek.co.jp/ffaa05.html
のナナシア七変化+1(1度クリアしないと出ない
917Now_loading...774KB:04/12/12 21:15:04 ID:ilB7xtgz
>916
1.読み込ませたいMCをフレームに配置
2._framesloadedで読み込んでいるフレーム数を調査し
 1で配置したフレーム以上の数値を得た場合、そのフレームへジャンプ
918Now_loading...774KB:04/12/12 21:44:46 ID:0JVdhAo9
>>916
「しぇあーどおぶじぇくと」でぐぐるといいことあるよ。
919Now_loading...774KB:04/12/13 03:11:02 ID:fz2j3kyx
本のサンプルにて

var b:Boolean = false;
var xscale:Number = 100;
var yscale:Number = 100;
_root.image_mc.onPress = function():Void {
xscale = Math.round(20+Math.random()*200);
yscale = Math.round(20+Math.random()*200);
b = true;
this._alpha = 50;
};
_root.image_mc.onRelease = function():Void {
this._alpha = 100;
};
_root.image_mc.onEnterFrame = function():Void {
if (b) {
this._xscale += (xscale-this._xscale)/5;
this._yscale += (yscale-this._yscale)/5;
updateAfterEvent();
}
};
stop();

こんなコードがあって、実行すると画像クリック→ランダムに伸縮
みたいな実行結果になるんです。
ところがサンプルに使われているimageムービークリップを自分で
新しく作ったimageムービークリップで置き換えると動作がなされないのは
なんででしょう?

ttp://www.logicalyze.com/handbook3/
のSection3の3-1.flaでつ。
お願いします。
920Now_loading...774KB:04/12/13 05:31:14 ID:53NWogGW
普通に動く。
つまりお前のやり方が悪いとしか言えない。
921Now_loading...774KB:04/12/13 10:56:42 ID:HK8YklSt
>>920
初心者をいつもきびしく煽るあなた、すごい目障りです。
922Now_loading...774KB:04/12/13 12:44:12 ID:LO3WsxHH
>919
入れ替えたMCに
「image_mc」というムービークリップ名をつけたかどうか確認。

>921
2chだし口悪い人がいても仕方ないさ。正しいことは言っているし。
923Now_loading...774KB:04/12/13 13:46:29 ID:qTYAVeQ1
>>920-921
おまいら、もうすこし言葉遣い直したほうが良い。
924Now_loading...774KB:04/12/13 13:54:01 ID:goBHKDa/
喧嘩するな。
>>921に一理あるがここでそんなことを言うべきじゃないし
厳しくするのはここでは勝手だ。
2ちゃんなんだから何言われてもいいつもりで書き込むべき。
答えるほうは無償でやってるんだからな。
925Now_loading...774KB:04/12/13 14:02:19 ID:cgVLhnAM
FLASH MX2004を使ってます。
空のコンボボックスにXMLのデータをaddItemで追加。
その後、setSelectedIndexで表示位置を設定します。

しかし、コンボボックス内にXMLの値はしっかり入っているものの、
setSelectedIndexで場所を指定できません。
traceで.getLength()を調べたら、値がundefinedになります。
もちろん、コンボボックス内にXMLのデータはちゃんと入ってます。
あらかじめプロパティで値をいれると、ちゃんと.getLength()の値が表示されます。

ActionScriptでデータを格納したコンボボックスの表示位置を指定するにはどのようにすればいいのでしょう?
ちなみにXMLを読み込む場所もコンボボックスを指定する場所も1フレーム目です。
926Now_loading...774KB:04/12/13 15:21:26 ID:LO3WsxHH
>925
コンボボックス配置した次のフレームで
getLength()使ってみてもらえますか?

927Now_loading...774KB:04/12/13 16:08:24 ID:ZrycPGHQ
FlashMXを使用して、CGIのパスワード認証システムを作っています。
パスワードやIDはSQLServerを使用して、CGIで認証し、結果をFlashに
返すようにしているのですが、どうしてもうまくいきません。

FlashからCGIへは渡っており、CGIからデータベースのほうもうまく認証できているのですが、
結果をCGIからFlashに渡すときにおかしくなっているのか、Flashのほうでうまく判断できていない状態なのか、よく分かりません。

Flashに打ち込んだスクリプトは下記の通りです。

on (release) {
//--パスワード送信用LoadVarsオブジェクトの作成
System.usecodepage = True;
myLoadVars = new LoadVars();
mySendVars.id = id;
mySendVars.pass = pass;
//--受信用LoadVarsオブジェクトの作成
myLoadVars = new LoadVars();
myLoadVars.onLoad = function(success){
$log = myLoadVars.logIN;
}
if ( $log == 0 ) {
this.gotoAndStop ("out");
}else {
this.gotoAndStop ("in");
}
mySendVars.sendAndLoad("check.cgi",myLoadVars,"POST");
}

何かとても、変な間違いをしてしまっていると思いますので、お教え下さい。
よろしくお願いいします。
928925:04/12/13 16:11:46 ID:cgVLhnAM
>>926
次フレーム、次マウスイベントの時点では取得できます。
できれば1フレーム目でXMLデータをコンボボックスに格納し、setSelectedIndexしたいのです。
やはり不可能なのでしょうか。
929Now_loading...774KB:04/12/13 16:44:25 ID:goBHKDa/
>>927
何故にlogの頭に$をつけるよ。
930Now_loading...774KB:04/12/13 17:15:07 ID:LO3WsxHH
>928
こうしてみてはどうでしょう。
厳密に1フレーム目とはいえませんが。
this.onEnterFrame = function(){
コンボボックス名.getLength();
その他コンボボックスで行いたい もろもろの処理;
delete this.onEnterFrame;
}
931Now_loading...774KB:04/12/13 17:20:58 ID:LO3WsxHH
>927
if文はonLoadの中に記述。
932Now_loading...774KB:04/12/14 09:54:57 ID:x+GlDnVz
FlashMX 2004(実際はFlex)。
2つのDataGridのスクロールを同期させたいのですが
どのようにすればいいでしょうか?
(片方のDataGridがスクロールされたらもう片方も動く)

DataGridのScrollイベントでスクロールされたことはひろえるのですが、
そこでどのように処理すればよいでしょうか?
933Now_loading...774KB:04/12/14 10:09:31 ID:QngFQAbm
文章を 円筒上にくるくる回したいのですが
どうすればいいのでしょうか?

934Now_loading...774KB:04/12/14 10:25:01 ID:G0XetLAQ
へぼ質問ですみません。

substring()

で文字数指定で文字列を切り取れますよね。
これの、バイト指定の関数ってなんでしょうか?
調べてみたもののなかなか出てこなくて・・・・

環境はFLASH MXです。
935Now_loading...774KB:04/12/14 12:42:11 ID:91J8R+/H
バイト指定は無いかもしれない。
何したいの?
936927:04/12/14 13:56:47 ID:eaHw2a5r
昨日は、ありがとうございました。
教えていただいたとおりに、if分をonLoadの中に記述したのですが、
そうしましたら、一切動かなくなってしまいました・・・
onLoadから出したら、ボタンを押して次に進めるのですが、進んだ先は間違ってしまっております。
もう一度教えてください。

on (release) {
System.usecodepage = true;
//--
mySendVars = new LoadVars();
mySendVars.id = id;
mySendVars.pass = pass;
//--
myLoadVars = new LoadVars();
myLoadVars.onLoad = function(success) {
inin = myLoadVars.logIN;
if( 0 == inin ){
this.gotoAndStop("in");
}else{
this.gotoAndStop("out");
}
}
}
937Now_loading...774KB:04/12/14 14:20:19 ID:m68YHe84
>936
gotoAndStopにthisはいらない
938934:04/12/14 14:30:02 ID:G0XetLAQ
>>935
返信ありがとうございます。

やりたいことは、
固定サイズのダイナミックテキストに、
変数に格納した文字列を挿入するということです。

このとき、このダイナミックテキストに収まらないサイズであれば、
最後に"・・・"を加えて表示するというものなんですが、
文字数でとってしまうと半角も一文字なので上手くいかず、
困っていたところです。

何か良い方法などありますでしょうか
939927:04/12/14 14:35:39 ID:eaHw2a5r
>>929,931,936さま
ありがとうございました!ページが進むようになりました。
しかし・・・同じフレームしか表示されません・・・。
Flashに戻さなければ、正しいページが表示されるので、CGIに間違いはないと思うのですが・・・。
if文の間違いでしょうか?

ちなみに、CGIは下記のように書いております。
940927:04/12/14 14:36:50 ID:eaHw2a5r
require "****.cgi";
$q = new CGI;
$username = $q->param('id');
$password = $q->param('pass');
if(Init() eq -1)
{
print "初期化エラー";
}
if(Login ($username,$password) eq -1)
{
errPage();
}else{
manePage();
}
exit;
#=====エラーページ=============
sub errPage
{
$i = 0;
print "Content-type: text/plain\n\n";
print "logIN = $i";
}
#=====管理ページへ==============
sub manePage
{
$i = 1;
print "Content-type: text/plain\n\n";
print "logIN = $i";
}

何度も何度も申し訳ありません、よろしくお願いします。
941925:04/12/14 14:40:10 ID:7h8c9Eaj
>>930
試したけどダメでした。
XMLを読み込むプロセスが終了していないのか、
コンボボックスにaddItemした場合は、次のフレームまで待たないといけないのか・・・
わかりません。
942Now_loading...774KB:04/12/14 14:58:06 ID:A4oOqSr6
320x240で作成したSWFファイルを、新規ウィンドウで開いて640x480で表示させたいのですが
どうすればいいのでしょうか?

Stage.scaleMode = "noScale";
↑のACだと、100%表示なので200%表示などがあるかなと思って探してみたのですが
見つからないです…
943Now_loading...774KB:04/12/14 15:05:38 ID:m68YHe84
>927,939
その文章だと他の人にまったく意味が伝わりませんよ。
CGIから取得した値を調査したい場合は trace文を使用してください。
944Now_loading...774KB:04/12/14 15:10:05 ID:m68YHe84
>942
パブリッシュ設定のHTMLタグのところで
サイズをパーセント指定の100x100にする。
スクリプトは必要なし。
945927:04/12/14 15:29:11 ID:eaHw2a5r
>>943
分かりにくい書き方で、すいませんでした。
教えていただいた、traceを使用してみたところ、何も表示されませんでした・・・。
CGIから考え直してみます・・・
946Now_loading...774KB:04/12/14 15:39:59 ID:91J8R+/H
ACって広めてるやつがいるのか?
947Now_loading...774KB:04/12/14 15:49:57 ID:m68YHe84
>942
勘違いしたので訂正。
パブリッシュ設定のHTMLタブのところで
サイズをピクセル指定の640x480にする。
948948:04/12/14 16:57:23 ID:cDNKjmw6
SWFで書き出したファイルにリンクを貼る(バナーにする)には、どういった手順が
一番良いでしょうか?ちなみに作成ソフトはMX2004です。
949Now_loading...774KB:04/12/14 17:18:13 ID:Z3c49bub
>>948
ドキュメントサイズの透明なボタンを上において、
そのボタンに

on (release,releaseOutside) {
getURL(〜);
}

とリンクのスクリプト書いてからパブリッシュ。
950Now_loading...774KB:04/12/14 17:19:28 ID:Z3c49bub
くそマルチ野郎かよ。しかも釣られたくせ− orz...
951Now_loading...774KB:04/12/14 17:49:09 ID:6qd1t3Nm
すいません、質問なんですがよろしいでしょうか?

現在、チャットを作ろうとしています。内容としては発言するコメントには赤、青、黒などの色を指定でき、
ログを50コメントまで保存可能で、それ以降は一番古い発言から削除するように作っています。

発言の色付けに TextFormat の color を使用し、ログを削除する際には indexOf で \n を見つけ
削除するようにしていますが、ここで問題が発生しました。TextFormat を使用したテキストに indexOf で \n を
探そうとしても見つからず、-1 が返ってきてしまうのです(T^T)
しかし、TextFormat を使用しなければ indexOf  は\nを見つけそのNOを返してくれます・・。

以下ソースになります。
どなたかご教授よろしくお願いいたしますm(__)m。
952951:04/12/14 17:50:35 ID:6qd1t3Nm

/*---- コメント保存 ----*/
 var cColor; //色の受け皿
//文字の着色
theTF =new TextFormat();
switch( parseInt(tC) ){
case 0: cColor = 0xA05050; break;
case 1: cColor = 0xA07A50; break;
case 2: cColor = 0x9CA050; break;
case 3: cColor = 0x50A056; break;
}
theTF.color=cColor;

//textA = "チャットログ表示テキスト"
Selection.setFocus("textA");
Selection.setSelection( textA.text.length, textA.text.length);//-1

var tmp2 = textA.text.length;
//strName = "発言者名"
//strComent =”コメント内容”
textA.replaceSel( strName +" >> "+ strComent +"\n");
textA.setTextFormat (tmp2, textA.text.length, theTF);

/*--- ログ消し ----*/
var strE
strE = textA.text.indexOf("\n");
textA.text = textA.text.slice( strE );
953951:04/12/14 17:52:38 ID:6qd1t3Nm
すいません、環境を書き忘れていました(汗
環境はwin2k、2004MXになります。

わかりにくい説明だと思いますがよろしくお願いいたしますm(__)m。
954Now_loading...774KB:04/12/14 18:02:47 ID:5ZEcg/Qz
>>953
先に何をしたいか何を教えて欲しいのか書こうよ
955949:04/12/14 18:08:00 ID:cDNKjmw6
>948さん
ご返答ありがとうございます。ただこちらのやり方が悪いとは思うのですがうまくいきません。
まずSWFで書き出したものをライブラリに読み込みをしてそれを配置し、その上に透明のボタンを配置
し、教えていただいた
on (release,releaseOutside) {
getURL(〜);
}
で設定したのですが
**エラー** シーン = シーン 1, レイヤー = レイヤー 2, フレーム = 1 :行 2:')' または ',' が必要です。
getURL(http://www.yahoo.co.jp);
ActionScript エラー数 :1 報告済みエラー :1

がでてしまいます。透明ボタンが悪いのかSWFファイルが悪いのかがわかりません。
956951:04/12/14 18:12:18 ID:6qd1t3Nm
>954
すいません。やりたいことは、

発言に色付きが可能で、ログを50まで保存可能な一行チャットを作りたいのですが、
色付きで保存したコメントのログを消そうと一番古いログを消そうとすると、今まで発言していた
色付きコメントが全て黒字になってしまうので、それをなんとかしたいのです。

できれば setTextFormat を使用して色を付け、ログを消すときに今まで発言したコメントの色は
そのままで処理をしたいです。

う〜ん、説明ヘタで長文になってしまいすいません(^^;
957Now_loading...774KB:04/12/14 19:03:44 ID:qfsw7alM
チャットを作りたいだのログを消すだのって部分が不必要なんだよ。顔文字もいらない。
質問したかったら、
テキストフィールドの文字列に場所によって別々の色をつけたとき
文字列を変更すると全て黒色になるようですが、これを回避するためにはどうすればいいですか?
とか書くべき。

んで回答は、色が違う部分を別々に保存しておき
毎フレーム、もしくは変更があるたびにそれらをくっつけて表示する仕組みにするべき。
配列と構造体とかを上手く使うといい。
958942:04/12/14 19:13:02 ID:A4oOqSr6
すいません、書き方が悪かったです。

HTMLに張るのではなく、SWF単体で開いたときにサイズを変更したいです。
分かりにくてすいませんm(_ _)m
959Now_loading...774KB:04/12/14 19:20:10 ID:qfsw7alM
>>955
まず「マルチポスト」について説明
ttp://www11.ocn.ne.jp/~dkouta/l003.htm
これに目を通しておこう。次から気をつけたほうがいい。

それでそのボタンのASだけど、正しくはこう。
getURL("http://www.yahoo.co.jp");
これでやれば動くと思う。

>>958
swf単体をブラウザで開くのか、ファイルで開く(白いfマークのウインドウ)のかによって変わる。
っていうかファイルで開く時は指定できないと思った。
ブラウザではASを使ってなんとかなる。
Stage.scaleMode = "noScale";
_root._xscale = _root._yscale = 200;
とかしてみると変化するかな。
ウインドウそのもののサイズはjavascriptで変えるべき。
これは別の掲示板で聞きな。
960951:04/12/14 19:44:30 ID:6qd1t3Nm
>957
なるほど、ありがとうございました。
顔文字はこれから気をつけます。
961Now_loading...774KB:04/12/15 00:16:12 ID:wgI8YcM7
すいません、どなたか、
スクリプトに書き出し設定をしたシンボルの中で、
特定のシンボルを優先的に読み込む方法を
ご存じの方いらっしゃいませんか?

よろしくお願いします。
962607:04/12/15 00:36:55 ID:TmmC5Qo1
おひさしぶりです。
さっそく質問なのですが今ボタンを押してインスタンスを読み込み
それを自動でリサイズするような仕組みを作っているのですが

on (press) {
//独自にbool型のloadUnCompleteプロパティを追加する
_root.haikei.board.loadUnComplete = true;
// 画像読み込み
_root.haikei.board.loadMovie ("1.jpg");

_root.haikei.onEnterFrame = function(){
   if(this.board._framesloaded < 1 || this.board.loadUnComplete){
trace( "loadUnComplete" );
return;
}
this.board._width = _root.haikei._width;
this.board._height = _root.haikei._height; // 外部ファイルロード完了時リサイズ開始
}
どうしても
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
**エラー** シンボル = 背景チェンジ, レイヤー = チェンジボタン, フレーム = 10 :行 18:演算子 '=' は、オペランドの前に来る必要があります。
   if(this.board._framesloaded < 1 || this.board.loadUnComplete){
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
というエラーが出てしまいます。
仕組み的にはhttp://umino.s8.xrea.com/archives/cat_14.html
を改造している感じです。

またloadUnCompleteのプロパティの所が
trueからどうやってfalseに変わるのかがあまり分かっていません
解説もしくは解説しているHPが教えてください。
よろしくお願いします。
963607:04/12/15 00:37:54 ID:TmmC5Qo1
すいませんインスタンスではなく
外部のファイル(jpg)でした。
964Now_loading...774KB:04/12/15 01:18:24 ID:eueJ1tsk
環境はXPでMX2004です。

zキーをおしたら28フレーム目へ、xキーを押した時に
aが1であれば4フレーム目へaが2であれば12フレーム目へ
飛ぶようにASを書いたつもりなのですが、ダメみたいです…。
どなたか分かる方よろしくお願いします…


stop();
Key.addListener(a=new Object());
a.onKeyDown = function() {
if (Key.isDown(90)) {
gotoAndStop(28);
Key.removeListener(this);
}
else if(Key.isDown(88)){
if(a==1){
gotoAndPlay(4);
Key.removeListener(this);
}
else if(a==2){
gotoAndPlay(12);
Key.removeListener(this);
}
Key.removeListener(this);}

};
965961:04/12/15 02:24:30 ID:1JMXH991
>>962
MX2004なら、MovieClipLoaderクラスを使うと
もっと確実なのですが、どうでしょうか?

>>964
a.KeyDownをいれてからaddListenerしたらいいと思います。
966Now_loading...774KB:04/12/15 08:48:16 ID:9F1l68oV
ASの質問とちょっとずれるかもしれませんが、
フォントの埋め込みデータのみのMCを用意して、
Flash側から汎用リソースとして読み込んでフォントを使用する、
というのは著作権上問題無いのでしょうか?

いちいち埋め込むよりは楽そうなのですが、
考え方次第では二次配布ととられかねないのかなと。
967607:04/12/15 10:14:44 ID:A7exPwET
>>965
リサイズはできるんですか?
できるんでしたらそちらを使ってみたいのですが
生意気ですがこの問題をちょっと解いてみたいという気持ちも
あります…
968961:04/12/15 13:06:55 ID:wgI8YcM7
var o:Object = new Object()
o.tgtx = 100;
o.tgty = 100;
o.tgtw = 297;
o.tgth = 210;
o.onLoadInit = function(mc:MovieClip){
mc._x = tgtx;
mc._y = tgty;
mc._width = tgtw;
mc._height = tgth;
}
var mcl:MovieClipLoader;
mcl.addListener(o)
var loader:MovieClip = createEmptyMovieClip("loader",0)
mcl.loadClip("***.jpg",loader)
969Now_loading...774KB:04/12/15 13:33:47 ID:fRdG63Ep
970Now_loading...774KB:04/12/15 17:10:50 ID:K6fuSxJz
とても単純な質問です。
マニュアルをみたけどわかりませんでした。
環境はFlashmx WinXPです。

hensu = 6;
gotoAndPlay(hensu);

hensu = "koko":
gotoAndPlay(hensu):

変数にフレーム番号を入れてgotoAndPlayは上手くいくのですが。
変数にフレームラベルを入れてgotoAndPlayが上手くいきません。
何が悪いのでしょうか?

よろしくお願いします。
971Now_loading...774KB:04/12/15 17:50:02 ID:DCTU3wM0
hensu = "koko":←
gotoAndPlay(hensu):←
972Now_loading...774KB:04/12/15 18:40:21 ID:8DbSdB3p
:、 ;
973Now_loading...774KB:04/12/15 18:59:49 ID:K6fuSxJz
>>971
>>972
うわっ、恥ずかしい。

どうもありがとうございました。
974Now_loading...774KB:04/12/15 22:11:05 ID:16Aztwo6
質問させて下さい。
一つオープニングのシーンがあって、
そこからランダムに14のシーンに飛ばしてやりたいんですが
全くやり方が分かりません。
どなたかスクリプト組める方お願いします。
975Now_loading...774KB:04/12/15 22:27:02 ID:DCTU3wM0
そりゃ質問じゃなくて依頼だがや。
まずは自分でグーグル検索。
976Now_loading...774KB:04/12/15 23:29:14 ID:Sdprt/Xv
シューティングゲームを作っているのですが、敵をに弾を当てたとき
敵となるMCに最終フレームにthis.stop();で止め
hitTestで弾が敵にあたった場合このこの敵のMCをplayしたところ
敵が消えたまま戻ってこなくなりました。
敵のMCのx座標が0以下になった場合にこのMCを復活させようと思っているのですが
うまくいきません。
現在の敵トシンブルのASがこんな感じです。
onClipEvent(load) {
speed = 8;
}

onClipEvent(enterFrame) {
if (_root.tama.hitTest(_root.obj1)) {
_root.obj1.play();
}
_x -= speed;
if (_x < 0) {
_x = Stage.width;
_y = Math.random() * Stage.height;
speed++;
}
}
tamaが自機より生成された弾でobj1が敵シンボルになっています。
hitTestの次の行に
if(_x<0){
_root.obj1.gotoAndPlay(1);
}
としてみたのですがシンボル自体が止まってしまいました。

ご助力をお願いします。
977Now_loading...774KB:04/12/16 00:16:07 ID:ObkpMvMe
>976
まず一言いいたい。日本語をしっかり書いてください。
次に他人にわかるようにもう少し文章をまとめてください。
978Now_loading...774KB:04/12/16 00:18:29 ID:PUQjgnsR
>敵となるMCに最終フレームにthis.stop();で止め
>hitTestで弾が敵にあたった場合このこの敵のMCをplayしたところ
>敵が消えたまま戻ってこなくなりました。
ここらへんが意味不明やね。
979Now_loading...774KB:04/12/16 00:25:48 ID:f0s51BbL
アクションで
フラッシュを終了させるアクションボタンがわかりません
どうすればいいでしょうか?

swfで見てるフラッシュをボタンを押してウインドウを消したい。
980Now_loading...774KB:04/12/16 00:43:03 ID:ObkpMvMe
981976:04/12/16 01:13:32 ID:y+sc/bFm
失礼しました。
改めて読み返してみるとボロボロでしたね…。(汗
敵となるシンボルは最初のフレームと最後のフレームにstop命令を置いてます。
また、最終フレームはstop命令のみでグラフィックは置いてありません。
2フレームめから最終フレームの一つ前のフレームにはシンボルが霧散するようにトゥイーンを用意しました。
フレーム1:this.stop();
フレーム2〜9 トゥイーン
フレーム10:this.stop();
という進行になっています。
説明が下手なのでソースを改変した部分をペーストすることにします。
onClipEvent(enterFrame) {
if (_root.tama.hitTest(_root.obj1)) {
_root.obj1.play();
}
の部分を
onClipEvent(enterFrame) {
if (_root.tama.hitTest(_root.obj1)) {
_root.obj1.play();
if(_x<0){
_root.obj1.play(1);
}
}
(以下省略)
というように変更していたのですが・・・
予定としてはシンボルが枠外に出たら元のシンボルが復活してまた画面に出る予定でした。
何度もお手数をおかけして申し訳ありません。
982Now_loading...774KB:04/12/16 01:44:57 ID:6zst3XQc
>>980 Mac版IE5.xには鬼門だ罠。
983Now_loading...774KB:04/12/16 01:46:23 ID:PUQjgnsR
なんかそもそも括弧の数が違うと思うんだけど。

onClipEvent(enterFrame) {
if (_root.tama.hitTest(_root.obj1)) {
_root.obj1.play();
}
if(_x<0){
_root.obj1.gotoAndPlay(1);
}
}

こうかな。
やりたいことがやっぱいまいちわからん。
多分自分の勝手な推測を説明に入れたりするせいだと思うんだけど。
>シンボル自体が止まってしまいました。
って何のこと?
984976:04/12/16 01:53:10 ID:y+sc/bFm
>983
まず括弧については省略してしまいました。
やりたい事だけ書きますと、
「敵と弾との衝突判定を行い、Hitした場合敵を破壊、破壊後もまた同じ敵を出現させたい」
という感じなのですが…つくづく説明ヘタで申し訳ないです…
普通のシューティングのように沢山敵を出そうとしているだけなのですが…。
985Now_loading...774KB:04/12/16 02:03:40 ID:PUQjgnsR
なんかよくわかんないけど枠の外で復活してるんじゃないの?
gotoAndPlayがどうのって言ってたからそれ見てたけど
座標を元に戻すASちゃんとどこかに書いてある?
それと>>983はどうだったの?
986976:04/12/16 02:10:46 ID:y+sc/bFm
>>985
座標を戻すことを忘れていました。
なんとか自分の思うように動きました。
>>983
>シンボル自体が止まってしまいました。
という点に関しては敵が予定していた動きをしなくなった(右から左に動いていたものが初期位置から動かなくなった)
ということでした。
これ以上お手数をおかけするわけにもいかないので微調整は自分で考えて見ます。
なんだか頭の悪い書き込みばかり繰り返して申し訳ありませんでした。
987979:04/12/16 05:59:54 ID:f0s51BbL
getURL ("javascript:window.close();");

かっこの中に何を入れればいいんすか?
終わりたいフラッシュのファイル名なんですか?
988Now_loading...774KB:04/12/16 06:09:21 ID:PUQjgnsR
>>987
基本的にFlashを終わらせるのはFlashにはできないのです。
そこでjavascriptを使用してウインドウを消すという方法をとります。
その括弧の中にはずばりウインドウの名前を入れることになりますが
その方法ではjavaScriptで開いた時以外スムーズに消すことが出来ませんので
ウインドウを開く側にもJavascript等を使い、ウインドウに名前をつけつつ開くようにしてください。
詳しくはこのスレの分野ではないのでWeb制作板等の質問スレや
Javascriptについて解説しているページを探してみてください。

ただし、勝手に閉じるウインドウを良く思わない人もいます。
そこを含めて、本当に閉じる必要があるのか1度考えてみることをお勧めしますよ。
989Now_loading...774KB:04/12/16 10:42:57 ID:YMT1PjND
>975
そうですね。なんか書いてるうちによく分からなくなってました。

とりあえず自分で見つけたページでも貼っときます。
http://www.gac.jp/article/index.php?stats=question&command=msg&category=19&id=11659
これでいけそうな気が。
990989:04/12/16 12:09:59 ID:YMT1PjND
と、思いましたがなんだがうまく動きません。

シーンの構成は
1.オープニング
2.jump
3.aa
4.bb
5.cc

ループさせたいのは3.4.5なので、
1フレームのみのjumpに
a = ["aa", "bb", "cc",];
nextLabel = String( a.splice( Math.floor( Math.random()*a.length ), 1 ) );
gotoAndPlay( nextLabel );
を仕込んで、各labelにジャンプするようにしました。

3.4.5の1フレーム目には各々"aa""bb""cc"とlabelを付けて、
最終フレームにgotoAndPlay("jump");として、
jumpフレームに飛ばしています。

これでランダムにジャンプはするのですが、
各シーン、10フレーム位から始まってしまいます。
(1〜9フレームは飛ばしてしまっている)

labelは空のレイヤーに付けても
オブジェクトのあるレイヤーに付けても同じです。
labelの付け方に問題があるんでしょうか?

どなたか解決法分かる方お願いします。
991Now_loading...774KB:04/12/16 12:30:12 ID:PUQjgnsR
this.gotoAndPlay( nextLabel );としてみたらどう?

gotoAndPlayで10フレーム後から始まるんなら
ラベルが10フレーム後にあるとしか思えない。
そもそもASを使うムービーではシーンを使っちゃいけないってのが定説なんだけどな。
シーンを使っていたとしてもラベルがしっかりしていれば
絶対にそのラベルへ飛ぶはずです。
ラベルはラベル専用のレイヤーを作って設定しましょう。
992989:04/12/16 12:44:07 ID:YMT1PjND
早速レスありがとうございます。
this.gotoAndPlay( nextLabel );
でバッチリ解決しました。
理屈はこれから勉強します。

しかしAS使うムービーではシーン使わないのが定説ですか。
その辺も勉強が必要ですね。

ありがとうございました。
993Now_loading...774KB:04/12/16 15:54:48 ID:KArYfweB
すいません、教えてください。
CGIで出された結果をもとに、Flashで表示するフレームを変えるのってどのようにしたらいいのでしょうか?
かれこれ、こればっかり一週間以上悩んでるんですが、結局全く分かりません・・・。
お願いします。
994Now_loading...774KB:04/12/16 17:22:21 ID:PUQjgnsR
1週間悩んでわかんないなら教えても駄目だと思う。
995Now_loading...774KB:04/12/16 17:48:42 ID:+wXtryiQ
>>993
ヘルプのLoadVarsをよく読むよろし
996Now_loading...774KB:04/12/16 19:29:43 ID:cY/NfTbo
次スレまだですか
997Now_loading...774KB:04/12/16 20:27:03 ID:/RK3AcLp
立ててきた
こんなんでええのかい?
ttp://pc5.2ch.net/test/read.cgi/swf/1103196358/
998Now_loading...774KB:04/12/16 20:44:49 ID:cY/NfTbo
とりあえず乙!
1000GET??
999Now_loading...774KB:04/12/16 20:56:06 ID:HFOWgqlK
おれは999で我慢する。
1000Now_loading...774KB:04/12/16 20:58:48 ID:HFOWgqlK
誰も採らないなら1000もゲッツだ!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。