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

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

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

●質問する時は自分の環境を書く
書いてない場合WinXP,FlashMX2004(AS2.0以降)を前提で
●質問はものすごい勢いじゃなくて結構
●できるだけコードも示す
●自分が試してみた処理を書く

直前スレ
ActionScript 誰かが物凄い勢いで解答するスレ 10
http://pc8.2ch.net/test/read.cgi/swf/1134826648/l50

関連スレ
Flash製作初心者の質問スレッド レイヤー32
http://pc8.2ch.net/test/read.cgi/swf/1133555936/l50
Flashの超基本的な質問はここでしろ! part26
http://pc8.2ch.net/test/read.cgi/swf/1136837485/l50
サイト、書籍、関連情報は>>2-10あたり
2Now_loading...774KB:2006/02/22(水) 03:04:26 ID:uwboCuD9
var id = setInterval(function(){
trace(">>1乙");
},100);
3Now_loading...774KB:2006/02/22(水) 03:18:15 ID:uwboCuD9
XP,MX2004。

ムービークリップ上に
function Stop()
{
// いろいろ
}

と作ってStop(); と呼び出しても何もおきない。
デバッガでStop()内部に入っていけないのでなんじゃこりゃと思って、
名前をHogeに変えてみたら、予定通り動いた。
Stopって、予約された関数名かなにか?
4Now_loading...774KB:2006/02/22(水) 05:41:56 ID:/B+yF9mg
>>3
ビルトインクラスのメソッド名は使えない、というのに引っ掛かったのでは。
ついでに予約語一覧
ttp://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001236.html
5Now_loading...774KB:2006/02/22(水) 07:45:43 ID:wE1QqtFa
予約語というものを知ってるくせになぜ自分で調べないのか。
6Now_loading...774KB:2006/02/22(水) 08:59:05 ID:ADxzLBt9
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
購入は書籍店か、アマゾンあたりで。

Flash情報交換フォーラム
ttp://www.mediacreator.jp/
ttp://www.flash-jp.com/
73:2006/02/22(水) 14:53:20 ID:uwboCuD9
>>4
>予約語ではないが、ActionScript コードで識別子 (変数またはインスタンス名) としては使用してはならない単語がいくつかあります。
イマイチすっきりしないけど、これに引っかかってる……ってことなんだろうなあ。

>>5
いや、ごめん。
確かになにやってんだ俺、と思ったので、「Flash Stop 予約語」でググって見た。
でも「Stop」と「予約語」を結びつける決定的な情報サイトはみつからなかったよ。
8Now_loading...774KB:2006/02/22(水) 16:17:07 ID:+bo3L/wQ
log1=hogeA
&log2=hogeB
&log3=hogeC
・・・
&log50=hogeXXX

という感じの外部テキストをLoadVarsを使って読み込ませたときに
logが50個ある、という情報を引き出すにはどうすれば良いのでしょうか。
よろしくお願いします。
9Now_loading...774KB:2006/02/22(水) 16:51:33 ID:p2se29a0
>8
なんの工夫もないですけど。
i=2;
while(this["log"+i] != null){
i++;}
logMax = i-1;
10Now_loading...774KB:2006/02/22(水) 16:55:25 ID:p2se29a0
↑わり、細かい所は直してw
11Now_loading...774KB:2006/02/22(水) 17:11:51 ID:+bo3L/wQ
>>9
whileを使えばいいんですね。
ありがとうございました。
12Now_loading...774KB:2006/02/22(水) 17:21:40 ID:2wjh/sww
使うな
13Now_loading...774KB:2006/02/22(水) 17:23:15 ID:+bo3L/wQ
>>12
となると、何を使うのがいいのでしょうか?
14Now_loading...774KB:2006/02/22(水) 19:33:07 ID:if1qXJq4
リビア国家のフラッシュが見たいのですが
15Now_loading...774KB:2006/02/22(水) 21:06:50 ID:V0++1xpd
>>12
i=1;
while(this["log"+i] != undefined ) {
i++;
}
logMax = i ;
でいいんじゃない?
16Now_loading...774KB:2006/02/22(水) 21:08:25 ID:V0++1xpd
↓前スレの人が言ってたやつ

●Flashスレッドログ全文検索
ttp://samurai.s69.xrea.com/
17Now_loading...774KB:2006/02/23(木) 02:30:29 ID:bnoo1aI7
どうしてもうまくいかないので、質問させてください。

FlashMX2004
WIN XP
の環境です。

フラッシュボタンのリンク先を新しいwindow(openwindow)で開く場合、

ただ単に新しい窓で開くときは、
アクションスクリプトに

on (press) {
getURL("URL名", "_blank");
}

でうまくいきますが、
javascriptで、幅、長さを指定して新しい窓を開く場合、
(仮に幅600、長さ400ピクセル、スクロールバーあり、リサイズハンドルあり)
で開きたい場合。

on(press){
getURL("javascript:openWindow('URL名','toolbars=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=600,height=400')");
}

と調べて記述してみたのですが(パブリッシュしてもエラーはでません)
うまくいきません。

どうしたらいいでしょうか?
18Now_loading...774KB:2006/02/23(木) 02:59:51 ID:k+cp/jNr
ウィンドウは開くの?開かないの?
19Now_loading...774KB:2006/02/23(木) 03:53:59 ID:wo93FrL9
質問です。

onClipEvent(enterFrame)で繰り返させている処理を中止して
呼び出されないようにしたいのですが、
そのmcごと消す以外になにか方法はないでしょうか?
20Now_loading...774KB:2006/02/23(木) 04:00:33 ID:OnaaEq1i
>>16
おお、さんくすです(・∀・)
21Now_loading...774KB:2006/02/23(木) 04:04:08 ID:OnaaEq1i
>>13
だからxml使えと。と、言うだけではなんなので、サンプル。
xmlからテキスト読み込んでそれを配列に格納する。

/////////xml read///////////
var qatxt:Array = new Array();
var qaxmlUrl:String = "chapter.xml";

qa_xml = new XML();
qa_xml.ignoreWhite = true;
qa_xml.load(qaxmlUrl);
qa_xml.onLoad = pooltext;
function pooltext(s) {
if (s) {
qaNode=qa_xml.firstChild;
for (var aNode:XMLNode = qaNode.firstChild,i=0; aNode != null; aNode=aNode.nextSibling,i++) {
qatxt[i]=aNode.firstChild.nodeValue;
trace(aNode.firstChild.nodeValue);
}
for(var i=0;i<qatxt.length;i++){
trace(i+")"+qatxt[i]);
}
}else{
throw new Error("xml read err:cannot find xmlfile or also Retry or Wait routine need.");
trace("xml read err");
}
}
22Now_loading...774KB:2006/02/23(木) 04:05:34 ID:OnaaEq1i
XMLファイルはこんなので。
ファイル名chapter.xmlで同じフォルダに置いてね。

<?xml version="1.0" encoding="UTF-8"?>
<ChapterText>
<Chterm ch="00">NHK総合</Chterm>
<Chterm ch="01">NHK教育</Chterm>
<Chterm ch="02">日本テレビ</Chterm>
<Chterm ch="03">東京放送</Chterm>
<Chterm ch="04">フジテレビ</Chterm>
<Chterm ch="05">テレビ朝日</Chterm>
<Chterm ch="06">テレビ東京</Chterm>
<Chterm ch="07">テレビ神奈川</Chterm>
</ChapterText>
2317:2006/02/23(木) 04:42:22 ID:bnoo1aI7
window開いてきません。
24Now_loading...774KB:2006/02/23(木) 04:59:41 ID:4v5+vpt8
>>23
そもそもfunction openWindowは定義されてるの?
25Now_loading...774KB:2006/02/23(木) 14:18:57 ID:TCCsleCz
>>21
遠回りな上に外部データの書式を簡単に変更できるとは限らない

>>13
whileでも正しく動くのならかまわないと思うけど、for...inステートメントでチェックしてもいい
そうすれば"log"の後ろの番号が飛び飛びであっても全てカウントできる

var my_lv = new LoadVars();
my_lv.onLoad = function(success) {
if (success) {
var count = 0;
for (var i in this) {
if (i.indexOf("log") == 0) { ++count;}
}
trace(count);
} else {
trace("Error loading/parsing LoadVars.");
}
};
my_lv.load("params.txt");

変数名には関係なく個数をチェックしたいだけなら、上記の場合
my_lv には他にonLoad関数しか格納されていないのは明らかなので
無条件にカウントしてそこから1引くだけでもいい。
後のことを考えて typeof でチェックしてもいいかな
26Now_loading...774KB:2006/02/23(木) 14:20:53 ID:SLTqXu2L
>>19
onClipEvent (load) {

var i = 0;
onEnterFrame = function () {
i++;
trace(i);
};
onMouseDown = function () {
delete onEnterFrame;
};

}

onClipEvent(enterFrame)は使わずに関数としてonEnterFrameを作成すればOK
マウスクリックでonEnterFrame処理を削除
こんな感じでどうでしょう?
27Now_loading...774KB:2006/02/23(木) 14:42:24 ID:OnaaEq1i
>>25
そうかな。でも、言ってみれば結構変わるもんだよ。だれだってめんどくさいことやりたくないしね。
28Now_loading...774KB:2006/02/23(木) 14:52:54 ID:3XwmoqKB
マウスをクリックした時に、どのmcをクリックしたか知る方法ってありますか?
xxxの部分にクリックしたmc名を出したいです。
できればmc側には何も書かないほうがあるといいのですが。

var mouseListener:Object = new Object();
mouseListener.onMouseDown = function() {
trace("押したのはxxxです");}
Mouse.addListener(mouseListener);

flash8です。よろしくお願いします。

29Now_loading...774KB:2006/02/23(木) 15:03:17 ID:PslaFAD4
>>25
xmlは論外として、onLoadでもう1回走査するのは気持ち悪いかなあ。
いっそonDataで自前parseしちゃった方が良くない?
var my_lv = new LoadVars();
my_lv.onData = function(source) {
var data=source.split("&");
for(var i=0,_count=0;i<data.length;i++){
var o= data[i].split("=")
this[o[0]]=o[1]
if(o[0].substring(0,3)=="log")_count++
}
this._count = _count
trace("log○○の個数は、" + this._count +"です")
}
my_lv.load("params.txt");
みたいな。再利用を考えて、とりあえずmy_lvのプロパティ_countに入れておくとかもできるし。
でも、>>13の意図したとおりに動くならwhileが一番だってのは同意。
30Now_loading...774KB:2006/02/23(木) 15:03:53 ID:OnaaEq1i
MC側に何も書かずにそのイベントを、というのは、すごく大変と思う。
すべてのMCの位置と深度を把握しないといけないし。
そこら辺を軽減してるのがFlashの仕事だと思ってる。
31Now_loading...774KB:2006/02/23(木) 15:11:21 ID:PslaFAD4
>>28
ひとつの関数を作って、それをクリックを感知したいMCのonPress
に指定しておいて、thisで判断するのが簡単かな?ハンドカーソルになるけどね。
「hoge1,hoge2,hoge3」という3つのMCだったら
function onClickMC() {
trace("押したのは" + this + "です");
this._x+=30
}
//ここから登録部分
hoge1.onPress=onClickMC
hoge2.onPress=onClickMC
hoge3.onPress=onClickMC
とか?
32Now_loading...774KB:2006/02/23(木) 15:14:20 ID:OnaaEq1i
>>29
確かに>>13の意図での回答だとだとwhileで充分いいとおも:-)
でも、例えば、単体FlashアプリQandAのクイズとかで、問題と解答をユーザーに自由に
作ってね、なんていうのだったらflaを提供しなくて済むし(つまりリコンパイルいらん)だから、ちょー便利。
配列に入れるのは解りやすくするためで、XML読み込んだのをそのまま使ってもいいとおも。
それこそ、そのパースするのがやなので。。。ってことね。
33改行が多いので分けて書きます(1/3):2006/02/23(木) 15:56:33 ID:aM9fPhVg
すみません、ちょっとお知恵を拝借させて下さい。

以下のスクリプト(既存のものに若干手を加えてます)で画像MCを拡大&ドラッグ操作を
させているのですが、その拡大とドラッグ移動の範囲を制限したいのですが、
どのあたりに命令を追加、または修正を行えばいいのでしょうか。

自分でもif文などを入れて試してみたのですが、まだスクリプトのなんたるかが
理解出来ていなくて、つまづいてます。。。
34改行が多いので分けて書きます(2/3):2006/02/23(木) 15:57:05 ID:aM9fPhVg
var nZoomRate = 30;
this.onPress = function() {
var nX = _xmouse;
var nY = _ymouse;
if (Key.isDown(Key.SHIFT)) {
this.xZoomIn(nX, nY);
} else {
this.startDrag();
}
};
this.onRelease = this.onReleaseOutside=function () {
this.stopDrag();
};
function xZoomIn(nX, nY) {
this.xZoom(nZoomRate, nX, nY);
}
function xZoom(nZoom, nX, nY) {
var oStart = {x:nX, y:nY};
this.localToGlobal(oStart);
_xscale = _yscale += nZoom;
var oEnd = {x:nX, y:nY};
this.localToGlobal(oEnd);
_x += oStart.x-oEnd.x;
_y += oStart.y-oEnd.y;
}
35改行が多いので分けて書きます(3/3):2006/02/23(木) 15:57:44 ID:aM9fPhVg
尚、これを元に、ムービーサイズが700x600で、起点からの座標がx=32、y=60に635x450の
表示エリアを設定しておりますので、この635x450の範囲からはみ出さないようにドラッグできて、
なおかつ拡大は3倍まで、縮小は最初の表示サイズまでに押さえたいのです。。。

画像のサイズは1350x954ピクセルで、始めは小さく(1/3サイズ)に縮めて置いてあります。

お伝えできる状況は以上なのですが、いかがでしょうか。※FlashMX、又はMX2004です。
36Now_loading...774KB:2006/02/23(木) 16:05:02 ID:OnaaEq1i
flaアップしてくれればいいかも。
37Now_loading...774KB:2006/02/23(木) 16:17:14 ID:fxaPSKYr
>>26
なるほどー。作っておいてdeleteで消すんですね。ありがとうございました。
38Now_loading...774KB:2006/02/23(木) 16:18:02 ID:TCCsleCz
>>33
>ドラッグ移動の範囲を制限したい
startDrag()に引数を与える

>拡大を制限したい
_xscale、 _yscaleに代入する前にif文で分岐
if (_xscale + nZoomRate > 300) {...} みたいな
39?改行が多い本人:2006/02/23(木) 16:40:41 ID:aM9fPhVg
>>33
おお、有り難うございます!
ただ、引数の与え方とか、if文をどこへ入れて{...}に何を記述すれば良いのでしょうか?
ほんとーにすみません。まだ分からないところが多くて、もうちょっとお知恵を・・・。
40Now_loading...774KB:2006/02/23(木) 19:48:34 ID:bd8UkclX
>>39
this.startDrag(false, 32, 60, 667, 510);
って感じかな?
41改行本人:2006/02/23(木) 20:41:31 ID:aM9fPhVg
>>40
おおお、有り難うございます!
早速試したところ、動く範囲が狭められました!ゴールはもうすぐそこのような・・・♪
多分、中心点を枠から出さない数値を引数としてあてはめてるわけでしょうか。

これに拡大の制限が加わればいけそうなんですけど、拡大し過ぎると動かせる範囲が
狭いだけに見られない部分が発生してしまうので、そちらはどうでしょうか。。。

本当に何度もすみませんが、ご協力を・・・
42Now_loading...774KB:2006/02/23(木) 22:31:40 ID:Y1YLd8/Y
少しは自分で考えろよ
43?:2006/02/23(木) 22:59:16 ID:aM9fPhVg
すみません・・・。

とりあえず33さんのアイデアを自分で理解したつもりで書いてみたのが
if (_xscale + nZoomRate > 300) {
_xscale + nZoomRate = 300;
}
なのですが、これでは動きませんでした。
何か基本的な事が間違っている気がするのですが。。。
44Now_loading...774KB:2006/02/23(木) 23:03:56 ID:Y1YLd8/Y
…お前ムリ。一から勉強し直せ。

そんな程度の知力じゃ、一から十まで全部聞かないと作れやしない。

一〜十まで聞いて作った作品は、お前の作品じゃない。
45Now_loading...774KB:2006/02/23(木) 23:21:29 ID:zX87suOm
>>43
>>44の言うとおり。出来ないことを一気にやろうとするな。
時間を掛けてスクリプトの意味を理解していくしかないよ。
シンタックスは全部ヘルプに載ってるんだしさ。
それが駄目なら金を払って依頼しろ。
丸投げは協力してもらうとか言うレベルじゃない。
46Now_loading...774KB:2006/02/24(金) 00:20:27 ID:iUjdshiR
おっしゃる通りです。すみません。出直してきます・・・。
47Now_loading...774KB:2006/02/24(金) 00:27:53 ID:aJD2t2c4
まず、自分で考えてなんとかする習慣をつけないと、
いつまで経っても上達しないぞ。

上達すれば壁がなくなるんじゃなくて、
ずっと壁にぶち当たってそれを乗り越えての繰り返しだ。
48Now_loading...774KB:2006/02/24(金) 00:47:16 ID:OlUG781v
>>46
あー。見た感じ、かなり基礎的な部分で間違ってる。

「=」の意味とか、基礎的すぎて意外に盲点になってる点は
ネット上では解説されていないので、手ごろな入門書から始めるのをすすめる。
49Now_loading...774KB:2006/02/24(金) 00:58:47 ID:aq7kbTlP
こういうこと聞く奴ってだいたいWEBデザイナーができもしない仕事格安で
請けてきて納期直前にここで聞きまくってるケースが多いから教えてやらない方がいい。
50Now_loading...774KB:2006/02/24(金) 01:50:44 ID:GRGJe3T+
改行本人をあんまり責めるんじゃないっすよ
反省してるんだからさ。

と思ったけど・・・てめぇ、マルチだろ?
返答なしならまだしも、
親身に説明してもらってる癖に2ちゃんできいてんじゃねーよ
教えてくれてる人をバカするにも程があるぞ
この業界もうやめろ、ボケ
51Now_loading...774KB:2006/02/24(金) 01:54:48 ID:8VVjeuBy
配列のコピーってどうやればいいでしょうか?
arr1=[0,0,0,0]
arr2=[1,2,1,2]
arr2の内容をarr1にコピーしたいのですが
(arr1=[1,2,1,2]にしたい)
arr1=arr2.concat()
だとなぜか変な配列ができてしまいます。orz
(arr1[0][1,2,1,2]ができる・・・)
52Now_loading...774KB:2006/02/24(金) 01:56:17 ID:aq7kbTlP
www.flash-jp.comで同じ質問してやがるし・・
53Now_loading...774KB:2006/02/24(金) 01:59:25 ID:aq7kbTlP
arr1 = arr2
54Now_loading...774KB:2006/02/24(金) 02:05:25 ID:aq7kbTlP
配列くっつけるなら
arr3=arr2.concat(arr1)
55Now_loading...774KB:2006/02/24(金) 02:14:27 ID:8VVjeuBy
>>52-53
返事ありがとう。
でも
arr1=arr2は
arr1=arr2.concat() と同じ結果になってしまいます・・・。
配列くっつけるのではなく、arr2の配列をarr1上書きコピーしたいのです。
普通にforとかで回すしかないでしょうか?
56Now_loading...774KB:2006/02/24(金) 02:24:15 ID:GQ4IGOb+
>>52-54
ツンデレですねw
57Now_loading...774KB:2006/02/24(金) 02:26:08 ID:aq7kbTlP
バレタカ
58Now_loading...774KB:2006/02/24(金) 02:46:05 ID:8VVjeuBy
調べて見たら原因は別でした・・・
この前で
arr2=new Array(arr0);
とかやっていました。。。
ここも
arr2=arr0でいいのですねorz

arr1=arr2でコピーできました。
ありがとう。
59Now_loading...774KB:2006/02/24(金) 04:42:44 ID:YGU8ajha
TextFieldでの、imgタグの使い方について質問させてください。

絵文字のようなものを表示したくて、

txt.html = true;
txt.multiline = true;
txt.htmlText = 'aaa <img src="http://../hoge.jpg"> bbb';

のようなコードを試してみたのですが、aaaとbbbの間に画像が表示されず
「aaa bbb + 改行 + 画像」のような表示になってしまいました。
「aaa + 画像 + bbb」のような表示にすることはできませんでしょうか?
60Now_loading...774KB:2006/02/24(金) 12:00:10 ID:Ytrs3WB1
環境:WindowsXP、Flash8

Flashから他のアプリケーションを操作したく思い XMLSocket を使おうとしています。

具体的には Flashでボタンがいくつかあるメニュー画面を作り そのボタンを押すと
他のアプリケーション(3Dのviewer)で表示している物の色が変わったり・・・
ということを行おうとしています。
※ どちらも同じPC上で動作させる
※ 3Dviewer側に コマンドの文字列を送るだけ

ヘルプなどを見ながら手探りでテスト的に
以下のようなActionScriptを書いたのですが
接続エラー「trace( "failure" );」になってしまいます。

on (release) {
var theSocket:XMLSocket = new XMLSocket( );
theSocket.connect( "localhost", 10000 );
theSocket.onConnect = function( success:Boolean ) {
if ( success ) {
trace( "success" );
} else {
trace( "failure" );
}
};
theSocket.close( );
}

FlashもActionScriptも初心者なので
どなたか改善策をご存知な方いらっしゃいましたら
教えていただけないでしょうか? よろしくおねがいします。
61Now_loading...774KB:2006/02/24(金) 12:42:38 ID:nu13ZfWT
>>59
CSSつかってみるとか。
>>60
サーバーうごいてるの?
62Now_loading...774KB:2006/02/24(金) 12:48:37 ID:Ytrs3WB1
>>61
サーバー・・・そこらへんもよくわからないのですが
別のものを何かインストールや設定が必要なのでしょうか?
63Now_loading...774KB:2006/02/24(金) 12:54:14 ID:WeH6vNN7
>>59
MXだけど、HTMLテキストフィールドでサポートされてるタグは
<A>、<B>、<FONT>、<FONT>、<FONT>、<I>、<P>、<U>
だけで<img>タグはサポートされていない。

2004や8はどうかしらないけどね。
64Now_loading...774KB:2006/02/24(金) 13:09:44 ID:eneY1p8p
>>58
厳密に言うと arr1=arr2 はコピーではないので注意。
これは、arr1をarr2に参照させるということを意味し、
あとでarr2の値を変更するとarr1まで変わってしまいます。
値をコピーしたいならfor文を使って中身をコピーするべし。

>>63
8ではimgタグもサポートされました。
65Now_loading...774KB:2006/02/24(金) 14:34:32 ID:8oW7FWTM
>>64
参照しないよ
arr1 = [0, 0, 0, 0];
arr2 = [1, 2, 1, 2];
arr1 = arr2;
arr2 = [3, 3, 3, 3];
trace(arr1);
66Now_loading...774KB:2006/02/24(金) 14:43:05 ID:kOFu5f8J
>>65
それは4行目でarr2の参照先自体を換えてるだけだ。
arr2の値を変更するってのは例えば4行目はこんな風に
arr2[0] = 100;
67Now_loading...774KB:2006/02/24(金) 14:54:37 ID:nu13ZfWT
ヒント:プリミティブ
68Now_loading...774KB:2006/02/24(金) 16:32:11 ID:SBfxIy4p
>>64
for使わんでもこれで良くない?
arr1 = arr2.slice();
69Now_loading...774KB:2006/02/24(金) 20:47:10 ID:82Hx7KMd
arrayA = arrayB.concat()
が普通だよ。
70Now_loading...774KB:2006/02/24(金) 21:07:34 ID:CEW98/AD
参照させるとpushとかを使った時に不具合が出るんですよね。

arr1 = [0, 1, 2, 3];
arr2 = arr1;
arr1.push(4);
trace(arr1); //0,1,2,3,4
trace(arr2); //0,1,2,3,4

自分はこうやってます。

arr1 = [0, 1, 2, 3];
delete arr2;
arr2 = new Array();
arr2 = arr2.concat(arr1);

arr1.push(4);
trace(arr1); //0,1,2,3,4
trace(arr2); //0,1,2,3
71Now_loading...774KB:2006/02/24(金) 21:27:46 ID:CEW98/AD
質問しに来たんだった……

例えば外部ファイルの名前がtext0.txt、text1.txt、text2.txt……と連番で続いていたとして、
最も大きい番号のファイルを読み込んだら(Error opening URLが出たら)
以降は読み込まない、という処理を作りたいのですが、
Error opening URLが出た事を判別するにはどうすればいいんでしょうか?
72Now_loading...774KB:2006/02/24(金) 21:40:47 ID:jc46QJg6
>>71
MovieClipLoader.onLoadErrorでどうですか?
7371:2006/02/24(金) 21:53:38 ID:CEW98/AD
すいません、自己解決しました……

>>72
自分はLoadVarsを使ってたんですが、
MovieClipLoaderでもXMLやテキストファイルを読み込めるんですか?
74Now_loading...774KB:2006/02/24(金) 22:43:37 ID:8VVjeuBy
質問です。
SharedObjectを使ってデータを保存するFLASHをつくっているのですが
デバッグしてて気づきましたが
同じFLASHをデバッグしてて
パブリッシュプレビュー(F12)
ムービーのブレビュー(CTRL+ENTER)とでは
SharedObjectで保存されるファイル(?)は別ものになってしまうのでしょうか?
75Now_loading...774KB:2006/02/24(金) 22:47:44 ID:UuJ1aG04
>>60
ソケットはキャッチボールのようなもので、Flashが投げたソケットを
3Dviewerが受け取れる状態になっていないと、幾ら投げても繋がらない。

そして、恐らく3DViewerはキャッチボールが出来ないアプリケーションなので、
中間にソケットサーバを置いて、サーバが、3DViewerを操作する構図になると思う。

「ソケットプログラミング」で検索してみるといいかも。
76Now_loading...774KB:2006/02/25(土) 01:11:52 ID:QpIM+WSP
>>74
SharedObjectはファイル保存です。
開発をローカルでチェックしているなら、
C:\Documents and Settings\(ユーザ名)\Application Data\Macromedia\Flash Player\#SharedObjects\(ランダム文字列)\localhost\(ローカルなフォルダ構成)\(開発swfファイル名)\(SharedObjectのローカル名.sol)
に保存されるので、確かめてみてください。
F12とCTRL+ENTERを試してみたけど、同じファイルとしてセーブされてましたよ。
77Now_loading...774KB:2006/02/25(土) 10:37:49 ID:nkwsN0Iw
質問です。
テキストフィールドの中に表示されている文章の末端の文字の位置の座標を得る事ってできるでしょうか?
RPGとかのメッセージ風にボックスの中にメッセージを送っているのですが
(文字列をsliceで1文字ずつ切りながらreplaceSelで送っています)
メッセージの途中の文字と文字の間にMCを挟みたいケースが出てきたのです。
どうしたらよいでしょうか?ご教授お願いします。
78Now_loading...774KB:2006/02/25(土) 14:15:25 ID:XwkJb4aX

ASで空テキストを作って表示するようにすればイイんじゃね。

普通は空テキスト作って表示。

MCはさむ場合は空テキスト作って、
そのテキストのサイズ、位置からMCの位置を決めて、
MCのサイズ、位置から次の空テキストの位置を決めて表示

ヒント
this.createTextField("message",0,0,0,0,0);
message.autosize = "left";
message.text = "test";
trace(message._width);
79Now_loading...774KB:2006/02/25(土) 16:45:36 ID:iOiFvkH/
質問です。
data1=["aaa","bbb","ccc"];
data2=["ddd","eee","fff"];
のような配列があって
data_n="data1";
trace(data_n[0]);
のような形でdata1[0]の値をとりたいんですが、undefinedになってしまいます。
trace(eval(data_n+"[0]"));
とかにしてみたりもしたんですが、ダメなんです。
どうしたらよいでしょうか?どうぞよろしくお願いします。
80Now_loading...774KB:2006/02/25(土) 16:50:19 ID:67fk8jrf
trace(this[data_n][0]);
//or
trace(eval(data_n)[0]);
81Now_loading...774KB:2006/02/25(土) 16:58:55 ID:iOiFvkH/
>>80
いけました!!
evalの使い方がおかしかったんですね。
ありがとうございました。助かりましたーー。
82Now_loading...774KB:2006/02/25(土) 20:53:55 ID:5NEdbokb
NetStreamで読み込んだFLVファイルのトータル時間を知りたいのですがどうしたらいいのでしょうか?
83Now_loading...774KB:2006/02/25(土) 22:39:15 ID:TACUR2zy
String.fromCharCode() っていうメソッドで
ASCIIコードから文字に変換できるようですが、
その逆を行いたい場合はどうすればよいのでしょう?
84Now_loading...774KB:2006/02/25(土) 23:03:55 ID:yoQq/eQh
>>83
String.charCodeAt()
85Name_Not_Found:2006/02/26(日) 02:37:13 ID:BexO1L54
txtファイルを読み込みたいんですが、

on (press) {
loadVariables("A.txt",_root);
}

でtextファイルの方の頭に

text=

と打てばいいと思うのですが、
読み込んでくれません。
86Now_loading...774KB:2006/02/26(日) 03:13:24 ID:lOHIL2IN
>>85
ヘルプにはこう書いてる
this.createEmptyMovieClip("target_mc", this.getNextHighestDepth());
loadVariables("params.txt", target_mc);
function checkParamsLoaded() {
if (target_mc.done == undefined) {
trace("not yet.");
} else {
trace("finished loading. killing interval.");
trace("-------------");
for (i in target_mc) {
trace(i+":"+target_mc[i]);
}
trace("-------------");
clearInterval(param_interval);
}
}
var param_interval = setInterval(checkParamsLoaded, 100);
// params.txt には次のテキストが含まれている
var1="hello"&var2="goodbye"&done="done"
87Now_loading...774KB:2006/02/27(月) 12:52:07 ID:9LgcUcbx
はじめてまして。
はじめて質問させていただきます。
で、さっそくなんですが質問をば、、、

外部xmlファイルに記述したHTML形式で記述されたテキストを読み込ませているのですが、
Flash8以前(6や7では)ではHTMLレンタリングされていたタグの記述が無効になってしまいます。
以下の例では、<font>指定や<b>指定などことごとく無効になってしまいます。
これはいったいなぜなんでしょうか?
できれば今までの資材を利用していきたいのですがなにかFlash8になって
仕様変更があったんでしょうか?

xml内に記述しているHTML例
<font color="#FFCC66"><b>INTRODUCTION</b></font><br>
<font size="+1">イントロダクション</font>

よろしくおねがいします〜。
88Now_loading...774KB:2006/02/27(月) 14:14:03 ID:cLj6tu/V
>>87
特に変更無いけどなあ。
textFieldのhtmlプロパティを変更してないとか?
89Now_loading...774KB:2006/02/27(月) 14:40:02 ID:oEHnH05x
spPlsX = Math.abs(_root.player._x-this._x);
spPlsY = Math.abs(_root.player._y-this._y);
this._x += (_root.player._x-this._x)/spPlsX;
this._y += (_root.player._y-this._y)/spPlsY;

thisが接近すればするほどplayerに速く近づくというコードに
したいのですが、上手くいきません。
どうすればいいでしょうか?
教えてください。
90Now_loading...774KB:2006/02/27(月) 15:51:11 ID:pdDDA9Hi
87に便乗して質問です。
XML内に<br>などのhtmlタグを記述すると読み込み時にxmlのタグとして認識してしまう
みたいでそのタグ以降がうまく認識しなくなるんですが、何か回避策ってありませんか?
91Now_loading...774KB:2006/02/27(月) 16:24:54 ID:qYccLiNS
>>90
以下のように、CDATAセクションにする。

<![CDATA[〜]]>
92Now_loading...774KB:2006/02/27(月) 16:40:40 ID:9LgcUcbx
>>88
回答ありがとうございます。
htmlプロパティーの方はtrueにしてありました。

結局ごちゃごちゃやってて
xmlのエンコーディングをUTF8から Shift_JISに変更したらなおりました。
理由がわからず、いまいちピンとこないのですが…

<?xml version="1.0" encoding="UTF-8"?>
から
<?xml version="1.0" encoding="Shift_JIS"?>
に変更。
93Now_loading...774KB:2006/02/27(月) 17:27:21 ID:pdDDA9Hi
>>91
ありがとうございます。できました
94Now_loading...774KB:2006/02/27(月) 17:59:19 ID:I+YGd7tO
先生教えてください! loadMovieで外部swfを読み込む時 全部読み終わってから
表示させたいのに無理でつ なんで?

loadMovie( ***.swf"",_root.hogeMC );
_root.hogeMC._visible=false;//消したいのに消えない loadMovieの前に書いても無理
95Now_loading...774KB:2006/02/27(月) 18:00:39 ID:I+YGd7tO
×loadMovie( ***.swf"",_root.hogeMC );
○loadMovie( "***.swf",_root.hogeMC );
9694:2006/02/27(月) 18:16:00 ID:PosqLGVy
自己解決 パスが間違ってたというオチですた 先生ごめん
97Now_loading...774KB:2006/02/27(月) 20:22:57 ID:J9Z5DVUt
すみませんが一つお聞かせください。
あるオブジェクトに
onClipEvent (enterFrame) {
xm = _parent._xmouse ;
ym = _parent._ymouse ;
span = Math.sqrt(xm*xm+ym*ym);
if (span > 100) {
mcScale = 30;
} else {
mcScale = 30+(span-100)*-70/100;
}
this._alpha = this._xscale = this._yscale = mcScale;
}
と記述すると対称のオブジェクトが、カーソルが近づくにつれ不透明度を
増しながらズームしてくる効果を出すことが出来るのですがこの「不透明
度」をコントロールしていると思われる
this._alpha = this._xscale = this._yscale = mcScale;
の部分を削除すると変化がないばかりか上述した機能が全て動かなくなっ
てしまいます。
これをうまく不透明度だけ取り除くためにはどのような記述をすればよい
のでしょうか。
98Now_loading...774KB:2006/02/27(月) 20:29:13 ID:TrbD+wp0
this._alpha = this._xscale = this._yscale = mcScale;

この行を

this._xscale = this._yscale = mcScale;

にすればいいよ。
9997:2006/02/27(月) 20:32:49 ID:J9Z5DVUt
>>98さん
あっ、冷静になって考えてみるとそう・・・ですね。
滅茶苦茶早い返答ありがとうございました。
本当に助かりました。
100Now_loading...774KB:2006/02/28(火) 17:15:10 ID:f7PyXBph
質問させてください。flash8、win2000です。
外部のflvをロードするflaを作りました。ロードするflvはflaから見て"mov/xxxxx.flv"のような位置です。
swfに書き出すとうまく見られるのですが、プロジェクタに書き出すとどうもダメです。
色々試した結果、「マイドキュメント」などのように階層名に日本語が含まれるとロードされません。
このような場合の対処はどなたかご存じないですか?
101Now_loading...774KB:2006/02/28(火) 20:36:29 ID:6dZwbuJ4
>>100
MX2004 XPだけど、exeで書き出してもデスクトップにあるflv読み込めたよ(絶対パス)。
っていうか相対パスで指定してるなら日本語名はいらないようにすればいいんじゃない?
102100:2006/02/28(火) 23:49:04 ID:Mj21fwMj
>>101
レスありがとうございます。ちょい調べた限りではMX2004のexeは大丈夫っぽいんですよねぇ。
もうちょっと調べて見ようと思います。
103Now_loading...774KB:2006/02/28(火) 23:56:29 ID:sWeEDq51
++☆☆☆☆☆☆☆☆☆☆☆☆☆幸せのレス☆☆☆☆☆☆☆☆☆☆☆☆☆☆+++ これを見れた方は運がイイですw 絶対幸せになりたい!という方はこの文章を3つのスレに書き込んでください。 そうすると、7日後、貴方は好きな人に告白されるでしょう
104Now_loading...774KB:2006/03/01(水) 00:14:32 ID:Qug15lSb
onMetaDataの入っていないflvでサイズや時間を得ることはできないのでしょうか?
105Now_loading...774KB:2006/03/01(水) 19:14:37 ID:iy96M+96
スロットゲームのような感じで、ボタンを押すとリールが止まるFLASHを作成しました。
リールの回転する速度を、プレイヤーが遅くしたり早くしたり調節できるようにするには、どうすれば良いのでしょうか?
リールMCのみのフレームレートを変化させるには、どうすればよいのでしょう?といった感じかもしれません。
106Now_loading...774KB:2006/03/01(水) 19:35:23 ID:Obv3U/Iw
>>105
フレームレートは変更できないのでsetIntervalで回転させるとか
107Now_loading...774KB:2006/03/01(水) 19:39:30 ID:+u65s9iN
>>105
フレームレートをMC毎に変更する方法は知らんけど

MCでスロットが動いてる描写をしてるとしたら
gotoAndPlay(_currentframe+変数);
の形で動かせば自由に回転速度変えられると思う。

無限ループっぽくなる様に一枚絵をASで制御してるなら
フレーム毎に動かす量 を変更出来るようにすればおk
108Now_loading...774KB:2006/03/01(水) 20:12:16 ID:iy96M+96
>107氏
なるほど!
ありがとうございました。
109Now_loading...774KB:2006/03/01(水) 20:21:09 ID:OayZRmM6
IntervalId = setInterval(MC名, "onEnterFrame", 1000/フレームレート)
自己責任でドーゾ
110Now_loading...774KB:2006/03/02(木) 13:09:51 ID:q67ved0c
どうでもいいのだが

for( var i in a ){
 //a[i]に対する処理
}

よりも

n=a.length;
for(var i=0; i<n; i++){
 //a[i]に対する処理
}

にしたほうが倍以上速かった。
それだけ言いたかった。すまん。
111Now_loading...774KB:2006/03/02(木) 20:21:12 ID:bkM7Y0hT
なんか特定のところでtrace文を入れて
ムービープレビューすると必ずFLASHごと落ちてしまう・・・

こういうのってよくあることですか?
112Now_loading...774KB:2006/03/02(木) 20:27:22 ID:MKfgysLS
>>111
ねーよw
113Now_loading...774KB:2006/03/02(木) 20:35:31 ID:1KYQB99I
Flashが強制終了したらageるスレ
http://pc8.2ch.net/test/read.cgi/swf/1104903480/
114Now_loading...774KB:2006/03/02(木) 20:51:12 ID:V3/vS/v8
ムービクリップがあり、内容は、フレームアニメーション(連番)です。
この画像に対して、マウス操作で反応するスクリプトを1フレーム目に
書いています。利便性を考えて、画像(連番)を、簡単に差し替えたいと思ってます。
Windowsのフォルダから指定して、パブリッシュせずに、外部参照でFlashの
内容を差しかえることは可能でしょうか? フォルダ指定が無理であるならば、
フォルダの見ている先のコンテンツのみ、ファイル名おなじで、差し替えて
動作させることは可能でしょうか?よろしくおねがいします。
115Now_loading...774KB:2006/03/02(木) 21:00:48 ID:MKfgysLS
>>114
連番画像(アニメーションする)の場合は別のswfにしておいて
それを差し替えする感じで、loadする形が良いんじゃないかな。
利便性ってのがよくわからんけど。
116Now_loading...774KB:2006/03/02(木) 21:07:07 ID:V3/vS/v8
115さん。回答ありがとございます。
loadmovieで、差しかえる方法は試したんですが、
フレームで書いているアクションがうまく、外部読み込み(loadmovie)
の場合は連動しないみたいなんですよね。あくまで、内部にある連番のみ
にしか反応しないようです。。なにか方法はあるのでしょうか?

利便性はわかりづらかったですね。要は、エンドユーザに提供する場合に、
別の素材にすぐ差し替えたいという欲求があるかなと思いまして。
よろしくおねがいします。
117Now_loading...774KB:2006/03/02(木) 21:11:36 ID:MKfgysLS
>>116
_rockrootあたりを調べると良いかも。
メインとなるswfをいじりたくないなら、swfのファイル名を外部ファイルから読み込む
なんてのもあるよ。
118Now_loading...774KB:2006/03/02(木) 21:15:26 ID:V3/vS/v8
_rockroot>
しらべてみます。

>swfのファイル名を外部ファイルから読み込む
なんてのもあるよ。

上記の内容が勉強不足で意味がわからないのですが、
もうすこし詳しく教えて頂けないでしょうか?
119Now_loading...774KB:2006/03/02(木) 21:21:30 ID:V3/vS/v8
_rockrootもヘルプなり、書籍、グーグルでも調べてみたんですが、
それらしきものは見当たらなかったんですが、これは、何に利用するもの
なのでしょうか?
120Now_loading...774KB:2006/03/02(木) 21:22:29 ID:MKfgysLS
>>118
メインのswfは、テキストファイル(ファイル名とかコンフィグ情報とか)からファイル名を得て
それを使う。テキストファイルはユーザーなりがいくらでも変更できるし、
メインswfは変更しなくていいじゃん。
121Now_loading...774KB:2006/03/02(木) 21:23:35 ID:MKfgysLS
あ、ごめんlockrootだった。山ほど出るぞw
122Now_loading...774KB:2006/03/02(木) 21:27:21 ID:MKfgysLS
つか、これ↓1000超えちゃって、だれか次スレ、立ててくれるとうれしい。
ホスト規制で立てれない(´・ω・`)ショボーン

Flash製作初心者の質問スレッド レイヤー32
http://pc8.2ch.net/test/read.cgi/swf/1133555936/
123Now_loading...774KB:2006/03/02(木) 21:32:28 ID:V3/vS/v8
120>ということは、
空のSWF(ファイル読み込み)←メインのSWF←コンテンツ差し変えSWF
という構成でいいんでしょうか?

lockrootは調べてみますね。
124Now_loading...774KB:2006/03/02(木) 21:36:44 ID:MKfgysLS
>>123
メインのswfがすべてを司る感じにしないと。。。Mediatorパターンみたいな。
125Now_loading...774KB:2006/03/02(木) 21:53:17 ID:+VAUntBf
>>122
Flash製作初心者の質問スレッド レイヤー33
http://pc8.2ch.net/test/read.cgi/swf/1141303780/

立てれたので立てたよー。
126Now_loading...774KB:2006/03/02(木) 22:22:15 ID:V3/vS/v8
メインのSWFに以下のようにして、ムービを読み込みました。
load._lockroot=true;
load.loadMovie("aaaa.swf");

※aaaa.swfは、垂れ流しのムービです。


メインのSWFは、以下のようなアクションをスクリプトで制御しています。

var a = new Object();
a.onMouseDown = function ()
{
x = _root._xmouse / 4;
y = _root._ymouse / 4;
};

loadインスタンスの下に、直接、ムービをフレームとしておいている場合は
機能するんですが、外部から、上のようにlockrootを指定したとしても
動作しないようです。

マウスの場所によって、画像が動くような、よくあるやつをギミックとして
使っているのです。

上のような理由により、画像を差しかえる目的が重要なのです。

なので、読みこむ先にギミックを設けてしまうと、それが機能として
使われるので、求めている利便性がなくなってしまうんです。

あくまで、ユーザの行為は、画像差し替えのみで、コンテンツの絵が
変わるというふうにしたいのです。
127Now_loading...774KB:2006/03/02(木) 23:32:16 ID:1KYQB99I
lockrootってブール変数?
128Now_loading...774KB:2006/03/03(金) 00:19:43 ID:W+SJ9O02
>>127
うん。

>>126
やりたいことがいまいちわからない。
そのアクションを制御しているスクリプトってヤツでナニをしたいの?
12912345さん:2006/03/03(金) 00:25:08 ID:myYG610R
音楽を再生するFLASHを作っているのですが、そこで表示する
「音楽全体の時間」をtTime 「残り再生時間」をrTime という変数に代入し表示するスクリプトです。
onClipEvent (load) {
function txtTime(Sec) {
m = ("0"+Math.floor(Sec/(60*100))).substr(-2,2) ;
s = ("0"+Math.floor(Sec/100)%60).substr(-2,2);
ss = ("0"+Sec%100).substr(-2,2);
return (m+":"+s+":"+ss);
}
fRate = 12;
tFrame = _root._totalframes-1;
tSec = Math.ceil(tFrame/fRate*100);
tTime = txtTime(tSec);
bar._xscale = 0;
}
onClipEvent (enterFrame) {
cFrame = _root._currentframe-1;
bar._xscale = (cFrame/tFrame)*100;
rSec = Math.ceil((tFrame-cFrame)/fRate*100);
rTime = txtTime(rSec);
}

曲は2フレームからストリーミングで配置してあり、曲の最後までフレームを設置しています。
ここで、「曲の再生時間」を表示する場合、どうしたらいいんでしょうか。
130Now_loading...774KB:2006/03/03(金) 00:47:00 ID:W+SJ9O02
>>129
現在のフレーム this._currentframe を取得してフレームレートから計算する。
フレームレートが12フレーム/秒だから、もし120フレームの地点だったら再生時間10秒。
131Now_loading...774KB:2006/03/03(金) 01:08:24 ID:G/TwmpMU
>>130
そんなことしてる奴いねーよ。

>>129
ヘルプのActionScriptリファレンスのSoundクラスの項を見ろ。
132Now_loading...774KB:2006/03/03(金) 01:27:40 ID:W+SJ9O02
>>131
>129でトータルフレーム数から音楽全体の時間を求めてる。
質問内容を見る限りではSoundクラスは使ってない。
13312345さん:2006/03/03(金) 01:52:36 ID:myYG610R
129です。
>>130さんのおかげで何とか解決できました
ところで別の質問なのですが、
129で解説したFLASHに早送りなどのボタンをつけたいと思っています。
押している間は、早くタイムラインが進むような感じにしたいのです。
どうしたらいいでしょうか
実際に早送りボタンに書くスクリプトをご指導願います。
134Now_loading...774KB:2006/03/03(金) 10:14:14 ID:5Iphmbq5
>>133
>>130に追加すればいいんじゃない?
倍速なら
speed=2;
gotoAndPlay(this._currentframe+=speed);とか
135Now_loading...774KB:2006/03/03(金) 11:39:31 ID:fqhiGtbE
XPでMXです。
外部swf(a5.swf)の大きさを指定して読み込みたいです。

現在の状況
レイヤー3にMC「base」(300*100)を貼り付けて、そのMCのASとして

onClipEvent (load) {
loadMovie("a5.swf", "base");
}

としました。
MC「base」の左上が基準点にはなったのですが、「base」の大きさに収まりません。

ASに問題がありますか?
それとも外部swfを任意の大きさで開くには別の事をしなくてはなりませんか?
よろしくお願いします。
136Now_loading...774KB:2006/03/03(金) 14:19:16 ID:6Y8PaHq5
>>135
loadMovieは基準点を合わせて読み込むだけ。
サイズは変更してくれない。

onClipEvent(data)にてサイズ変更のロジックを入れる。
MX2004以降なら、MovieClipLoader.onLoadCompleteを使用すること。
137Now_loading...774KB:2006/03/03(金) 15:13:37 ID:fqhiGtbE
>>135です。
>>136さんありがとうございます。

さらに質問で申し訳ないのですが、
>onClipEvent(data)にてサイズ変更のロジック
というのがさっぱりわかりません。
どのASを使えばいいのでしょうか?

読み込みたいサイズは300*100なので、
こう書けばいいというASを教えていただければ泣いて喜びます。。。
138Now_loading...774KB:2006/03/03(金) 15:56:42 ID:Lg2qqBUe
>>137
136じゃないけど、baseにクリップアクションとしてonClipEvent(data){}を書く。
137はonClipEvent(data)がどういうものか調べたか?
ヘルプにも一応載ってるし、>>6のサイトでも例を見つけられる。
loadMovieした段階で、baseはa5.swfにいれかわっていると考える。
だから、もとのbaseの大きさはすでに忘れ去られてa5.swfの大きさになっている。
そこで、a5.swfを読み込んだら、あらためてbaseの縦と横を300*100に変更する必要がある。
MCの縦横プロパティくらいはわかるよな?

むしろ137が頑張って試行錯誤して質問してくれた方が、ここの住人的には
泣いて喜ぶのではないか。

それから loadMovie("a5.swf", "base"); はFlash4的書き方なので使わない。
MC.loadMovie()に変えた方がいい。
139137:2006/03/03(金) 17:11:08 ID:fqhiGtbE
>>138
ありがとうございます。
onClipEvent(data)はloadMovieした後に一度だけ実行される・・・というくらいしかまだ判らないのですが、とりあえず調べながらやっています。
MC.loadMovie()がまだちょっと解らないのですが、試行錯誤しながらがんばってみます。
また解らなくなることがあると思うのでその時はよろしくお願いします。
140137:2006/03/03(金) 20:06:39 ID:fqhiGtbE
何度もすいません。
どうにもうまく行かないのでどなたかアドバイスを頂ければ嬉しいです。

_root(最初のタイムライン)にレイヤー「base」を作って、
そのレイヤーにMC「base」を配置。MC「base」にactionMovieClipとして、

onClipEvent (load) {
base.loadMovie(a5.swf);
}
onClipEvent (data) {
base._width = 300;
base._height = 100;
}

と記述したところ、何も読み込まずMC「base」がそのまま表示されてしまいます。
上3行が間違っているのかと思い、

onClipEvent (load) {
loadMovie("a5.swf", "base");
}
onClipEvent (data) {
base._width = 300;
base._height = 100;
}

と戻してみましたがやはり何も表示されませんでした。
やはり下3行がおかしいのでしょうか??


141Now_loading...774KB:2006/03/03(金) 20:14:17 ID:STCaMgBL
いろいろ問題あるんだが決定的なのは。

loadMovieを実行すると、
そのムービークリップのデータは、読み込まれたデータに上書きされて消え去る。
したがって、a5.swfを読み込んだ段階で onClipEvent (data) のプロパティも消える。

これを回避するためにはmc内に記入するのではなく
メインのタイムライン上にacを書くべし。
142Now_loading...774KB:2006/03/03(金) 20:16:57 ID:STCaMgBL
acを書くべし → asを書くべしのマチガイ。

メインのタイムライン上に書く場合には
書き方がonClipEventではなくて base.onData = function() { 〜 みたいになるから注意ね。
143Now_loading...774KB:2006/03/03(金) 20:29:07 ID:pqGxG3FP
EmptyMovieClip作ってその中に外部swf読んでEmptyMovieClipで作ったMCを
リサイズした方がはやいだろ
144Now_loading...774KB:2006/03/03(金) 21:37:07 ID:MW/+dqpT
ヘルプでMovieClipLoader等を引くと、
必ず
var my_mcl = new MovieClipLoader();
my_mcl.onLoadComplete = function(target_mc) {
};
my_mcl.loadClip("http://〜〜〜", mc);
という感じでロード後の処理などを全部記述したあとにロードしてますが
これには何か意味があるのでしょうか。
順番を逆にしても正常に動きますが、処理速度が変わったりするものなのでしょうか?
145SLASH:2006/03/03(金) 21:44:32 ID:6NdO6vpn
          / ̄ヽ
         /⌒⌒⌒ヽ/|
       ⊂| ◎     ‖
         ヽ  ゚∀゚丿\| 誰か、私をぱくったな!!
          __ 〃ヽ〈_
      γ´⌒´-−ヾvーヽ⌒ヽ-:,,  
     /⌒ y..   /\   ); `ヽ-:,,
    /    ノ\_| .萬 | ._.イ  | "-:,,
    !  ,,,ノ爻ヘ._\/__.ノr;^ >  )  \,
    .|   <_ \ヘ,,___,+、__,rノ /\ /:    ヽ,,
     |ヽ_/\ )...、__,+、_アソ〃 /       \
     | ヽ、___ ヽ.=┬─┬〈  ソ          "-.,
    |   〈J .〉、| 亀 |, |ヽ-´           ゝ
    .|   /"" | 甲 |: |               ミ
     |   レ  :| 男 .| リ               "-:,,
     |   /  ノ|__| |                  "-:,,
     .|  | ,, ソ  ヽ  )                ,,,-ー"
     | .,ゝ   )  イ ヽ ノ             ,,,-ー"
     .| y `レl   〈´  リ          ,,,-ー"
      | /   ノ   |   |    / """"
      l ̄ ̄/   l ̄ ̄|  ,,,-
       〉 〈 `ー-ー-|   |-ー" 
      /  ::|    (_   \
     (__ノ      \___)
http://www.sojh.com/funstuff/happyfunsong.htm
暇がある者は、これを見てくれ!!
146Now_loading...774KB:2006/03/03(金) 22:09:54 ID:w0wRlqUX
>>144
onLoadCompleteでヘルプ検索しれ
147Now_loading...774KB:2006/03/04(土) 04:53:35 ID:jk23c9oB
ドラック中のボタンをブラウザの外で離す判定がreleaseOutsideで出来るのは分かったのですが、
ブラウザ外でドラック中であるかどうかや、その時のマウス位置などの取得はどうすればいいのでしょうか?
148Now_loading...774KB:2006/03/04(土) 05:05:08 ID:UKq3RmqA
>>147
Flashの外にでたら出来ないんじゃない?
149Now_loading...774KB:2006/03/04(土) 06:11:29 ID:hlz099aK
>>147
ドラッグ中かどうかはフラグたててそれで判定すれば?
マウスの座標は_root._xmouse、_root._ymouseで取れる。
ブラウザ外かどうかは判定できないけどFlashの外かどうかは
マウスの座標から判定できるでしょ。

>>148
やってみたけどFlashの外でも座標は取得できる。
ブラウザの外でも取得可。
150Now_loading...774KB:2006/03/04(土) 10:34:49 ID:gETJ7RCi
>>149
取れたっけか?なんて思いながら

var hoge:TextField;
onEnterFrame = function(){
hoge.text = "x:"+_xmouse+" y:"+_ymouse;
}

で試したけどswfから外れた時点でやっぱ取れなくなった。
なんか別の方法あったっけ?
151Now_loading...774KB:2006/03/04(土) 13:18:20 ID:VJ+l/xLt
ActionScriptでJavaScriptのprototype.jsにあるbind()のようなものはあります?
オブジェクト内から自分のオブジェクト内の関数を参照するとスコープが変わってしまうので。
152Now_loading...774KB:2006/03/04(土) 14:09:11 ID:BHjY6PXU
>>151
delegateで委譲かでいけると思うのだが、うまくいかない場合の具体例を挙げてくれ
153149:2006/03/04(土) 17:07:59 ID:hlz099aK
>>150
mc(>>147の質問はボタンでしたが要はmc)のonClipEvent(mouseMove)に書くと取れます。
ただしドラッグ中だけです。
ドラッグ中以外は座標が取れない、というよりは
mouseMoveもonEnterFrameもイベントが飛ばないので
イベントハンドラが呼び出されないようですね。
154Now_loading...774KB:2006/03/04(土) 21:12:04 ID:c5XorlZL
bunsyo += moji.slice(point,point+1);
point++;
というスクリプトでダイナミックテキスト「bunsyo(複数行表示)」へ1文字ずつ文字を入れて表示させるゲームの会話部分を作っています。
動作自体は問題なく動いていたのですがいざテキストデータを読み込んで表示していると

この文章はサンプルです。御
教授お願

このように表示されているのが突然

この文章はサンプルです。
御教授お願いします。

という感じに読み込み中に1文字、下の行にいってしまいます。
ゲーム画面では突然文字が動くように見えてしまいとても不自然です。
どの文章でも起こるわけでなく、起こる文章も句読点等を上手く調整すればその現象は防げるのですが
これから大きい文章を使うためできればFLASH内でなんとかしたいと思います。

何か対処する方法はないのでしょうか?御教授お願いします。
155Now_loading...774KB:2006/03/04(土) 21:17:06 ID:qB1sMw8H
>>154
改行コード(確か\n)を入れてあげればいい
156Now_loading...774KB:2006/03/04(土) 21:31:50 ID:ImNO2MUO
すいません、ActionScriptにはデフォルト引数は無いのでしょうか?
Help調べてもなかなか出なくて…orz
157Now_loading...774KB:2006/03/04(土) 22:12:21 ID:X28EcDti
>>156
ない。

if (arg == null)で設定すれば似たようなことが出来る。
158Now_loading...774KB:2006/03/04(土) 22:26:30 ID:ImNO2MUO
>>157
かわりに呼び出し元が引数を省略したらnullが代入されるのですね、
ありがとうございます。
159Now_loading...774KB:2006/03/05(日) 04:03:06 ID:Hpz4mnxG
質問です。
汎用的に使える確認ダイアログを作りたいのです。
つまり、「はい」「いいえ」をたずねたい場面が複数あり、
それら1個1個に確認ダイアログを作るのは煩雑なので、

確認ダイアログを表示して処理する関数 function kakunin() を作り、
この関数は「はい」なら1 「いいえ」0を返す

というのを作りたいのです。
しかし、確認ダイアログを表示した段階で kakunin()内の処理は終わってしまいうまくいきません。

「はい」「いいえ」のボタンを押した時点で処理の続きを続行するようないいアイデアはないでしょうか?
160Now_loading...774KB:2006/03/05(日) 04:23:25 ID:qob/i9HW
>>159
???
アイデアというか、そんなの当たり前の処理では?
function kakunin(b){
return b=="はい" ? 1 : 0;
}

trace(kakunin("はい"));//1
trace(kakunin("いいえ"));//0
161137:2006/03/05(日) 04:52:53 ID:Ec2irqh3
何度も作り直したりするうちに、
気がついたらMCの名前をbaseにしただけでインスタンス名を「base」と指定していなかったこと、
タイムライン上でなく、MC上にASを書いていた事、
が原因でした。
私のような人がこの先現れるかワカリマセンが、一応書いておくと、

●●(読み込む対象MCのインスタンス名)の配置してあるタイムライン上に
this.●●.loadMovie("○.swf");
というASを書く

と書くとできました。
また、ASを使わなくてもメインタイムライン上のMC「base」を変形で小さくすることで
とりあえずやりたいことはできました。

どうも見当ハズレの質問ばかりしてしまった気がします。
親切に教えてくださった皆様ありがとうございました。
長々とすいません。。。
162Now_loading...774KB:2006/03/05(日) 12:36:37 ID:6Yev1I9P
>>159
ムービークリップか何かで作ったダイアログを表示するんですよね?
その間kakuninから帰ってこない=Flashが固まるって事だから、1関数に
収めるのは無理なんじゃないでしょうか。ActionScriptには
コルーチンもスレッドも無いようですし。

となると解決策は
・Alertを使う
 Proのみらしいのでよくわかりません
・ポーリング
 onEnterFrameか何かでいちいち確認
・コールバック
 OKボタンが押された時点で関数何某を呼び出してもらう
いずれかしかないんじゃないですか?

******
質問なのですが、外部ASファイルを記述した時、
import foo.*;
var tmp = new Bar();
は動くのに
var tmp = new foo.Bar();
とやるとFlashが固まります。外部ASファイルを扱う際に、
なにか(Flashがこけるほど)危険な約束事があるのでしょうか?
163Now_loading...774KB:2006/03/05(日) 12:50:27 ID:QPrCz7yo
>>159
ラッキーアイテム:windowクラス
>>162
flashでインポートするとき*使えたっけ
164Now_loading...774KB:2006/03/05(日) 13:01:26 ID:6Yev1I9P
>>163
Windowコンポーネントはモーダルウインドウも扱えるのですね。>>159
ではありませんが参考になります

>flashでインポートするとき*使えたっけ
ASUnitが吐き出すコードがよろしく無かったようです…お騒がせしました。
class AllTests extends TestSuite {

class foo.AllTests extends TestSuite {
に変更したら動きました。警告くらいしてくれてもいいのにorz
165Now_loading...774KB:2006/03/05(日) 13:05:44 ID:QPrCz7yo
そんなクラス名はいらんw
166Now_loading...774KB:2006/03/05(日) 13:47:41 ID:zcBczbGu
159です。
回答ありがとうございます。

いろいろと試行錯誤を重ねた結果、agruments.callerを使うことで自己解決しました。
「はい」「いいえ」を押すと呼び出し元の関数を再び実行し、これによって処理の続きを再開するという方式です。
167Now_loading...774KB:2006/03/05(日) 13:49:24 ID:zcBczbGu
あ、162で示唆されていたコールバックを使ったので
自己解決じゃなくて他人解決ですね・・・アセ
168126:2006/03/06(月) 11:37:54 ID:Hx6h4kOn
128さん、言葉では説明しずらいので、
サンプルファイルを用意しました。

http://up.isp.2ch.net/up/d892ddfc759e.zip

解凍すると、以下の3つのファイルがあります。

@01qtvr_tmp.fla←外部読み込みで画像を読みこまずに、内包しているタイプ。
A01qtvr_tmpload.fla←@のファイルから、画像を削除し、画像を読みこむ命令(loadmovieで)を追加。
B01qtvr_gaibu.fla←Aのファイルの読みこみのための外部参照画像ファイル。


@は、問題無く動きます。(VR風のギミック)
Aからパブリッシュしたデータで、Bの画像(SWFファイル)を読み込まれるんですが、ギミックは反応しません。
上スレッド(スレッド116)の説明のように、内部処理か、外部処理の違いで、動いてくれると思ってるんですが、
なにか、ロジックを組まないとだめなのでしょうか?よろしくお願い致します。
169Now_loading...774KB:2006/03/06(月) 14:26:04 ID:FupYHkT0
スレ違いかもしれませんが、このフラッシュの仕組みを知りたいです。
どなたか教えてくれませんか?
よろしくお願いします。

ttp://www.willserver.com/freewill/news/sui/01.swf
170Now_loading...774KB:2006/03/06(月) 15:10:59 ID:MqiPuN5U
>>169
算数のお勉強をしっかりやってください。
171Now_loading...774KB:2006/03/06(月) 16:42:10 ID:ClhBrASl
ひさびさにDirector使わなくちゃいけなくて焦ってるんだが、
Directorに読み込んだFLASHファイルからDirector側に変数の
値を送るのってどうやるんだろう?

あと逆も。
172Now_loading...774KB:2006/03/06(月) 16:57:27 ID:/1xXW9Sy
>>169
ネタに解説いれるほど馬鹿らしいことは無いな…
173171:2006/03/06(月) 17:16:25 ID:ClhBrASl
自己解決しました。すんません
ttp://www.fumiononaka.com/TechNotes/Director/FN0509007.html
174171:2006/03/06(月) 20:22:19 ID:ClhBrASl
…と思ったら、DIRECTORからFLASHの変数参照すると文字がバケるんです(涙
FLASH MXは「UTF-8」でDIRECTORは「SHIFT JIS」なのか…
どうすれば…
175Now_loading...774KB:2006/03/06(月) 20:26:52 ID:yeSwW62O
>>174
Flash側でsystem.usecodepageの設定でなんとかならないだろうか
176Now_loading...774KB:2006/03/06(月) 22:09:39 ID:rGC61GtX
>>168
fla開けない。MX2004でも開けるようにしてほしい。
177Now_loading...774KB:2006/03/07(火) 07:08:28 ID:zo/Ek9Fr
Flash内をプリント出来る機能を調べているのですが、Flash内の任意の場所だけを
印刷する様にするということはActionScirptで実現する事が出来るのでしょうか。
178126:2006/03/07(火) 09:40:29 ID:u8TU542m
http://up.isp.2ch.net/up/11885256f2a5.zip

126です。 MX2004で開くことのできるファイルを用意しました。
よろしくお願いします。

179Now_loading...774KB:2006/03/07(火) 13:48:54 ID:rciCv3nF
>>178
ちらっと見たけど、多言語から来た人?Fla4の人?それとも自分で書いてないAS?

問題点は、_rootにloadMovieして_rootを入れ替えていることと、
ターゲットの違いがわかってないこと。
しかもスラッシュシンタックスとか使ってるから訳わかんなくなってると思う。
あと外部ファイルを読み込むつもりなら、ロードチェック処理もないとまずくないか。
MovieClipLoader使えるならそっちが便利。
多分これ見た人は全部書き換えたくなると思うよ。
で、はっきり言うと基本的な知識が不足している。
このムービーのことはいったん脇に置いて、ターゲットパスについて勉強する。
ドットシンタックスでクラスメソッドやプロパティを使う書き方に慣れる。
ついでにヘルプの使用を避ける言語エレメントとか読む。
180Now_loading...774KB:2006/03/07(火) 14:31:56 ID:VrflVVLO
>>178
ファイル見れないから、よくわからないんだけどイメージビューワーを作りたいの?
だったらXMLで
<image>
<url>images/1.jpg</url>
<url>images/2.jpg</url>
<url>images/3.jpg</url>
</image>
とか適当につくって、そのXMLファイルを読み込んで解析して、
createEmptyMovieClipで空MCつくって、
さっき読み込んだ画像のパスを使って空MCに読み込ませればいいんじゃない?
181126:2006/03/07(火) 15:05:36 ID:u8TU542m
179さん。

問題点は、_rootにloadMovieして_rootを入れ替えていることと、
ターゲットの違いがわかってないこと。


要するに、読みこんだ時点で、パスが変わってしまっているということでしょうか?
絶対パスでなくて、相対パスで指定してあげればいいのでしょうか?

あと指摘してくれた個所は、いまから調べて勉強してみます。

SWFの外部ファイル読み込みで、マウス操作が機能しないということは
ないのですよね? 単純に、上記の基礎的な知識不足により、間違った書き方をしており、
反応しないということとして考えてイイでしょうか?

180さん。

正確には、静止画ではなく、連番ファイルです。xmlで、連番ファイルを読み込み可能に
なるんでしょうか? 連番ファイルが1セットで、差し替えすることになる予定です。
上記のアップロードファイルは、とりあたま、サンプルファイルとして添付しました。
182Now_loading...774KB:2006/03/07(火) 15:40:24 ID:HtgADdHQ
class Hoge {
var mona:Object;
function Hoge(){
mona = new Object();
}
}

class Hoge {
var mona:Object = new Object();
}

デバッガで確認した限りでは、上のやり方だとクラス変数monaは生成されてるのに、
下のやり方ではmonaは生成されません。どうしてなんでしょうか?
183Now_loading...774KB:2006/03/07(火) 15:56:52 ID:jEFGB04D
どうやって呼び出したの?生成確認ってどうやったの?
184Now_loading...774KB:2006/03/07(火) 16:33:43 ID:HtgADdHQ
var hoge = new Hoge();

単純に、ここにブレークポイントを置いて、通過する前後を見ました。
185Now_loading...774KB:2006/03/07(火) 18:41:13 ID:fSqdh/7C
外部テキストを読み込むのですが、
フレームを進める必要がある場合はありますか?

1フレだけのムービーに【↓】を書いて成功しました。
function loadData() {
myData = new XML();
myData.load("test.xml");
}
myData.onLoad = function() {
trace(myData.loaded);
};

しかし、既に作ってあるムービーだと失敗したので、
【↓】(★)の部分でフレームを進めたら、成功しました。
function loadData() {
myData = new XML();
myData.load("test.xml");
(★)onEnterFrame = function () {
trace(myData.loaded);
delete onEnterFrame;
};}

フレームを進める必要のあるなしの条件が
判らないので混乱しています。
よろしくお願いします。
186Now_loading...774KB:2006/03/07(火) 18:41:56 ID:rbtMdOhY
actionscriptで線のプロパティにある線種の点線やラフを使いたいのですができないのでしょうか?
点線くらいだったら自分でどうにかなりそうな気もしますが、ラフや点描は自分で作るとしたらどうやればいいんでしょうか?
187Now_loading...774KB:2006/03/07(火) 18:55:13 ID:op3Acsc9
>>186
お裁縫が出来れば思いつくはず
188171:2006/03/07(火) 19:42:50 ID:g2or/nkl
>>175
>Flash側でsystem.usecodepageの設定でなんとかならないだろうか

あんがと、でもこの命令が効くの外部テキストだけなんですよ。
あきらめてS-JISのFLA5使うか、ディレだけでやるか…

LINGOなんて忘れたよ(ハー
189Now_loading...774KB:2006/03/07(火) 20:10:28 ID:+zzhnWuc
>>188
ちなみに何の案件?
CDROM?

うちは、Director案件全然なくなった
190Now_loading...774KB:2006/03/07(火) 21:23:55 ID:AuTkUB4W
>>185
XMLクラスのonLoadってはxmlが正常にロードされたときに呼び出される。
下のはtraceを通った時点でまだ読み込まれてなかったのが原因だと思う。
191Now_loading...774KB:2006/03/07(火) 22:45:13 ID:+zzhnWuc
ネタ切れの感は否めないな
192Now_loading...774KB:2006/03/07(火) 22:45:55 ID:+zzhnWuc
すいません。誤爆しました
193185:2006/03/07(火) 23:24:14 ID:fSqdh/7C
>190
>下のはtraceを通った時点でまだ読み込まれてなかった
あ、下も成功してます
どちらのASでも出力は「true」です

(>185の)上のASで、ムービー(に貼り付けて)によって成功したりしなかったり。
onLoad(xmlロード後に実行する)ですから、
ムービーによって失敗(「false」も出力しない)するのはおかしいですよね?
(xmlは1kb未満(単語2,3個))

ん〜、(>185の)上のASが適切じゃないのでしょうか?
194Now_loading...774KB:2006/03/07(火) 23:59:50 ID:kbvMXJWS
>>193
myData.onLoad = function() {
trace(myData.loaded);
};
これをloadの前に書いてみてはいかが?
195Now_loading...774KB:2006/03/08(水) 00:26:58 ID:lE9gtAeT
>>193
myData = new XML();
myData.onLoad = function (s){
if (s){
trace(myData.loaded)
}else{
trace("error")
}
}
myData.load("test.xml");
ってやったらどーなる?
196Now_loading...774KB:2006/03/08(水) 00:46:57 ID:v2/3kHgC
>>195
自分で考えろ
197Now_loading...774KB:2006/03/08(水) 01:00:05 ID:lE9gtAeT
>195 訂正
>ってやったらどーなる?
ってやったらうまくいかない?
198Now_loading...774KB:2006/03/08(水) 01:22:12 ID:dOW4cUD4
>>195が正解。引数でフラグ受け取らないとフライングするよ。
199Now_loading...774KB:2006/03/08(水) 02:26:56 ID:z3kzlcu6
ムービークリップに"start"、"move"、"end"というラベルがあって、
そのラベルが付けてあるフレームが何フレーム目にあるか調べる方法ってありますか?

読み込むムービーによってラベルが違うフレームにあるので、
スクリプトで調べられたら便利なのですが。

よろしくお願いします。
200Now_loading...774KB:2006/03/08(水) 03:39:31 ID:3FciP4q3
カレントフレーム とか?
201Now_loading...774KB:2006/03/08(水) 07:47:10 ID:gyBldlWJ
ラベルで判断するのは無理じゃね?
202Now_loading...774KB:2006/03/08(水) 08:33:32 ID:h4MibDb8
_visibleをfalseにして
gotoAndStopでラベルまで飛ばしてcurrentframeを変数へ取得
その後ヘッドを戻すとか・・・

まあ200さんといっっしょか
203Now_loading...774KB:2006/03/08(水) 08:41:16 ID:Xqb6cCcT
>>199
スクリプトの組み方次第でそれを調べなくても良いかもしれないよ。
最終目的も書いてみてはどうだろう?
204Now_loading...774KB:2006/03/08(水) 09:24:32 ID:WyeU2d5b
>>193
loadする前にonloadをきちんと割り当てないとタイミングの問題になる。
>>194,>>195のように先に割り当てれば良い

>>190
正常に読み込まれなくても呼び出される
>>198
引数を使うかどうかは関係ない
205Now_loading...774KB:2006/03/08(水) 09:30:57 ID:WyeU2d5b
>>182
8環境だと普通に生成されるけど、環境は?
206Now_loading...774KB:2006/03/08(水) 09:36:13 ID:WyeU2d5b
>>182
ひょっとして「クラス変数」というのはstaticなオブジェクトを管理したいのかな?
それだとデバッガでは追えないけれども、生成はされているはず。

class Hoge {
static var mona:Object = new Object({_name:"mona",x:10,y:20});
}
として
trace(Hoge.mona._name) //出力「mona」
207Now_loading...774KB:2006/03/08(水) 10:47:01 ID:I0RY4PbM
いろいろアドバイスありがとうございます
onLoadを先に記述しましたが、失敗です
とりあえず、先に進みます。解決しなくてすいません
動作しないムービーの共通点を探すことにします

ASの実行順って、同一フレームをすべて読み込んでから、
上から実行かと理解してるんで、入れ替える事は想像してませんでした
ちょっと視野が広がった感じです
208126:2006/03/08(水) 11:46:56 ID:bcwwR6Ya
どなたか、ご指南頂けないでしょうか?
ヒントだけでも構わないので、お願い致します。
209Now_loading...774KB:2006/03/08(水) 12:03:07 ID:hF7xUK0J
>>208=168=181
>>181のように考えてイイから、自分のスクリプトを読めるようになってくれ。
その上でここまで理解したけどどうよ?と聞いてくれると話が進みやすい。

126がやろうとしてることは難しいことではないが、一般と違う方向に進んでしまったために教えにくい。
東京から京都に行こうとして何故か旧街道の東海道を歩き出して脇道で迷ってしまった人のような状態。
そのまま京都まで街道案内するよりは、いっそ東京駅まで戻ったら?
新幹線の乗り方覚える方が楽だよ?と言いたくなるわけだ。
それから、レスでさんづけしなくていいから、アンカーをちゃんとつけてほしい。
210171:2006/03/08(水) 13:06:37 ID:q9tZVf6o
>>189

> ちなみに何の案件?CDROM?

いやダウンロード型の簡単なアプリ
ファイルI/OがあるからFLAじゃ無理で
CとかVBとか使えないからDIRでやるかと。

>うちは、Director案件全然なくなった

うちも、ないねぇ。これもやむにやまれずという感じだし
211189:2006/03/08(水) 13:25:53 ID:c3rXhkYs
>>210
なるほど。
今は、ビデオもFlashに乗るようになったし、Directorの存在感はほとんどなくなったよね。

テキストファイルのIOなら、ZincっていうSwfToExeソフトで出来るよ。
ttp://www.multidmedia.com/
前仕事で使ったけど、普通に問題なかった。

ただ、Win版で300ドル。Win&Macだと500ドルするので、
ある程度大き目の案件でないと厳しいかも。

昔、ScreenWeaverっていう似たようなソフトもあったけど、
売れなかったのか、途中で開発中止。
しかも、メモリーリークのバグがあって全然使えなかった。

http://oss.moongift.jp/intro/i-964.html
今、オープンソース系アプリとして復活してるようだけど、
これについては全然情報がないので、もし弄ってみたらレビュー希望。
212Now_loading...774KB:2006/03/08(水) 13:43:34 ID:5XGceG82
ASスレなので案件云々はマ板あたりでヨロ
213182:2006/03/08(水) 14:17:08 ID:6M/RlElZ
>>206
確認してみましたが、staticなクラス変数は_globalに生成されてて、
ちゃんとデバッガで追えるようです。

クラス変数が生成されないって問題ですが、遅延生成って言うのかどうかわかりませんが、
実際に参照されるまでは生成されない、ということだったみたいです。
↓のコードをデバッガで1行ずつ追っていったら理解できました。

// Hoge.as
class Hoge {
var a:Number = 0;
}

// test.fla
var hoge:Hoge = new Hoge();
var a = hoge.a;
var b = hoge.b;
hoge.a += 3;
hoge.b += 1;
214171:2006/03/08(水) 17:57:40 ID:q9tZVf6o
>>211
サンクス!

>>212
メンゴ!
215Now_loading...774KB:2006/03/08(水) 18:58:17 ID:bcwwR6Ya
ターゲットパスについては、調べて、まだ不充分かもしれませんが、
理解出来たと思います。とりあえず、分離するまえの元のファイル 01qtvr_tmp2004.flaを
Flash2004以降の仕様にするために、スラッシュシンタックスをドットシンタックスで、パスの指定を変更しました。

ルート//1frame//

startDrag("_root.dragControl", true);
setProperty("_root.nav", _x, -2000);
setProperty("_root.nav", _xscale, "500");
setProperty("_root.nav", _yscale, "500");

ムービクリップ//movBut//

while (Number(n)<19) {
n = Number(n)+1;
bn = "kv" add "n";
duplicateMovieClip("kv", bn, n);
setProperty(bn, _x, Number(getProperty(bn, _x))+Number(n*getProperty(bn, _width)));
setProperty(bn add "b", _x, getProperty(bn add "b", _x) + (random (20)+1));
set(bn add "n", n);
}

216続き。126:2006/03/08(水) 18:58:51 ID:bcwwR6Ya
しかし、どうしても、ムービクリップ//movBut//で、以下のエラーが発生します。

**エラー** シンボル = movBut, レイヤー = Layer 2, フレーム = 1 :行 3:シンタックスエラー
bn = "kv" add "n";
**エラー** シンボル = movBut, レイヤー = Layer 2, フレーム = 1 :行 6:')' または ',' が必要です。
setProperty(bn add "b", _x, getProperty(bn add "b", _x) + (random (20)+1));
**エラー** シンボル = movBut, レイヤー = Layer 2, フレーム = 1 :行 7:')' または ',' が必要です。
set(bn add "n", n);

他は、大丈夫みたいなんですが。。 皆目検討がつかなくて困ってます。何が悪いのでしょうか?よろしくお願いします。
また、ロードチェック処理とは、どの辺のマニュアルを確認すればいいでしょうか? どうも検索をかけてもでてきません。
これは、どうして必要なのでしょうか?何度もすいませんがよろしくおねがいします。

追伸//
アンカーっていうのは、どういう意味でしょうか?
208=168=181=215←こういうことでしょうか?
217Now_loading...774KB:2006/03/08(水) 19:30:11 ID:DXrOJaoa
>>216
シンタックスエラーのチェックまで人任せにすんなヴォケ

で済ませてもいいんだが
bn = "kv" add "n";
は何をしたかったのかな?
それ以外も同様。

それと、何でもいいんだけどActionScriptの基礎の本を一冊読んで、
本に出てるサンプルコードをひとつひとつちゃんと理解してから
先へ進んだ方がいいと思う。
いまのあやふやな理解のままだと、人に聞いて適当にいじってるうちに
結果としてなんとなく動くことはあるかもしれないけど、
それじゃ次に何か作るときには役にたたないからね。
218126:2006/03/08(水) 19:31:37 ID:bcwwR6Ya
while (Number(n)<19) {
n = Number(n)+1;
bn = "kv" ;
n++;
duplicateMovieClip("kv", bn, n);
setProperty(bn+"b", _x, Number(getProperty(bn, _x))+Number(n*getProperty(bn, _width)));
setProperty(bn+"b", _x, getProperty(bn+"b", _x) + (random (20)+1));
set(bn, n++);
}

すいません。自己解決しました。
ただ、画面がループしなくなってしまいました。
(途中で、最初の絵に戻る。)
ただ、スクリプト自体は動くようになりました。

これをベースに、分離した外部SWFが読みこんで、
動作するか試してみたいと思います。

ここまでで、すでに方向性が間違っていますか?
よろしくお願いします。

219Now_loading...774KB:2006/03/08(水) 19:37:02 ID:+V25Aes+
昔Flashを使っていて、久しぶりに触ろうとしたら
tell terget が「使用を避ける機能」になってました(TーT
今これに代替するScriptってなんですか?

macromediaのホームページをみようとしたらアドビになってるし…どうなってんの
220126:2006/03/08(水) 19:38:06 ID:bcwwR6Ya
217さんありがとうございます。

これは、サンプルファイルをひろってきたものなので、
このSWF自体は、正確に動かなくてもいいんです。
要は、先に示したように、SWFを外部読み込みした際に
メインSWFから、ほんとに動作するのかどうかを検証しています。

そのサンプルとして、適当なものを選んで、アップさせてもらいました。
それで、指摘していただいた、ターゲットパスなどが、どうもこれは、Flash4の
書き方のようだというのがわかったので、2004用にコンバートして、
足並みをそろえて、今一度、ご質問させて頂いている途中になります。
よろしくおねがいします。
221Now_loading...774KB:2006/03/08(水) 19:56:07 ID:5XGceG82
>>220
2004を使ってるならなんでfla4のサンプルなんて使うの?
ヘルプを見ればサンプルソースがあるし、サンプルプログラムがインストールされてるはず。
222126:2006/03/08(水) 19:57:50 ID:bcwwR6Ya
マウス操作で反応するインタラクションで実験したかったんです。
実際に使用するものは、それに近いかたちのものなんです。

2004にも同様のものはありますか?
このファイルは、FlashKitからひろってきました。
223Now_loading...774KB:2006/03/08(水) 19:57:51 ID:a2cI9cBm
>>219
ttp://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/js/html/wwhelp.htm?href=00001776.html
4とかの時代から来たなら別物と考えてしっかり勉強し直しした方が良いと思う
224Now_loading...774KB:2006/03/08(水) 20:03:28 ID:bZvoMGgY
>>220
> 217さんありがとうございます。
> 要は、先に示したように、SWFを外部読み込みした際に
> メインSWFから、ほんとに動作するのかどうかを検証しています。

検証するまでもなく、基本的には動作するよ。
つうか、動作するかしないかはスクリプトを読めばわかる。
わからないならASの基本学習が先。
しかも>>221も言ってるが、サンプルにFla4のものを使うのは根本的に間違い。

それから、くどいようだが「さん」よりもまず「アンカー」をつけろ。


…以前いたトモコとかいうのを思い出してきた。
225Now_loading...774KB:2006/03/08(水) 20:07:21 ID:Xqb6cCcT
>>219
Flash4のことは忘れましょう。無かったことにした方が良いくらいです。
226126:2006/03/08(水) 20:13:08 ID:bcwwR6Ya
すいません。アンカーの意味を教えてください。

動作はするんです。ただ、動作は、読み込みはできるというのが、ただしいてです。
そのSWFを介して動作するアクションに対しては、まったく反応がないんです。

例えば、

メインSWF←メインSWFから、ムービクリップAのみにしたサブSWF。
そして、メインSWFに、サブSWF自体は読み込みはできるんですが、
メインSWFに記述したフレームアクションに対しては、無反応なんです。
ターゲットパスの問題なのでしょうか?

ヒントの程お願いします。なにか参考になるサイト、ファイルなどあれば、お教えください。
よろしくおねがいします。

227Now_loading...774KB:2006/03/08(水) 20:26:04 ID:kxJGhMfV
ウザワロスwwwww
228Now_loading...774KB:2006/03/08(水) 20:30:22 ID:bZvoMGgY
>>226
> すいません。アンカーの意味を教えてください。
レス番の前に>>つけろってこと。
わからんなら2ch初心者板でも行ってこい。

> ターゲットパスの問題なのでしょうか?
だからみんなさんざんそう指摘してるだろうがあああああ!!!!
126の状況はFAQなんだよ。
質問する前に人の書いたレスを信じろ馬鹿者!
本一冊読み通すまでもう来るな。
229Now_loading...774KB:2006/03/08(水) 20:39:37 ID:6M/RlElZ
>>126には、早いところあきらめて試合終了にしてもらいたいところだな。
230Now_loading...774KB:2006/03/08(水) 22:09:16 ID:AvI9hwmh
>>219
tellTargetってなんぞやってヘルプ引いたら、しっかり代替コードのってるじゃん。ヘルプ嫁
231126:2006/03/08(水) 22:14:23 ID:bcwwR6Ya
>>228
みなさん、ご迷惑をおかけしています。
なんとか、施行錯誤して、動くようにはなったんですが
また、ひとつ疑問ができました。

制御上、ムービクリップを自動で読みこんで、
読みこんだものをメインのSWFで、止める(ストップ)命令を有効にしたいんですが
なぜか、効きません。フレームに読みこむと、それが判定になり、
止まるように制御できないでしょうか?
いまは、読みこむと再生しっぱなしです。
何か方法はないのでしょうか?

aa._lockroot=true;
aa.loadMovie("aa.swf");
this.stop();

aaインスタンス以下に、this.stop();とかいても止まりません。
よろしくお願い致します。

232Now_loading...774KB:2006/03/08(水) 22:21:06 ID:HgTBwot5
しょうけんフラッシュ わろた
http://members2.jcom.home.ne.jp/xbasicx/
233Now_loading...774KB:2006/03/08(水) 22:28:31 ID:ooqG3SDN
>>231
読み込んだ時、aaインスタンスはaa.swfに置き換わるからaaインスタンスにAS書いても意味ない。
っていうかaa.swfの1フレーム目にthis.stop();でいいと思う。
234Now_loading...774KB:2006/03/08(水) 22:53:51 ID:r6Xs6qGm
>>233
相手すんなよ。相手にするからつけあがるんだ。
235Now_loading...774KB:2006/03/08(水) 23:26:29 ID:PT3FLhyI
>>213
staticなクラス変数とかワケワカメなこと言ってんじゃねぇ。

お前がクラス変数と言ってるのは、インスタンス変数というんだ。
static付けるとクラス変数になんだよ。
236Now_loading...774KB:2006/03/08(水) 23:54:05 ID:J/KO95Fr
flashでのxmlの使い方を一からわかりやすく開設してるサイトご存じないですか?
237Now_loading...774KB:2006/03/09(木) 00:18:49 ID:xT3iwkW2
238Now_loading...774KB:2006/03/09(木) 01:01:03 ID:0WcHKAf5
>>237
ありがとうございます。追加でもう一つ。
loadVariable("a.txt");
のように書いて、a.txtが存在しない、アクセスできないという場合に続く処理をスキップしたいのですが、
a.txtが存在するかどうか、アクセスできるかどうかはactionscriptで判定できますか?
239Now_loading...774KB:2006/03/09(木) 04:39:20 ID:QmQ+qu8G
>>238
ASではロードするファイルの存在確認はできない。
CGI連携で存在確認をして結果を戻すか、ASだけならリトライしてタイムアウトなら〜
なんていうコードつくるかだね。
240Now_loading...774KB:2006/03/09(木) 04:51:18 ID:2MKEN5wJ
ソフト=FlashMX2004,OS=Win98SE

複製したMCにポインタが重なっているかを判定するASを書いて
いますが、判定の指標となる trace("onRollOver "); が実行され
ません。ASは以下のようになっています(フレームアクション)。

i = 0;  //カウント用変数
j = 0;
_root.Atom_H.onRelease = function() {
   i = i+1;
   j = j+1;
   _root.Atom_H.duplicateMovieClip("Atom_H"+j, j);
   _root["Atom_H"+j]._x = Atom_H._x+50;  //複製してAtom_H1などとして隣に置く
   Atom_Hj = _root["Atom_H"+j];
   trace("Atom_Hj="+Atom_Hj);
};
_root.Atom_Hj.onRollOver = function() {
   trace("onRollOver ");
   _root.Hi.onEnterFrame = function() {
    _root.Hi._visible = !_root.Hi._visible;  //RollOverしたらHiが点滅する
   };
   trace(" twinkle");
};

間違いをご指摘下さい。
241Now_loading...774KB:2006/03/09(木) 07:53:13 ID:RochLBML
>>240
作った時にonRollOverも割り当ててあげれば良いんじゃないのかな。

i = 0;
j = 0;
Atom_H.onRelease = function() {
i++;
j++;
tmpAtom = Atom_H.duplicateMovieClip("Atom_H"+j, j);
tmpAtom._x = Atom_H._x+50;
tmpAtom.onRollOver = twinkle;
};
function twinkle() {
this.onEnterFrame = function() {
this._visible = !this._visible;
};
}
242240:2006/03/09(木) 11:35:24 ID:FYHZv+Ik
>>241
さんきゅうです。元のASに適用しましたが、目的の動作はしませんでした。
もう少し粘ってみます。
243Now_loading...774KB:2006/03/09(木) 11:52:11 ID:0WcHKAf5
>>239
タイムアウト設定をすることにしました。
ありがとうございます。
244Now_loading...774KB:2006/03/09(木) 12:39:29 ID:UXKWGWuZ
>>240
i = 0;
Atom_H.onRelease = function() {
i++;
dup = Atom_H.duplicateMovieClip("Atom_H"+i,i);
dup._x = Atom_H._x+i*50;     //カウント用変数あったので複数複製した場合の被り防止
dup.onEnterFrame = twinkle;  //EnterFrameで判定回す方向に変更
}
function twinkle() {
if(this.hitTest(_xmouse,_ymouse,true)){  //マウス座標がMCと重なっていたら
this._visible = !this._visible;         //点滅させる
trace(this+"hit");
}else{
this._visible = true;              //消えたまま止まると気持ち悪いので表示させる
}
}

こんな感じでどうだろうか
245Now_loading...774KB:2006/03/09(木) 12:47:35 ID:CaP3d5YR
何がしたいか上手く解らんけど、
・最初にあるMCを複製したい
・複製したMCをロールオーバーしたとき、最初にある方が点滅する動作をさせたい
がしたいんかな。カウント変数が何故か二個あったりしてイマイチ意味が解らん
ついでに言うと、元のMCにonEnterFrameを設定したあと、ロールアウトでそれを何とかしないと
点滅しっぱなしになるよ

i=0;
function getI(){//iを返してiを足す関数
return i++;
}
function COPYonROv(){//複製したMCのrollOverに代入する関数
trace("onRollOver");
_root.Hi.onEnterFrame=HoEF;
trace("twinkle");
}
function HoEF(){//元のMC点滅enterFrameに代入する関数
this._alpha=Math.random*100;
}
_root.Atom_H.onRelease=function(){//元のMCのonReleaseを直接設定
var temp=getI();
var temp_mc=_root.Atom_H.duplicateMovieClip("Atom_H"+temp,temp);
temp_mc._x=this._x+50;
temp_mc.onRollOver=COPYonROv;
trace(temp_mc);
}
246Now_loading...774KB:2006/03/09(木) 14:14:25 ID:BuLqTz2m
変数c1,c2,c3の値が同じ場合c4にその値を代入する方法を教えてください。

flash5です。
247Now_loading...774KB:2006/03/09(木) 14:25:00 ID:VLniN2xo
>>246
if(c1==c2&&c1==c3)c4=c1;
248246:2006/03/09(木) 14:33:07 ID:S0K3h6u1
ありがとうございます。
249246:2006/03/09(木) 14:41:04 ID:S0K3h6u1
すんません。
orの時はどう結べばいいんでしょう?
c1かc2が5の時
if(c1orc2==5)
   ~~~
250Now_loading...774KB:2006/03/09(木) 15:00:14 ID:GLR8V0Bx
>>249
ActionScriptリファレンスガイド
P.393
演算子の優先順位と結合性を嫁
251Now_loading...774KB:2006/03/09(木) 15:04:45 ID:wakWR9S+
ソフトはFlashMX2004を使ってます。
質問は、複製MCの色付けについてです。

MC(インスタンス名:mc1、最初は赤色)をオリジナルとして、数珠つなぎの
ようにmc1からmc2を生成,mc2からmc3を・・・・ mc[n] → mc[n+1]という
連鎖的な形で、attachMovieとduplicateMovieClipで生成しようとしています。

mc1→mc2) this.attachMovie("mc1",mc2 , dan, prop);
mc2→mc3以降) this["mc"+i].duplicateMovieClip("mc"+(i+dan1), i+dan1); //mc[i+dan1]が生成

この際、最初のインスタンスmc1を赤→青とし、以後複製されたものは全て
青色となるよにうに(つまり青のmc2が生成される)するにはどうしたらいい
でしょうか?
最初の1個は青に変わったのですが、2個目以降は赤色のままです。
252Now_loading...774KB:2006/03/09(木) 15:43:43 ID:UXKWGWuZ
>>251
青いMCを生成すれば良いんじゃないの?
253Now_loading...774KB:2006/03/09(木) 16:41:21 ID:TQPLdfTU
ASを使って、シンボルの入れ替えを簡単に行う方法はあるでしょうか?
例えば、MCで作ったキャラクターが手に持っているアイテムを、棒→剣へと入れ替えるのは
どうすればいいでしょうか?
(棒、剣はライブラリに登録してあります。座標/拡大率/回転角度等そのまま引継ぎたいです)
OSはXPでMX2004使っています。教えてください。
254Now_loading...774KB:2006/03/09(木) 17:02:53 ID:lcPmYqSP
>>253
attachMovie
removeMovieClip
_x
_y
_xscale
_yscale
_rotation

あたりを調べて作ってみてはどうでしょうか。
255Now_loading...774KB:2006/03/09(木) 17:15:14 ID:P9V+al/Z
>>253
>>タイムラインを活用するなら、武器MCを作り各フレームに様々な武器を配置、
棒をもってる時は棒のフレームを剣を持っているときは剣のフレームを表示するということもできる。
256kurou:2006/03/09(木) 18:27:08 ID:q51+HjnB
初めて書き込みます。

ログインする為のswfを作り、id・passでコンテンツ(別のswf)を呼び出しています。性格にはgeturlでhtmlを呼び出しているのですが...

そこで質問です、現在呼びだしているswfの数を減らしたいと考えており、そのために各swfをシーン別に管理しようかと考えております。(1つのswfにまとめてしまう)
現在考えている方法ではログインを管理するswfから入力されたID・PASSをFMS側のascファイルに格納させ、その後シーン別に統合されたswfにそのascファイルを読ませてシーン判定をさせようかと考えていますが、もっと簡単な方法が無いかと思い投稿させていただきました。
ローカルコネクションかなんかでいい方法ないでしょうか?

宜しくお願い致します。
257Now_loading...774KB:2006/03/09(木) 18:43:31 ID:7vRsemIv
XMLを読み込んで、改行で分割してるのですが、
最後の[EOF]が、空として吐き出されます。
XMLの中身
1
2
[EOF]

makeData = myData.toString().split("\n");
trace(makeData);
//結果
makeData=1
,2
,//←これを無くしたいです

下の様に、[EOF]の位置を変えれば解決するのですが、
どちらにも対応するにはどうすればいいでしょうか?
XMLの中身
1
2[EOF]
258Now_loading...774KB:2006/03/09(木) 22:35:18 ID:VRptMH5+
makeData = myData.toString().split("\n");

if(makeData[makeData.length-1]==""){
makeData.pop();
}

trace(makeData);
259Now_loading...774KB:2006/03/10(金) 00:44:50 ID:CxcBHsWC
質問です
フラッシュでメニューを作ろうと思っています。6こくらいのメニューが縦に並んでいて
マウス乗せるとメニューの一つが縦に広がり、残りのメニューが
つられて移動します。
動きのイメージはen-japanのトップフラッシュがサンプルというかまんまやりたいことです。
スクリプトの考え方だけでも教えていただけばありがたいです。
FP7以上で正常に作動するものを作りたいと思っています。
260251:2006/03/10(金) 00:55:47 ID:8UIhxuG+
>>252 青いMCを生成すれば良いんじゃないの?

具体的にはどうすればいいでしょうか?
連鎖的に生成することが目標です。
261Now_loading...774KB:2006/03/10(金) 01:31:49 ID:+EHP2XV1
>>260
どうしても赤いMCを青くしたいなら
setTransform()でMCを生成するついでにMCの色を青くすりゃ良い。
mc2以降が静的な物なら元から青いMCをattachMovieしてけばおk

正直、やりたい事が伝わってこないので
しっかりとしたアドバイスが出来ない
262251:2006/03/10(金) 02:32:34 ID:8OZ8+sG0
>>261
さんくすです。やってみます。
263240:2006/03/10(金) 07:45:38 ID:KWC6F9us
>>244, 245
244さんの方が簡単そうなので、こちらを試します。
264Now_loading...774KB:2006/03/10(金) 07:55:14 ID:dXAvUbii
FlashMX2004使っています。

再生スピードを調整するASで、ムービーが止まりません。bar1という
MCを右に方向に伸長させて、長さが400にたら止まらせるようなASです。
(フレームアクション)

bar1._width = 10;  ←初期値です
function spFunc() {
if (sFlag == true) {
bar1._width = bar1._width+10;
}
}
this.onEnterFrame = function() {
ID = setInterval(spFunc, 500);
if (bar1._width>400) {
this.onEnterFrame = undefined;
clearInterval(ID);
}
};

どうしたら良いでしょうか?
265Now_loading...774KB:2006/03/10(金) 08:01:31 ID:SFqJ8o2D
>>264
onEnterFrame で毎回setIntarvalを指定しているのが気持ち悪いです。
266Now_loading...774KB:2006/03/10(金) 09:49:03 ID:CihfQUEw
>>264
bar1._width = 10;
this.onEnterFrame = function() {
bar1._width += 10;
if (bar1._width>=400) {
delete this.onEnterFrame;
}
};

でいいんじゃね?
267257:2006/03/10(金) 10:07:47 ID:qY/qUVQp
>258
できました、ありがとう

最後の行は[EOF]だけにする。って聞いたことが有るんですが、
そういうものなんでしょうか?
268264:2006/03/10(金) 10:23:50 ID:AQ/jlQ9y
>>265 毎回setIntarvalを指定しているのが気持ち悪いです。

キモい記述は移動させて解決しました。


>>266
再生スピードの調整が主題なので、そのASはちょっと・・・・
269Now_loading...774KB:2006/03/10(金) 11:16:12 ID:tGa9vYQm
>>259
まず上下に拡大するMCを6個を作る。で、6を5の中の最下に入れる。その5を同じく4の
中に入れる…の繰り返し。それぞれのMCにはマウスオーバーで拡大アニメが再生され、
外れればそのフレームから逆転再生される様にスクリプトを書いておく。
とか、ね。
270Now_loading...774KB:2006/03/10(金) 11:21:51 ID:CihfQUEw
>>268
なるほど再生スピードを変えるんだよね。
こういうのはどう?

movieSpeed = 10;//ムービー全体のスピード
bar1._width = 10;//bar1の横幅初期値
bar1Speed = 2;//bar1の増加値
bar1MaxWidth = 400;//bar1の横幅最大値
function spFunc() {
if (bar1._width>=bar1MaxWidth) {
clearInterval(ID);
} else {
bar1._width += bar1Speed;
}
}
ID = setInterval(spFunc, movieSpeed);
271268:2006/03/10(金) 12:59:00 ID:PkVl8S0g
>>270
ふむふむ。これと、onEnterFrame = function() はどう
組合わせればいいのでしょうか?
272Now_loading...774KB:2006/03/10(金) 13:16:11 ID:lQRGLZzT
ちっとは自分の頭使え
273Now_loading...774KB:2006/03/10(金) 13:22:20 ID:UcO6SNsy
>>271
設定した間隔でspFuncを実行してるんだから
onEnterFrameを使う必要は無いしょ。
274Now_loading...774KB:2006/03/10(金) 15:11:28 ID:jP2qzzeR
FLASH MX2004
でムービーに書き出すと、表示されないレイヤーがいるのですが、
なぜでしょう。。。
275Now_loading...774KB:2006/03/10(金) 15:52:34 ID:hGScC9/d
ガイドとかマスクになってるんじゃない?
276Now_loading...774KB:2006/03/10(金) 19:41:38 ID:7+pl+8hz
教本通りに(おそらく)時計つくったんですが、時間のところに
"undefined"と出てくるんです。
何がいけないんでしょうか・・・。
277276:2006/03/10(金) 19:43:38 ID:7+pl+8hz
かいつまむとこんなです。
this.onEnterFrame = function() {
nowDate = new Date();
v_hour = nowDate.getHours();
v_minute = nowDate.getMinutes();
v_second = nowDate.getSeconds();
hour.text = v_hour;
second.text = v_minute;
minute.text = v_second;
278Now_loading...774KB:2006/03/10(金) 20:04:06 ID:QxeTwgkK
>>276
}で閉じてminuteとsecondを逆にしてから
ほぼそのままコピペして動かしてみたけど再現出来なかったよ
279Now_loading...774KB:2006/03/10(金) 20:24:18 ID:7+pl+8hz
なにげにみすってるw
括弧くくってないのは、重要だと思ったとこだけ抜き出したから見たいです。

もうちょいちゃんと書くと、
this.onEnterFrame = function() {
nowDate = new Date();
v_hour = nowDate.getHours();
v_minute = nowDate.getMinutes();
v_second = nowDate.getSeconds();
v_minute = f_checkDigit(v_minute);
v_second = f_checkDigit(v_second);
hour.text = v_hour;
second.text = v_second;
minute.text = v_minute;
};
function f_checlDigit(num) {
if (num>10) {
newNum = "0"+num;
} else {
newNum = num;
}
return newNum;
}
280Now_loading...774KB:2006/03/10(金) 20:48:20 ID:W0erjkd5
f_checlDigit
281Now_loading...774KB:2006/03/10(金) 21:37:31 ID:7+pl+8hz
すいません。たびたびお邪魔します。
さっきみたいに携帯で動く時計を作ろうと書いたんですけど、Flash4では
いけないみたいになるんです。
どうすればいいんですか?
いちおう、こう書きました。Fla8では動くんですけどf^_^;

282Now_loading...774KB:2006/03/10(金) 21:38:36 ID:7+pl+8hz
this.onEnterFrame = function() {
myToday = new Date();
v_year = myToday.getYear();
v_month = myToday.getMonth();
v_day = myToday.getDay();
v_date = myToday.getDate();
v_hour = myToday.getHours();
v_minute = myToday.getMinutes();
v_second = myToday.getSeconds();
v_week = ["(Sun)", "(Mon)", "(Tue)", "(Wed)", "(Thu)", "(Fri)", "(Sat)"];
myYear.text = v_year;
myMonth.text = v_month;
myDate.text = v_date;
myWeek.text = v_week[v_day];
if (v_hour<10) {
v_hour = "0"+v_hour;
}
myHour.text = v_hour;
if (v_minute<10) {
v_minute = "0"+v_minute;
}
myMinute.text = v_minute;
if (v_second<10) {
v_second = "0"+v_second;
}
mySecond.text = v_second;
};

283Now_loading...774KB:2006/03/10(金) 21:40:25 ID:7+pl+8hz
てか、正確に言うと、年と月はへんちくりんになります^^;
284Now_loading...774KB:2006/03/10(金) 22:11:52 ID:V1p0S+8g
FlashLiteで使える関数を調べなおしてきなさい
285Now_loading...774KB:2006/03/10(金) 23:56:09 ID:TUdWVQBM
BulletML解析のFlash版ライブラリって無いでしょうか?
286Now_loading...774KB:2006/03/11(土) 00:35:25 ID:1W38xOSr

いつも参考にさせて頂いております。

FLASHを製作しているのですが、途中で止まってしまいます。
制御>シーンプレビューで見ると止まらず動いてくれるのですが、
パブリッシュし、html、swfと双方ある一定の場所で
画面が止まってしまいます。
画面が止まった時、音楽やアニメーション(キャラのまばたき)等は
動いているのですが、先へ進まないのです。

どなたか助言お願い出来ますでしょうか?
宜しくお願い致します。

(1)使用ソフト/バージョン:FLASH MX2004
(2)OSのVer: /WinXP /
(3)作品の具体例がある場合はリンク必須
※見て頂けるようでしたらflaファイルアップ致します。
287Now_loading...774KB:2006/03/11(土) 00:37:12 ID:1W38xOSr
上の286です。
書き込む所を間違えました!
すみませんでした!
288Now_loading...774KB:2006/03/11(土) 17:17:34 ID:t/lL4QmU
すいません、質問です。
Bitmapベースのシューティングの制作を考えているのですが、
その場合の処理の流れは、

1. dispose で stage の BitmapData を消去
2. stage に新しく BitmapData を定義
3. 自分、弾、敵の BitmapData を stage の BitmapData へ copyPixels で copy
4. 当たり判定チェック、消去等の処理

という感じでいいんでしょうか?

毎回 dispose でメモリごと消すのが良いのかが良く判らないもので…。
289Now_loading...774KB:2006/03/11(土) 20:04:06 ID:X0ygh0QN
>>288
1枚物のビットマップでやるなら合成用、保持用の2つのビットマップ持っておいて、
キャラや弾が移動した箇所だけgetPixel、setPixelで書き換える方法でもいいんじゃないかな?
速度の検証はちょっとやってみないとわからない。
普通にスプライト感覚でムービークリップ使った方が早いかもしれない。
290Now_loading...774KB:2006/03/11(土) 21:19:10 ID:t/lL4QmU
>>289
なるほど。
試しに3の描画の部分を
自分、弾、敵の MovieClip を生成しておき、
座標移動のみに変えたら bitmapData 書き換えよりも圧倒的に速度が上がりました。

getPixel と setPixels を使った書き換えという方法は
自分の技量では方法が思いつかなかったので試せていません。

当たり判定管理で敵側、自分側の2枚の bitmapData を比較し、
それぞれの描画後に各オブジェクト内で「相手側の bitmap エリアに接触しているか」
で判定を行う事で、当たり判定の軽量化が計れるかと思っていたんですが、
そもそもの描画で重いんじゃ本末転倒ですね…。

この辺難しいです。
291Now_loading...774KB:2006/03/11(土) 23:25:37 ID:F9JmyySV
どのボタンが何回クリックされたか知りたくて、
それぞれのボタンにon(press) でloadMovieでアクセス解析CGIを呼び出してみました。

このアクセス解析CGIは本来はhtml内に<img src="">で呼び出すタイプなので、
loadMovieではjpgも呼び出せるというので、試しにlaodMovieでCGIを呼び出したところ、
一応動いてログもとれました。

強引なやり方だとは思うのですが、このようなやり方をしても問題はないのでしょうか?
他に、長期間に渡ってボタンを押した回数のログをとる方法があればお願いします。
292Now_loading...774KB:2006/03/12(日) 09:47:31 ID:7b7uV2OG
>>290
どんなシューティングゲームを作るのかにもよるけど、
当たり判定エリアは実際の絵よりもかなり小さく設定するのが普通だよ。
絵の内接長方形でも大きすぎるくらいだったりする。
たぶん、長方形同士か、点対長方形の判定で十分だと思う。
293291:2006/03/12(日) 17:51:19 ID:eAa3UYPv
急かして申し訳ありませんがどなたかご存知の方がおられましたら教えてください><
もしかして、javascriptを使って呼び出したほうがいいのでしょうか?
294Now_loading...774KB:2006/03/12(日) 17:55:15 ID:xjfA0M8I
>>293
目的が達成されていて、何が問題なのか分からないんだが。
295Now_loading...774KB:2006/03/12(日) 22:29:39 ID:p/KsknaF
初歩的な質問ではずかしいんだけど
1フレームめのテキスト入力フィールド(変数t1)に
atariと入力されたときだけ
第2フレームへ、それ以外は第3フレームに移動させるにはどうすれば?
296Now_loading...774KB:2006/03/12(日) 22:41:25 ID:B4did4HM
>>293
LoadVars クラスを使うとか?

>>295
ボタンインスタンスに貼り付て。
on(release){
if (t1 == "atari"){
this.gotoAndStop(2);
}else{
this.gotoAndStop(3);
}
}
297295:2006/03/13(月) 00:18:07 ID:AruQ95mF
>>296
サンクス!できたできた。

thisを_rootにしたら動かんかったのだ(謎)
298Now_loading...774KB:2006/03/13(月) 01:33:50 ID:ouTE3xmk
FlashMX2004を使ってインスタンスの色を変化させようとしています(水色→黄色)。

RGBを調べたところ、水色=0,255,255 黄色=255,255,0 なのでcnum = 255という
初期値を使って、onClipEvent (enterFrame) 内でmy_colorオブジェクトに対し

my_color.setRGB((255-cnum)*Math.pow(255, 2)+255*255+cnum);
cnum--;

をさせましたが、インスタンスが緑色やら茶色やらに変化して落ち着きません。
どうしたものでしょうか?
299298:2006/03/13(月) 01:43:34 ID:oPNBgcl6
すみません。
FlashMX2004のカラーパレットを見ると水色→黄色への変化では
緑は必ず通りますね。
でも、茶色のほかに赤色にも変化します。ヒントをお願いします。
300Now_loading...774KB:2006/03/13(月) 01:54:27 ID:4Z+W7Mpk
>>297
謎も何もパスが違うからでしょ。

>>298
setRGB()の中身は16進数で指定するようなので、
初期値を
r = 0; g = 255; b = 255;
として、
r += 4;
b -= 4;
my_color.setRGB(r << 16 | g << 8 | b);
で。
このままだと255超えたり0より小さくなったりするから適当なところで止める。
演算子( << とか | )の意味はヘルプに載ってる。
301298:2006/03/13(月) 02:00:33 ID:xoHtsIY4
>>300
ありがとうございます。試してみますが、その前に寝ます。
おやすみなさい。
302Now_loading...774KB:2006/03/13(月) 02:02:18 ID:4Z+W7Mpk
( ゜ロ゜)え─────────!!
おやすみなさい。
303Now_loading...774KB:2006/03/13(月) 04:36:30 ID:eu9bVE6G
どなたかお願いがあります。
現在Windowsアプリケーション開発中なのですが、FLASHコンポーネントを実装しています。
つまりフリーソフトによくあるFLASH再生ツールのように、ダイアログ上でFLASHを再生する機能を付けています。
そこで、FLASH MXお持ちの方にお願いなのですが、ボタンを押下するとfscommandを外部に発行するような機能を
持ったswfファイルを作成していただけませんでしょうか?
テキストボックスで入力したコマンドと引数が出力されれば最高なのですが、さすがにそこまでは難しいお願いだと思うので、
コマンドと引数はテキトーに固定で結構です、それがつかめるかどうかのテストがしたいだけなのでなんとかお願いできませんでしょうか?

http://www.fumiononaka.com/TechNotes/Flash/FN0110007.html
304Now_loading...774KB:2006/03/13(月) 04:40:11 ID:eu9bVE6G
>>303 の者ですが
http://www.game3rd.com/flash/scripter/fscom.htm
こちらで十分代用できそうでした。どうも失礼しました。
305298:2006/03/13(月) 08:08:45 ID:Vu1Ai/EW
>>300
6:30に起きてWBC見てますw
setRGB(r << 16 | g << 8 | b) は、それぞれのパラメーターを
0〜255内にして水色→黄色への変色が出来ました。

有難うございます。
306Now_loading...774KB:2006/03/13(月) 16:36:05 ID:X5VtDO/h
質問です。
AとBを単純に結合させる
例えばA=45でB=72だとすると4572が出力されるようにしたいのですが。
307Now_loading...774KB:2006/03/13(月) 16:37:52 ID:byDno7ce
>>306
A = 45;
B = 72;
result = String(A)+String(B);
trace(result);
308Now_loading...774KB:2006/03/13(月) 16:50:35 ID:X5VtDO/h
>>370
ありがdクス過ぎ
309Now_loading...774KB:2006/03/13(月) 20:28:30 ID:j2qOZYqO
ソフト=FlashMX2004_ver7,OS=Win98SE

オブジェクトを使った文字列処理の質問です。
まず2つのテキストフィールド(インスタンス名:tx1_obj,tx2_obj 変数名:tx1,
tx2)に例えば12345,54321と入力します。次いで、それぞれの文字列イン
デックスの0と4を抽出し、文字を合体させたもの(つまり、1+5→15,5+1→51)
を表示したく思っています(まずはtrace表示)。

この前段階のオブジェクトを使った文字列処理は下記のASで成功しています
が、自作のfunction(文字の抽出と合体)を用いたASが書けずに困っています。
そこで、アドバイスを願います。

成功したAS(下)はpo番目の文字列を表示するものです。どう細工したら良いで
しょうか?

フレームアクション
tx1_obj = new String();
tx2_obj = new String();

ボタンアクション
on (release) {
tx1_obj = tx1;
tx2_obj = tx2;
t1 = tx1_obj.charAt(po);
t2 = tx2_obj.charAt(po);
trace(["t1,t2= "+t1, t2]);
}
310ilhb:2006/03/13(月) 20:29:29 ID:F9HZaNRO
■■■■■■■■■■■■■■■■
■                     ■  違う板にコピペすると、四角の枠の中に
■                     ■  メッセージとURLが現れる不思議な絵。
■                     ■
■                     ■  (その仕組みがリンク先に書いてある)
■                     ■
■                     ■  
■                     ■  
■■■■■■■■■■■■■■■■
311Now_loading...774KB:2006/03/13(月) 22:06:03 ID:4Z+W7Mpk
>>309
こういうこと?

//t1 テキスト1
//t2 テキスト2
//po 抽出するインデックス
function Hoge(t1, t2, po) {
ret = t1.charAt(po).toString()+t2.charAt(po).toString();
return ret;
}
//例 - 結果 15
trace(Hoge("12345", "54321", 0));
312309:2006/03/14(火) 03:54:51 ID:ylDCjsG2
>>311
有難うございます。でもこれはちょっと違いますね。
今回の目的は、違う対象(オブジェクト)に対して同ーの関数を適用する
ことです。

例えて言うと、習字紙とダンボール紙があったとき、紙の種類は違っても、
それぞれの角と真ん中を切り取り張り合わせるような処理です。
元の質問ならば、12345 と abcde のインデックス0,4を各々取り出し
合体させる(1+5→15とa+b→ab)

これは、狭い意味でのオブジェクト指向のASになるかと思います。
引き続きアドバイスを願います。
313Now_loading...774KB:2006/03/14(火) 04:04:01 ID:jsjU3MV2
縦横30pxの丸MCをattachMovieで0.1秒毎にステージにランダムに配置したものです。
乱数で出力される座標値を重複させないように、for文で重複チェック入れてます。
しかし、配置される丸の数が多くなったとき(例えば1000個)
乱数が重複しない確率が低下し、ムービー再生時環境によってはクラッシュする恐れもでてきますよね。
そうならない為には、どのような方法があるでしょうか?
↓がコードです。。
314Now_loading...774KB:2006/03/14(火) 04:04:45 ID:jsjU3MV2
xMax = 10;
yMax = 10;
wSpn = 30;
hSpn = 30;
Sec = 0.1;
tempArray = new Array();
cnt = 1;
timerID = setInterval(fncmaru, Sec*1000);
function fncmaru() {
  do {
    x = Math.floor(Math.random()*xMax);
    y = Math.floor(Math.random()*yMax);
    temp = String(x)+y;
    Check = false;
    if (cnt > 1) {
      for (i = 1; i < cnt; i++) {
        if (tempArray[i] == temp) {
          Check = true;
          break;
        }
      }
    }
  } while (Check);
  tempArray[cnt] = temp;
  _root.attachMovie("maru", "maruNew"+cnt, cnt);
  _root["maruNew"+cnt]._x = x*wSpn+10;
  _root["maruNew"+cnt]._y = y*hSpn+10;
  cnt++;
  if (cnt > xMax*yMax) {
    clearInterval(timerID);
  }
}
315309&312:2006/03/14(火) 04:46:33 ID:Zocd02Da
すみません。
「これは、狭い意味でのオブジェクト指向のASに・・・ 」などと、知ったかぶり
を書いてしまいました。

訂正します。
316Now_loading...774KB:2006/03/14(火) 05:10:06 ID:cDlwWcaM
>>313
命名ルールを "maruNew"+x+"_"+y ってな感じにして
_root["maruNew"+x+"_"+y] != undefind で存在確認すれば
多少は軽くなるんじゃないかな?

上記の方法で判定回して50*50を試してみたけど
特に処理が重い感じも無くスムーズに動いてくれた
環境 cpu:Pen4 3GHz mem:512MB
317Now_loading...774KB:2006/03/14(火) 05:59:05 ID:jsjU3MV2
>>316
for文使わない分、かなり軽くなりそうです。
アイデア、ありがとうございました!
318Now_loading...774KB:2006/03/14(火) 06:31:18 ID:yCh1Kx2h
>>313
根本的に、やり方が間違ってる。
重複させたくないんなら、最初っから『配置済みドット』からは選ばれないようにすべき。
全体の中からランダムで選んでるから、いちいちチェックしてやり直しが必要になる。
未使用ドットを扱う配列を作って、そこから選ぶようにすればいい。

// ↓こういう感じでナンバリングされたドットを扱うものとする。
// 1 2 3
// 4 5 6
// 7 8 9
// 未使用ドットの配列を作る。
var emptyArray = new Array();
for (var i=0;i<xMax*yMax;i++){ emptyArray[i] = i; }
// 使用済みドットの配列を作る。
var usedArray = new Array();
timerID = setInterval(fncmaru, Sec*1000);
function fncmaru() {
  // 未使用ドットの中から、一つをランダムに選ぶ。
  var index = Math.floor(Math.random()*emptyArray.length);
  var value = emptyArray[index];// これがその具体的なドットの値。
  var tmp = emptyArray.splice(index,1);// 未使用ドット配列から削除。
  usedArray.push(tmp[0]);// 使用済みドット配列へ追加。この値はもうなにも使わないってんなら、この作業も不要。

  var x = (value%xMax);
  var y = (value/xMax);
  _root.attachMovie("maru", "maruNew"+cnt, cnt);
  (以下略)
}

こうすれば、選びなおしなんてことがそもそも不要で、確実に一定時間以内に処理が終わる。
319Now_loading...774KB:2006/03/14(火) 06:34:19 ID:yCh1Kx2h
あ、このコードのままじゃダメだな。
まあいいだろ、考え方さえ伝われば。
320309&312&315:2006/03/14(火) 07:20:20 ID:G3Qk8S9B
Q) 複数の対象に対して同じメソッドで処理を行う

改良したASが出来ましたので、改めて質問します。

2つの文字列 tx1 = "12345"と tx2 = "54321" の po1,po2番目の文字を
抽出して合わせる処理を目標にしています。 関数charMod()で求める出力は
0番目と4番目の組で、1+5→15,5+1→51です。

ボタンアクション
on (release) {
tx1 = "12345";
tx2 = "54321";
function charMod() {
for (i=1; i<=2; i++) {
return (_root["tx"+i].charAt(po1)+_root["tx"+i].charAt(po2));
}
}
t1 = this.charMod(po1, po2);
t2 = this.charMod(po1, po2);
trace(["t1,t2= "+t1, t2]);
}

これだとtraceでは15,15となり、for文が機能せず最初の方しか出ません。
アドバイスを願います。
321Now_loading...774KB:2006/03/14(火) 08:40:24 ID:RVAxkwgk
>>320
関数の定義の仕方と引数、戻り値について勉強しる。
身近にヘルプで勉強できるよ。
322Now_loading...774KB:2006/03/14(火) 08:46:29 ID:CT7vk7Ta
>>320
returnで処理抜けるから2回目というのは実行されない
それ以前に何やりたいかイミフ
323Now_loading...774KB:2006/03/14(火) 10:31:06 ID:P9hvfEqz
>320
t = textPickup(123, 1, 2);
trace(t);
function textPickup(a, i, ii) {
return String(a).charAt(i)+String(a).charAt(ii);
}
324Now_loading...774KB:2006/03/14(火) 14:43:59 ID:NZbBH/pc
>>320
結局>>311でも何が悪いのかよくわからん。
意味が多少違っても理解していればその応用でいけるような。

320が根本的な勘違いか、説明間違いをしてるんじゃないかと思えるのだが大丈夫か?
returnもよく分かって無さそうだし。
一つの関数を作れば、引数の違いでオブジェクトごとの結果をだせるだろ?
それとも、複数のオブジェクトに対してforとかで同一処理をさせる方法がよくわからんてこと?
325Now_loading...774KB:2006/03/14(火) 17:53:04 ID:P9hvfEqz
じゃぁ、一通り載せておきます
for、return、releaseを使ってればいいでしょうか
私も中途半端でいまいちですがどうでしょう?

on (release) {
text1 = "fujikoChun";
text2 = "cyu-sitekure";
trace(textPickup(0, 8));
}
onClipEvent (load) {
function textPickup(a, b) {
ans = new String();
for (i=0; i<2; i++) {
ans += this["text"+(i+1)].charAt(a)+this["text"+(i+1)].charAt(b);
}
return ans;
}
}

汎用性がなくて気持ち悪いけど
326Now_loading...774KB:2006/03/14(火) 19:35:23 ID:wCYrw+Xy
お前が気持ち悪い・・
327320:2006/03/14(火) 20:10:38 ID:sid+r5ja
(309&312&315です)

>>321-325
レス有難うございます。参考にさせて頂きます。
上の自作関数charMod()をfor文で2回実行しているので、t1 = this.charMod(po1, po2);
と t2 = this.charMod(po1, po2); は不要ですね。失礼しました。

そもそもは、Javaのアルゴリズムのように、同じ道具で(関数で)違う対象(オブジェクト)
を処理できないものか?と思ったのが発端でした。 今回の例ではそこまでは必要無い
ようですので、次回改めて質問します。
328Now_loading...774KB:2006/03/14(火) 20:56:51 ID:fKn4RzGP
久しぶりに危険な香りがする・・・
329Now_loading...774KB:2006/03/14(火) 21:05:23 ID:PkCCJreo
本人の思いこみが強いと危険だな…

>>327
> 同じ道具で(関数で)違う対象(オブジェクト)
> を処理できないものか?と思ったのが発端でした。

一応言っとくと、できる。つか、これまでに出てた例でもちゃんとできてます。
それが違うのだとしたら、使ってる言葉や指している対象がここにいる人たちと違う。
330Now_loading...774KB:2006/03/15(水) 01:06:57 ID:zewspbd8
>>327
JAVAがかじりでもかけるんなら、
AS2方向で作った方が楽だと思うけれど。。
331320&327:2006/03/15(水) 07:49:02 ID:WvqEwmGR
度々ご指摘有難うございます。

AS2.0の例文(例AS)を書いた本でお勧めのものはありますか?
(特にCLASSの利用方法について)
332Now_loading...774KB:2006/03/15(水) 08:57:46 ID:Gxz6w8ib
>331 AtionScript2.0入門完全ガイド+実践サンプル
AS1と2の基礎が載ってるからASに不慣れな人にも良いと思います。
CLASSを使うのがAS2なんで、どう書くか理解できます。

>同じ道具で(関数で)違う対象(オブジェクト)を処理できないものか?
結局この部分は、JAVAとASじゃ言葉の指す意味が違うの?
333Now_loading...774KB:2006/03/15(水) 10:54:06 ID:ZT5T97ck
はじめてASを触る人間は
Design BIBLE FLASH制作工房~ActionScriptで作る演出~ Design Bible
よりも
FLASH ActionScript 2.0入門完全ガイド+実践サンプル集 [CD-ROM付]
の方がいいですか?
334Now_loading...774KB:2006/03/15(水) 11:32:42 ID:eTEpBr7Z
初めて覚えるなら、一冊に絞らず最低2冊は買った方が良いよ。

一冊で分からない場合もう一冊で調べたりすると、理解が早くなる。
335Now_loading...774KB:2006/03/15(水) 12:19:45 ID:Gxz6w8ib
>333
あ、>331向けのコメントに意識が向いてたからちょいと説明が足りんかった
「他のスクリプトをやっているなら、
>AS1と2の基礎が載ってるからASに不慣れな人にも良いと思います。 」
ってことで。あくまでもAS2.0をどう使うかって事がメインです。

AS2.0を学ぶわけじゃないなら、他の本のが良いです。
336Now_loading...774KB:2006/03/15(水) 12:24:16 ID:Gxz6w8ib
AS2.0のことなら、まずhelpの「ActionScript 2.0 の学習」を読むといいです
flash8以外で載ってるかはしらないけど。
337Now_loading...774KB:2006/03/15(水) 13:04:49 ID:ANNq/j8Q
アクションスクリプトの初心者です。
ルートタイムライン上でdomain()を使って「swfファイルが、設置したサーバー上
からきちんと再生されてるか」を判定、trueだった場合・falseだった場合で、
それぞれ別々のラベルのタイムラインへ移動するスクリプトを書きました。

ですが、swfファイルが右クリックで早送りや巻戻しをされてしまうと困るので、
現在は、その一連の動きをムービークリップにまるごと入れることで、早送りや
巻戻しされた場合に対応しています。

この方法で問題あるでしょうか?
また、わざわざムービークリップで包まなくても、早送り・巻戻しされた場合に対
応できる記述があったら教えていただきたいのですが…
よろしくお願いします。
338Now_loading...774KB:2006/03/15(水) 13:14:21 ID:eTEpBr7Z
>>337
Stage.showMenu = false
339Now_loading...774KB:2006/03/15(水) 13:19:55 ID:ANNq/j8Q
>>338
あぁ、そんな簡単な方法が…
ありがとうございました。
340Now_loading...774KB:2006/03/15(水) 13:22:05 ID:UVh5nU0r
>>337
this.onLoad = function(){
domain();
}
とか
Stage.showMenu = false;
とか
menuView = new ContextMenu ();
menuView.builtInItems.forward_back = false;
menuView.builtInItems.rewind = false;
_root.menu = menuView;
的なこと?
341Now_loading...774KB:2006/03/15(水) 13:45:23 ID:8dBOKDnr
時間を取得して午前はa、午後はbのムービーを表示させたいのですが
各ラベルへ飛んで最初の1フレームは表示するのですが続きのフレームが表示されません。
なにか根本的に間違ってますでしょうか?

if ( nHour < 12 ) { gotoAndPlay("a") ; }
else { gotoAndStop("b"); }
342Now_loading...774KB:2006/03/15(水) 13:55:36 ID:UVh5nU0r
gotoAndPlay("b");
343Now_loading...774KB:2006/03/15(水) 14:04:20 ID:8dBOKDnr
すみません変化なしです

if ( nHour < 12 ) { gotoAndPlay("a") ; }
else { gotoAndPlay("b"); }
344Now_loading...774KB:2006/03/15(水) 14:09:21 ID:uzIrkFCI
>>341=343
まだその続きが読み込まれてないんじゃないの?
345Now_loading...774KB:2006/03/15(水) 14:14:17 ID:8dBOKDnr
いえAS消してムービーだけでテストすると最終フレームまで表示されるんです
恐らく連続して各ラベルの「最初のフレームに飛ぶ」を繰り返してる状態だと思うんですけど
どうしたらいいのか分からんのです
346Now_loading...774KB:2006/03/15(水) 14:21:34 ID:mxN06v8r
>>337
その方法がベストです。
ダウンロードされてオフィシャルでないフラッシュプレイヤーでプレイされることもありますから。
347Now_loading...774KB:2006/03/15(水) 14:23:20 ID:mxN06v8r
>>341
全く関係ないかもしれませんが、Flash5以降では
this.gotoAnd〜
とした方が良いです。
348Now_loading...774KB:2006/03/15(水) 14:23:46 ID:ANNq/j8Q
>>340
そうそう、今調べていたんですけど、いろいろメニュー表示設定できるん
ですね。ご返答どうもありがとうございます。
さすが物凄い勢いで解答してくれるスレw
349Now_loading...774KB:2006/03/15(水) 14:27:12 ID:mxN06v8r
あ、ローカル再生禁止しているわけね。
>>346 は無しで。
350Now_loading...774KB:2006/03/15(水) 14:27:21 ID:ANNq/j8Q
連続書き込みすいません。348です。
>>346
そうなんですか。あぁ、そんな穴もあるんですね。
勉強になります。ありがとうございます。
351Now_loading...774KB:2006/03/15(水) 14:33:38 ID:8dBOKDnr
すみません全部書かせていただきます

week = new Array("日","月","火","水","木","金","土")
this.onEnterFrame = function(){
var nDate = new Date();
var nMonth = nDate.getMonth()+1;
var nDay = nDate.getDate();
var nWeek = week[nDate.getDay()];
var nHour = nDate.getHours();
var nMinutes = nDate.getMinutes();
var nSeconds = nDate.getSeconds();

tTime.text = ""; //テキスト内を空に

// 月
tTime.text += nMonth+"/";

// 日
if ( nDay < 10 ){
tTime.text += "0"+nDay+":";
}else{
tTime.text += nDay;
}

//曜日
tTime.text += "("+nWeek+")";
352Now_loading...774KB:2006/03/15(水) 14:33:43 ID:8dBOKDnr
// 時
if ( nHour < 12 ) { this.gotoAndPlay("a") ; }
else { this.gotoAndPlay("b"); }

if ( nHour < 10 ){
tTime.text += "0"+nHour+":";
}else{
tTime.text += nHour+":";
}

// 分
if ( nMinutes < 10 ){
tTime.text += "0"+nMinutes+":";
}else{
tTime.text += nMinutes+":";
}

// 秒
if ( nSeconds < 10 ){
tTime.text += "0"+nSeconds;
}else{
tTime.text += nSeconds;
}

}
353Now_loading...774KB:2006/03/15(水) 14:49:26 ID:Gxz6w8ib
>343
this.onEnterFrame = function()
で全部くくってるから。
いつチェックするか条件をつければいいんじゃない?
全部よみこんでから1回だけ実行するようにするとか。
354Now_loading...774KB:2006/03/15(水) 14:56:14 ID:8dBOKDnr
>353
知識が無いので実際にどう記述したらいいのかわかりませんが
なんとなく言われてることはわかるような気がしますありがとうございました
355Now_loading...774KB:2006/03/15(水) 15:09:21 ID:Gxz6w8ib
tTime.textの部分だけonEnterFrameでかこって閉じて、
00分00秒のときにアニメのチェックをさせる
this.onEnterFrame = function(){

if ( nMinutes == 0 && nSeconds==0 ){
this.anime();
}
}
//アニメーション
function anime(){
// 時
if ( nHour < 12 ) { this.gotoAndPlay("a") ; }
else { this.gotoAndPlay("b"); }
}

条件付けが甘いけどこんなかんじで。
356Now_loading...774KB:2006/03/15(水) 17:19:13 ID:eYGDtx2H
質問です。
ムービークリップ「MC1」をattachMovieで生成します。
生成したMC1の中には

pushkey = new Object();
pushkey.onKeyDown = function(){
   this["f"+Key.getCode()]();
}
Key.addListener(pushkey);
function f40(){
   trace("check");
}
というようにキーボードの↓(コード40)を押すとf40という関数が実行するように記述しています。
しかし実際に↓キーを押しても反応は無くonKeyDownの中でtraceを色々置いてみた所
this["f"+Key.getCode()] は「undefined」 Key.getCode()は「40」となり、
_parent.MC1["f"+Key.getCode()]()、_root.MC1["f"+Key.getCode()]()も「undefined」
となりますがこの二つだとf40の中の「check」は出てきます。

ifを使ってgetCode()で分岐させて実行する手もあるのですがどうしてthisで動かないのかが分かりません。
そういう仕様なんでしょうか?御教授お願いします。

使用ソフト FLASH MX2004
使用OS  Windows XP HE
357Now_loading...774KB:2006/03/15(水) 18:51:20 ID:UVh5nU0r
>>356
おれも昔まよった。
なんか相対パスだと動かないんだよね。
とりあえず動くからいつも絶対パスにしてる。

pushkey = new Object();
pushkey.onKeyDown = function() {
_root.MC1["f"+Key.getCode()]();
};
Key.addListener(pushkey);
function f40() {
trace("check");
}
358Now_loading...774KB:2006/03/15(水) 19:22:16 ID:4klfAtN0
FlashでHTTPS通信するときはScriptがどうこうじゃなくて
SWF自体をHTTPSでアクセスすればOK?
359Now_loading...774KB:2006/03/15(水) 19:32:57 ID:dlcikidu
バスケットのフリースローのミニゲームを作っているのですが、ボード、リングとの接触時に時々ボールがボード、リングに張り付きます。
どうも、速いスピードでぶつけたときのほうがそんな状態が発生しやすいようです。

(ボールのMCに)
if(this.hitTest(_root.board)){
dx = dx * -0.6;
dy = dy * 0.6;
}

このように記述しているのですが、何か問題はあるでしょうか?
360Now_loading...774KB:2006/03/15(水) 19:49:15 ID:792dN54I
重なったときに重ならなくなる場所lまで移動させればいい
361Now_loading...774KB:2006/03/15(水) 20:02:40 ID:eYGDtx2H
>>357
なるほど、仕様っぽいですね。レスありがとうございました。
絶対パスとifを上手く使ってやっていこうと思います。

>>359
その計算だと例えば10ピクセルずつ移動していて、10ピクセル重なれば次のフレームで反対方向へ6ピクセルしか動かないので
また重なっていると判定が行われdxとdyに0.6がかけられ、どんどん絶対値が小さくなるので結果止まってるように見えるのでしょう。
適当にスイッチ用の変数を使って当たり判定は1度しか行われない、または数フレーム置いてまた当たり判定が行われる状態に戻るようにすればいいと思います。
362Now_loading...774KB:2006/03/15(水) 20:24:55 ID:Om4Z6hOU
>>356-357
× function f40(){
○ pushkey.f40 = function(){
ちゃんと呼び出す関数をオブジェクトのメンバに加えてあげなくちゃ。
363Now_loading...774KB:2006/03/15(水) 20:33:13 ID:K68fxIjA
>>358
ok
364359:2006/03/15(水) 22:55:45 ID:dlcikidu
上手く行きました。
ありがとうございました。
365Now_loading...774KB:2006/03/16(木) 02:01:47 ID:SCYTTIwP
FlashMX2004を使って多次元配列を作製し、複数の文章中のある文字
の位置を行列の形で格納しようとしてます。

多次元配列poの宣言は、フレームアクションで(つまり、swf開始時に)
po = new Array();  ←文章1,文章2,文章3・・・格納用
po[txt] = new Array();
po[txt][gyou] = new Array(); ←要素[txt][gyou][retu]が作製された?

で良いのでしょうか? また多次元配列の作製は、配列に配列を拡張する
ような手順になりますが、po[0]とpo[0][0][0]は別の物として扱って良い
のでしょうか?
366Now_loading...774KB:2006/03/16(木) 08:51:20 ID:M0CIRF1t
>>365
それでOK.

ただ3次元以上の多次元配列は可読性が落ちるので、
まずクラスで実装できないか考えた方がベター。
367365:2006/03/16(木) 09:30:00 ID:kKLq2Wz9
>>366
Thxです。
上の質問は具体性に欠けていますので、実際のASで改めて質問します。
(ソフトはFlashMX2004)

メインタイムライン(フレームアクション)
po = new Array();
po[txt] = new Array();
po[txt][gyou] = new Array();

ボタンアクション
on (release) {
txt = 0;
gyou = 0;
retu = 0;
for (idx=0; idx<100; idx++) {
po[txt][gyou][retu] = idx;//0〜99を配列に代入
retu++;
trace("要素= "+po[txt][gyou][retu]);
trace(["gyou, retu= "+gyou, retu]);
}
}

上記のASで多次元配列(3次元配列)の作製を目指し、実行しましたが
 要素=
 gyou, retu= 0,3

のようにretuはカウントされますが、行列の要素は空の状態です。
間違いをご指摘下さい。
また、配列をクラスで実装する手順が(ググりましたが)分かりません。
こちらもお願いします。
368Now_loading...774KB:2006/03/16(木) 09:58:24 ID:pAPzneNh
>>367
po = new Array();
for (txt=0; txt<1; txt++) {
po[txt] = new Array();
for (gyou=0; gyou<5; gyou++) {
po[txt][gyou] = new Array();
for (retu=0; retu<10; retu++) {
//0〜9を配列に代入
po[txt][gyou][retu] = retu;
trace("要素= "+po[txt][gyou][retu]);
}
}
}
369Now_loading...774KB:2006/03/16(木) 12:36:07 ID:045FV42L
変数を演算子として使うことはできるでしょうか?flash8を使ってます。

a=10;
b=20;
sign = <;
trace(a sign b);

無理でしたら、演算子を切り替えるのによい方法があれば教えてください。
不等号を逆に出来れば助かります。よろしくお願いします。
370Now_loading...774KB:2006/03/16(木) 12:43:25 ID:pAPzneNh
>>369
演算子を切り替える条件で普通にif文書けばいいんじゃね?
371Now_loading...774KB:2006/03/16(木) 14:17:11 ID:PPJO7TRi
>>362
なるほど!関数の定義について不勉強でした。ありがとうございました。
372365&367:2006/03/16(木) 15:40:15 ID:XLbCI5OG
>>368
なるほど、for文の度に配列を拡張するのね。
373Now_loading...774KB:2006/03/16(木) 16:35:35 ID:RhhKmKPC
[Comp.as}
class Comp{
static function lessThan(a, b){
return a < b;
};
static function greaterThan(a, b){
return a > b;
};
static function equal(a, b){
return a == b;
};
}

[flaの中]
hikaku = new Array();
hikaku[0] = Comp.lessThan;
hikaku[1] = Comp.greaterThan;
hikaku[2] = Comp.equal;

a = 10;
b = 20;

for(i = 0; i < 3; i++){
trace(hikaku[i](a, b));
}

比較するための条件が多すぎてifで管理しきれないなら、
比較用の関数を用意しておいて、それを配列や変数にコピーして使うとか。
374Now_loading...774KB:2006/03/16(木) 16:36:36 ID:RhhKmKPC
失礼、>>373のは>>369へのレスね。
375Now_loading...774KB:2006/03/16(木) 17:08:52 ID:mMVD71I7
MX2004を使っています。
ActionScript でムービークリップに色をつけるにはどうしたらいいでしょうか?
オーサリング環境だと「プロパティ」の「カラー」で「着色」を選ぶ感じです。

試しにルートのタイムラインに mcmc というムービークリップをつくって、
ルートのフレームに
mcmc.beginFill(0xFF0000, 100);
mcmc.endFill()
と書いてもダメでした。

教えてください。
376375:2006/03/16(木) 17:22:18 ID:mMVD71I7
若干近づいたのですが

mcmc.onLoad = function() {
my_color = new Color(this);
my_color.setRGB(0xFF0000);
}

としても変わってくれません。
onLoad じゃなくて onPress にすると、
クリックしたら色変わってくれたので
中身は合ってるように思えるのですが。。。
377Now_loading...774KB:2006/03/16(木) 19:44:06 ID:mn0xN0mq
MX2004ならsetTransform 8はColorTransform class
378Now_loading...774KB:2006/03/16(木) 20:18:44 ID:bSR+L9LG
>>376
MovieClip.onLoadはライブラリ内のシンボルにリンクされるクラスに
記述されていなければ呼び出されません
379Now_loading...774KB:2006/03/17(金) 15:51:28 ID:PR3GtjkD
ソフト=FlashMX2004 
3次元配列の要素を参照する際のトラブルで質問です。for文で

freq_val[ab][gyou][retu] = parseFloat(this["tx"+ab].substring(idx-5, idx+5));
trace(["ab, gyou, retu= "+ab, gyou, retu]);
trace("要素= "+freq_val[ab][gyou][retu]);
trace("freq_val[0][0][0]= "+freq_val[0][0][0]);
retu++;

を実行した時、最初の(ab, gyou, retu= 0,0,0 の)中身は、traceにより

ab, gyou, retu= 0,0,0
要素= 452.0775   ←※
freq_val[0][0][0]= 452.0775 ←※

と、一致して正しいのですが、2回目以降で同じ ab, gyou, retu= 0,0,0 を
参照すると

ab, gyou, retu= 0,0,1
要素= 1430.3091
freq_val[0][0][0]= undefined
 ・
 ・
 ・
freq_val[0][0][0]= undefined

というように、452.0775という実数がundefinedになります。
原因は何でしょうか?
なお、配列の作製にはクラス実装は使わず、freq_val[ab][gyou] = new Array();
の方法で配列を拡張しました。
380Now_loading...774KB:2006/03/17(金) 16:09:56 ID:y9wD3vFR
なんでオブジェクト使わないの?
381Now_loading...774KB:2006/03/17(金) 16:45:15 ID:O8qs3aRW
>>379
よく分かんないけど、>>379に書いている部分以外なんか間違いがあるんじゃないの。

後、2行目は読みづらいので、以下のようにしたほうがいい。
trace("ab, gyou, retu= " + [ab, gyou, retu]);
382Now_loading...774KB:2006/03/17(金) 16:53:41 ID:bpOZkLVp
おそらく>>379の外側の部分の問題だね。
たぶん、

for(var ab=0;ab<max_hoge;ab++){
 for(var gyou=0;gyou<max_mona;gyou++){
  for(var retu=0;retu<max_giko;retu++){
   freq_val[ab][gyou] = new Array();
   >>379のコード
  }
 }
}

ってなってるんじゃない?
これだと最内のループを回るごとに、newArray()によってデータが初期化されちゃうから。
もしそうなってるんなら、

for(var ab=0;ab<max_hoge;ab++){
 for(var gyou=0;gyou<max_mona;gyou++){
  freq_val[ab][gyou] = new Array();
  for(var retu=0;retu<max_giko;retu++){
   >>379のコード
  }
 }
}

こうするように。
383379:2006/03/17(金) 19:45:43 ID:VROZOaQl
レス有難うございます。
>>381
この記述では
  ')' または ',' が必要です。trace("ab, gyou, retu= " + [ab, gyou, retu]);
というメッセージが現れました。どこに付けたら良いでしょうか?

>>382 
この方法で
freq_val = new Array();
for(var ab=0;ab<max_hoge;ab++){
 freq_val[ab] = new Array();
 for(var gyou=0;gyou<max_mona;gyou++){
  freq_val[ab][gyou] = new Array();
  for(var retu=0;retu<max_giko;retu++){
   >>379のコード

では、全ての 要素= と freq_val[0][0][0]= でundefinedになります。一方

freq_val = new Array();
for(var ab=0;ab<max_hoge;ab++){
 for(var gyou=0;gyou<max_mona;gyou++){
  freq_val[ab] = new Array();
  freq_val[ab][gyou] = new Array();
  for(var retu=0;retu<max_giko;retu++){
   >>379のコード

ならば、freq_val[0][0][0]= 452.0775が繰り返し出るのですが、
trace("要素= "+freq_val[ab][gyou][retu]); は、gyouが+1された時から全て
undefinedになります。

ご指摘のように、>>379の記述以外に問題があると思っていますが、原因の箇所が
分かりません →目下探索中です。
384Now_loading...774KB:2006/03/17(金) 20:18:31 ID:O8qs3aRW
>>382
trace("ab, gyou, retu = " + [ab, gyou, retu]);
もしくは、
trace("ab, gyou, retu = " + ab + ", " + gyou + ", " + retu);

>gyouが+1された時から全てundefinedになります。
そりゃそうだ。
385Now_loading...774KB:2006/03/17(金) 20:24:12 ID:O8qs3aRW
上のは、アンカー間違えた>>383あて

多分やりたい事は以下のようなことなんだろうけど、
自分のプログラムの何が間違っていたのかを自分で見つけて理解しないと、また同じ所で引っ掛かるよ。

var max_hoge:Number = 10;
var max_mona:Number = 10;
var max_giko:Number = 10;
//1次元目を初期化
var freq_val :Array = new Array();
for (var ab:Number = 0; ab<max_hoge; ab++) {
//2次元目を初期化
freq_val[ab] = new Array();
for (var gyou:Number = 0; gyou<max_mona; gyou++) {
//3次元目を初期化
freq_val[ab][gyou] = new Array();
for (var retu:Number = 0; retu<max_giko; retu++) {
//値を代入
freq_val[ab][gyou][retu] = ab + ", " + gyou + ", " + retu + "の値";
//デバッグ
trace("ab, gyou, retu = " + ab + ", " + gyou + ", " + retu);
trace("要素= "+freq_val[ab][gyou][retu]);
trace("freq_val[0][0][0]= "+freq_val[0][0][0]);
}
}
}
386379&383:2006/03/18(土) 01:13:31 ID:Cl4QRA7Q
>>385
Thxです。このレスはZZ-Topの曲を聴きながら書いています。

基本の形は分かりましたが、現在のASへの適用で苦労しております。
進捗があり次第、報告します。
387?:2006/03/18(土) 10:36:12 ID:SmaZDDQ7
質問を
フラ板かDreamweaverスレにすべきか迷ったので両方に質問させていただきました。


フラ2004でつくったボタン(swfファイル)を
DreamweaverMx2004上のフレーム挿入し、それのボタンを押すことでリンク画像を
分割した隣のフレームに表示させたいのです。
Dreamweaver内でのリンク先設定は「ターゲット」で指定出来るのですが、
フラッシュのアクションスクリプトをボタンに仕込む時
どういうスクリプトを仕込むべきかわかりません。(スクリプト初心者です)
on(release){
getURL("〜.html","cont");
}
と、フラッシュ側でやれば、新規のブラウザ表示をさせられるのですが、
リンクの表示先を、Dreamweaver上の特定フレーム上に表示させる方法が知りたいのです。
シンプルなHTMLではなく、Dreamweaver上のことなので上手くターゲットを指定できません。
よろしくお願いします。
388Now_loading...774KB:2006/03/18(土) 12:18:01 ID:48KxmtKF
ラーメンを食べたかったんだけど、
どの店がいいかわからなかったので、
市内のお店全部に出前を頼みました。
「来来軒」のラーメンが食べたいラーメンだったので、
ほかの出前は持って帰ってくれといいました。
みんな騒ぎ出しましたがよく分かりませんw

>387の日記より
389Now_loading...774KB:2006/03/18(土) 12:21:54 ID:0Lbn5gjU
ASでムービークリップを縦横だけじゃなく、
自由変形させる事って出来るんでしょうか?
390Now_loading...774KB:2006/03/18(土) 12:36:44 ID:48KxmtKF
>387
on(release){ getURL("〜.html","フレーム名");}
391379&383:2006/03/18(土) 14:23:41 ID:xM4ZTOus
(3次元配列の要素の参照)

うまくいきました。有難うございます。
392Now_loading...774KB:2006/03/18(土) 17:09:33 ID:IuFF2xYl
upload() メソッドについて質問します。
リファレンスの説明には、

> URL にパラメータを追加することにより、upload() 呼び出しを使ってサーバーにデータを送信できます
> (たとえば、http://www.myserver.com/upload.cgi?userID=jdoe)。

と書かれていますが、このように upload() メソッドを使ってファイルと変数を同時にサーバに送った場合、 cgi を呼び出した場合 userID の内容 "jdoe" はどのように読み出せばいいのでしょうか?

php で受け取ろうとした場合、

$_FILES['Filedata']['name']
$_FILES['Filedata']['size']

などのファイルに関するデータは読み取れるのですが、追加したパラメータは

$_FILES['useID']
$_POST['userID']

などと記述してみても変数の内容を読み出すことができませんでした。

upload() メソッドを利用してファイルとその他の変数を同時にサーバに送信するにはどのようにすればいいのでしょうか?
よろしくお願いします。
393387:2006/03/18(土) 17:35:17 ID:Qb6Y4QjR
389さま
できました。ありがとうございました。
394Now_loading...774KB:2006/03/18(土) 19:29:04 ID:48KxmtKF
>387
で、結局マルチして他は放置か
解決したならレスつけとけ
それと、もう二度とマルチすんなよ
395Now_loading...774KB:2006/03/18(土) 20:59:53 ID:xBfm9YBz
質問させてください
あるアクションのゲームを作っていてプレイヤーがAキーを押すと攻撃します
ゲームの方は問題なく、効果音をつけていこうと思いライブラリにmp3ファイルを読み込んでリンケージに書き出し、以下のように書きました
this.createEmptyMovieClip("msc1", 20);
SE1 = new Sound(msc1);
SE1.attachSound("SE1");
//check
SE1.start()
読み込んだかチェックするように再生してみた所、再生できているのですが
プレイヤーとなっているMCの中で
this.onEnterFrame = function(){
if(Key.isDown(65)){
_root.SE1.start();
他の動作
}
}
としたのですが効果音が再生されません。MCの中からは再生できないのでしょうか?
御教授くださいorz
396Now_loading...774KB:2006/03/19(日) 00:09:03 ID:yxl+Etd6
>>392
$_GET['userID'] は?

>>395
そのASでちゃんと再生されたけど。
397392:2006/03/19(日) 03:34:22 ID:choHGK4m
>>396
ご指摘の通り
$_GET['userID']
を試してみたら解決しました。ありがとうございました。
398Now_loading...774KB:2006/03/19(日) 05:22:53 ID:0JgsP+ac
円“○”を徐々に拡大させるMCを作りたいのですが
MCの_xscale,_yscaleを拡大させると、線も同時に太くなってしまいます。
線の太さが一定のまま円を拡大させる方法を教えてください。
(極細線で円を作ると線の太さは変わりませんが、極細線より太い線にしたいのです)
お願いします。OSはXPでMX2004です。
399Now_loading...774KB:2006/03/19(日) 06:13:46 ID:FxjiBrsg
400Now_loading...774KB:2006/03/19(日) 06:55:03 ID:0JgsP+ac
>>399
うあー。むずかしそう。それに重そうな気も。
(すばやくたくさん出したいので・・・)
もっと簡単にできる方法ないでしょうか?
401Now_loading...774KB:2006/03/19(日) 06:57:16 ID:FxjiBrsg
>>400
drawOvalを引数付けて呼ぶだけなのだが、、、
402Now_loading...774KB:2006/03/19(日) 07:44:06 ID:n0ejxtNO
asのことじゃないけどシェイプトゥイーンだっけ?
それ使えばいいんじゃないですか?
403Now_loading...774KB:2006/03/19(日) 10:02:21 ID:TESW9ST5
スクリプトの基本を全て教えろ
404Now_loading...774KB:2006/03/19(日) 10:07:07 ID:s9NzHwp5
マスクってどうやって使うの?
405Now_loading...774KB:2006/03/19(日) 10:36:22 ID:EHKDuhdh
>>404
setMask
406Now_loading...774KB:2006/03/19(日) 12:13:12 ID:fBDGTgTx
>>396
そうですかorz
どこかしら自分がミスしているようなのでもう一度スクリプト見直してきます
失礼しました
407Now_loading...774KB:2006/03/19(日) 18:29:00 ID:cWyxGSPf
外部データー(SWF)を読み込むやり方なんですが、
ボタンに
on (release) {
loadMovie ("読み込みたいデータ.swf", "ターゲットのインスタンス名");
}

このようにして。

本の通りにやっているのですが、読み込むには読み込むのですが
ターゲット枠から離れた場所に読み込んでるんですよ;;
同じ様になった方、もしくは詳しい方!
解決法をお願いします。
4087743号室(仮) ◆oibBs91wWQ :2006/03/19(日) 18:52:39 ID:M8wtNDpL
>>407
ターゲットのMCの中心点を左上にしてみたら良いかと思われ。
409Now_loading...774KB:2006/03/19(日) 20:03:31 ID:cWyxGSPf
407
お返事ありがとうございます。
直りませんでした;;
410Now_loading...774KB:2006/03/19(日) 20:34:38 ID:FxjiBrsg
>>409
適当なjpgファイルをロードしてみてもずれるようなら、MCの位置が悪いのかも。
411Now_loading...774KB:2006/03/19(日) 21:11:58 ID:fxaGPCGA
ものすごく、初歩的な質問で申し訳ないのですが、

MCのx方向の長さ、y方向の長さを表すにはどうしたらよいのでしょうか?

_xと_yでx座標とy座標を表す、みたいな感じで。
412Now_loading...774KB:2006/03/19(日) 21:20:40 ID:m4mbu8sD
MC._width
MC._height
413411:2006/03/19(日) 21:24:59 ID:fxaGPCGA
>>412
ありがとうございます。
414Now_loading...774KB:2006/03/19(日) 22:54:50 ID:cWyxGSPf
407です。
>>410
親切に教えていただいてありがたいのですが。
位置が悪いというのは・・・えっと・・・どうゆうことなんでしょうか?
415Now_loading...774KB:2006/03/19(日) 23:30:59 ID:3WahO1vm
mx2004を使っています。
音を読み込んで使っても音が小さくて聞こえません。
調べてみたらasじゃないともとの大きさよりボリュームを大きくすることはできないみたいですが、
ttp://ft-lab.ne.jp/cgi-bin/wiki.cgi?page=%B2%BB%A4%F2%BD%D0%A4%B9_Flash
にある//サウンド用オブジェクトの生成
m_se01 = new Sound();

などは1フレーム目に書いていいのでしょうか?
それとサウンド用のオブジェクトを生成」がよくわからないんですが、サウンドを入れたmcを作るってことですか?
416Now_loading...774KB:2006/03/20(月) 00:13:30 ID:4zWEMwkl
>>414
最低限の事は、勉強してから来いよ
417Now_loading...774KB:2006/03/20(月) 00:39:12 ID:1EvMF9dg
物が落下するときや、ぴょんってはねる様な動きを簡単に実現する方法ありますか?
MCを手でいじって座標を決めるより、AS使って計算結果使ったほうがソレっぽい動きになると思うのですが。
わざわざenterframeとかで制御するのが手間です。
なにか簡単にできる知恵ありますでしょうか?
MX2004使っています。
418Now_loading...774KB:2006/03/20(月) 00:50:50 ID:STzORwZN
>>415
1フレーム目で問題なし
要はm_se01をサウンドオブジェクトにしてそこにattachSoundでサウンドを生成してるの

>>417
enterframeで制御しないでASをいじろうという考え方が間違い
419Now_loading...774KB:2006/03/20(月) 00:53:09 ID:jrhigJbb
>>417
単純に一連の動作をclass化なりカプセル関数化するなりして、
設定情報書くだけで動作するようにするのが普通だけど、
君じゃまだmズ浮かしいかも…。(ごめんね)

まずはもう少し勉強してみてはどうですか?
420Now_loading...774KB:2006/03/20(月) 00:58:41 ID:gKiYz9G3
>417
コンポーネントを作る。
重力、跳ね返りとかプロパティを設定して、
数値を入力出来るようにする。
どっかのサイトに落ちてるかもな。

あとな、「わざわざ」ってのは否定的な言葉
人に聞くときにはつかうんじゃねーよ、ボケ
421Now_loading...774KB:2006/03/20(月) 01:09:04 ID:1SVCQFKu
>>417
class化してsetIntervalだな。
物の落下や落下時の跳ね返り等は物理学の基礎であってプログラムにおいても座標制御の基礎。
その程度で質問しているようでは・・・この先微妙。

それ以前に>>1の約束もまともに守れないので論外。
422Now_loading...774KB:2006/03/20(月) 02:28:27 ID:1EvMF9dg
返信ありがとう。
>>418-421
普通のプログラムみたいにASを使うことはできるんだけど
なんかFLASHっぽい特有のテクニックないかな、とか思って聞いてみました。
普通に正攻法でいきます。
>>420
ttp://www014.upp.so-net.ne.jp/nbunka/4ga.htm
ここはASのスレで日本語は関係ないけどとりあえず勉強してみて。
>>421
ASの質問としてはちょっとズレてましたね。
気をつけます。
423Now_loading...774KB:2006/03/20(月) 04:38:37 ID:WhXUEaE7
動的なカスタムクラスのインスタンスを作るにはどうしたらいいでしょうか。
どなたか教えてください。下のようなコード試しましたが駄目でした。

var className:String = "myClass";
var instance = eval("new " + className + "()");
424Now_loading...774KB:2006/03/20(月) 04:40:08 ID:grK8Tpae
clickflg = false;
if ( clickflg = true ){
 trace('ok');
}

これを実行すると思いっきりOKってなるんですが
なぜですか?
425Now_loading...774KB:2006/03/20(月) 05:21:15 ID:CCpVPWwd
>424
clickflg == true
426Now_loading...774KB:2006/03/20(月) 05:23:41 ID:CCpVPWwd
>423
なんでそんな事がやりたいのかが気になる。。
427Now_loading...774KB:2006/03/20(月) 05:24:22 ID:Myw85LCQ
>>423
var instance = new (eval(className))();
428Now_loading...774KB:2006/03/20(月) 12:26:18 ID:gKiYz9G3
>422
あのなぁ、使う場面を考えろっていってんだよボケ
わざわざ○○するのは大変ってのは、○○の愚痴を言ってるわけだろ?
人に頼むときに愚痴をいってんじゃねーよ
しかも質問内容が漠然とした何も考えてない雰囲気を出しているから、
なおさら、こいつ使えねぇ人間か?。って判断されまともに相手にされない。
主旨がFlashの技巧を知りたいってわけだろ?最初から言えよ。
やさしく教えてくれる人が出てくる可能性もあるのに。

文章はリアルと違って勘違いされやすいから、仕事のメールじゃ気をつけろよ
429Now_loading...774KB:2006/03/20(月) 13:03:11 ID:x6GYnsGl
>>428
確かに>>422は日本語つか読解力不足な相手だが、まあ落ち着け。
430Now_loading...774KB:2006/03/20(月) 13:30:27 ID:PXZRgO0S
別に>>417のわざわざは問題ないと思うが…
431Now_loading...774KB:2006/03/20(月) 13:51:58 ID:j1wYbIR2
>>428
おまえがいちいち書き込むな
432Now_loading...774KB:2006/03/20(月) 13:59:01 ID:dFI0nts/
>>428
あなたのほうがウザいとみなさん思ってるんじゃないですかね
気に障るならレスしなくて結構
433Now_loading...774KB:2006/03/20(月) 14:58:48 ID:JOLt1Z9n
>>418
ありがとうございます。
ということは、普通に使うサウンドみたいにステージに読み込まなくていいみたいですね。
ありがとうございました。
434Now_loading...774KB:2006/03/20(月) 19:46:21 ID:JCMLlTHb
>>432
逆ギレカコワルイ
435Now_loading...774KB:2006/03/20(月) 20:41:17 ID:jrhigJbb
>>432
ここにいる大半は>>422に呆れてると思うよ。
荒れるから無視してただけで。
436Now_loading...774KB:2006/03/20(月) 20:41:38 ID:2nhjeKk+
厨の質問に厨が答える
437Now_loading...774KB:2006/03/21(火) 00:17:47 ID:nlLo2uwQ
すみません質問させてください。

ステージサイズ 550×400 の状態で
trace(Stage.height)
すると
300
と出てしまいます。
この場合は 400 と出てほしいところですが、そうなりません。

原因はどこにあるでしょう? どなたかご教授願います。

当方 win2k Fla var8 です。
438Now_loading...774KB:2006/03/21(火) 00:21:50 ID:nlLo2uwQ
プロファイラを開いてたからでした。
自己解決しました。
439Now_loading...774KB:2006/03/21(火) 02:46:09 ID:GGzqb9W/
初心者です。よろしくお願いします。
WinXPでFlash8を使用しています。
FlashLite1.1用で、数字オブジェクトを使った
デジタル時計(ローカルでなくサーバ時間適用)を作りたいのですが、
getTime()の記述が分かりません。
表示は「10 10」(十時十分)という感じにしたいです。
試してみたのですが、分の表示が00〜10の間、
00 01 02 〜 08 09 10 が
00 10 20 〜 80 90 10 と表示されてしまいます。

解決策を教えてください;
440Now_loading...774KB:2006/03/21(火) 03:36:26 ID:ffM8pwUf
>>439
サーバーから時間を得ている部分のASを見ないと解らん
441439:2006/03/21(火) 03:56:15 ID:GGzqb9W/
hours = fscommand2("GetTimeHours");
hour1.num = substring(hours, 2, 1);
hour2.num = substring(hours, 1, 1);

min = fscommand2("GetTimeMinutes");
min2.num = substring(min, 1, 1);
min1.num = substring(min, 2, 1);

こんな感じです。
442Now_loading...774KB:2006/03/21(火) 04:26:05 ID:ffM8pwUf
>>441
戻り値は数値だからそれ使ってこんな感じでできる。
サーバー時間かどうかは謎。携帯内蔵時計の時間だと思うが。
hours = fscommand2("GetTimeHours");
shours = String(hours);
if(hours<10){
shours = "0" add shours;
}

trace(shours);
443439:2006/03/21(火) 08:33:52 ID:E0u8HAw2
数字はオブジェクトで作成しているのです。。
表示もそのオブジェクト1/2/3/4/5/6/7/8/9/0
を表示させたいのです。
444Now_loading...774KB:2006/03/21(火) 08:35:13 ID:427qU2Pn
http://imdd6.imory.co.kr/mediaimage/HDI_IDFUCI7_ADpoto_MDmaze1.swf
なんかおもしろいものみつけました。
最後の細道はやってみる価値あり!!!
445Now_loading...774KB:2006/03/21(火) 08:55:13 ID:ffM8pwUf
>>443
数字オブジェクトってなんだかわからんが、上記でshoursに整形された2桁の文字が
入るからそれをsubStringするなりすればいいのでは?
数字オブジェクトのプロパティは文字?数字?
446439:2006/03/21(火) 09:09:45 ID:E0u8HAw2
出来ました!!本当に有難うございました。
447Now_loading...774KB:2006/03/21(火) 10:37:35 ID:8swwsP5w
質問させてください。
ブラウザで初めてswfを読み込む場合はgetBytesメソッドでタイムラインを制御し
ローディングムービーを流せますが、2回以降の場合は キャッシュされて
ローディングムービーがカットされますよね。
「もしキャッシュされていたら、このMCを再生する」というような方法はありますか?
448Now_loading...774KB:2006/03/21(火) 10:47:33 ID:XUmp1ltJ
>>447
ローディングムービーが終わった後に読み込み完了かどうかの判定を入れれば良いのでは?
読み込まれてなかったらそのまま待たせるということで。
449モマ:2006/03/21(火) 11:33:53 ID:rtuT2D0z
押すとムービーがスタートするボタンはどう作るんですか?
450モマ:2006/03/21(火) 11:35:18 ID:rtuT2D0z
押すとムービーがスタートするボタンはどう作るんですか?
451Now_loading...774KB:2006/03/21(火) 12:57:33 ID:MiUublho
>>450
onClipEvent(load){
this.onRelease = function(){
_root.gotoAndStop(飛びたいフレーム番号);
};
_root.stop();
}
ボタンにしたいムービークリップのアクションこれを入れておけば、
ショボイけどとりあえず動くよ。


あと質問です。
ボタンがたくさん並んでる状況で、一時的に全てのボタンを無効化したいときって、
どうやりますか?
グローバル変数で「無効/有効」フラグでも立てて、
全てのボタンにif文噛ませるような方法しかないんでしょうか。

xp, FlashMX2004です。
もう少しスマートな方法があれば知りたいので教えてください。
452Now_loading...774KB:2006/03/21(火) 13:00:18 ID:l9y+BJKX
>>444
びっくりflash
453451:2006/03/21(火) 13:04:26 ID:MiUublho
あ、ちょっと追記します。
あるMCの配下にある全てのボタンに対して、
まとめて MC.enabled = false;
みたいなことができたらいいなって話です。
454Now_loading...774KB:2006/03/21(火) 13:15:58 ID:xLdPLvH/
>>451
ボタンの可視不可視を切り替えるんじゃだめ?

btn_array = new Array(_root.btn1,_root.btn2,_root.btn3);//配列にボタンのターゲットパスを入れておく

function allDisable(){//無効化したいときはこの関数を呼ぶ
for(i=0;i<btn_array.length;i++){
btn_array[i]._visible = false;
}
}

function allEnable(){//有効にしたいときはこの関数を呼ぶ
for(i=0;i<btn_array.length;i++){
btn_array[i]._visible = true;
}
}
//脳内動作確認
455Now_loading...774KB:2006/03/21(火) 13:19:53 ID:KN8AF/iY
>>444
ちょービックリしたってばYO!。。。orz
456Now_loading...774KB:2006/03/21(火) 13:20:47 ID:l9y+BJKX
>>450
on (press) {
this.play();
}

>>451
for (i in MC) {
this[i].enabled = false;
}

MC - あるMCのインスタンス名
typeofとか使ってボタンかどうか判断した方がいいかも。
457Now_loading...774KB:2006/03/21(火) 13:30:52 ID:MiUublho
ボタン側からonEnterFrame時に毎度フラグをチェックする
というようなひどいコードを書いてたとこでした…。

>>454
onEnterFrameなんかよりそちらの方がスマートでイイ感じっぽいですね。
助かりました。どうもです。

>>456
ボタンは全てAS内で作ってるので、定義時にボタン管理用配列に追加しようと思います。
アドバイスどうもです。

てか、上位のクラスから下方に向かって命令飛ばせば良かったんですね…。
下方から上位にお尋ねする方法しか考えてなかったorz
458Now_loading...774KB:2006/03/21(火) 15:32:15 ID:V1n2yWVB
>>451
ボタンをボタンシンボルじゃなくムービーシンボルにする。
で、
onRelease onReleaseOuteside onKillFocus
onRollOver onDragOver
onRollOut onDragOut
を設定する。

そして、必要無いときは全てのイベントを消す。

イベント設定するMCをクラス/オブジェクトで管理して、
その中にイベント設定、消去用の関数を作っておけば良いと思うよ。
459Now_loading...774KB:2006/03/22(水) 00:40:41 ID:OskdhmsP
失礼します。

XML.sendメソッドを使い、サーバ側(PHP)にデータを渡したいのですが、
マニュアルやポケットリファレンス等を読んでも、
POSTメソッドを使用して指定されたURLに送ります、
としか書いておらず、PHP側でどのようにして受ければよいのかが
わかりません。
($_POSTの内容を確認しても空でした・・・)

どなたかご教授いただきたくお願い致します。
460Now_loading...774KB:2006/03/22(水) 00:59:12 ID:cyouV0gG
>>459
POSTで送るって書いてるんだから$_POSTで受け取れると思うけど。
PHP側で print_r($_POST); (だっけ?)
をやっても何もなかったら、swfから何も送られてないとか。
ヘルプに書いてあるサンプルやってもだめ?
461Now_loading...774KB:2006/03/22(水) 01:21:00 ID:OskdhmsP
早々のご返答ありがとうございます。
ヘルプにも書籍にもFlash側のしかかいてなくて。
あまりにも初歩的なことだから書いてないのかなとも思ったのですが。

php側も、XMLファイルを読み込むことについては色々と記述が
あったのですが・・・。

ちなみに、教えていただいたように、php側でprint_r($_POST);をしたところ、

Array ( )

とだけ表示されました。
(Flash側でtraceした際には正しく内容が出ています)
462Now_loading...774KB:2006/03/22(水) 01:45:41 ID:0LPUNPhb
Action Scriptで現在Arrayを継承した、CGIConnector というコンポーネントを作成しているのですが、検索してもわからないところがありましたので、ご教授お願いします。
myCGI = new CGIConnector();
myCGI.addItem(new Object());
っとオブジェクトを追加した後、
myCGI[0]=new Object({name:"foo"});
とした場合、↑での変更をmyCGIでキャッチする事はできるでしょうか?
イベントディスパッチャー...
function dispatchEvent(evnt){
trace("Event Occured");
}
っとやってディスパッチャーが呼び込まれないのは確かめましたTωT
当初の浅はかな考えでは、ディスパッチャーでModelChangedのUpdateItemsイベントを呼び出すと思っていたのですが・・・。
ちなみに、
myCGI[0]=new Object({name:"foo"}); //myCGIのアイテムが変更された場合
が呼ばれたときに、CGIConnectorの方で自動で_updateCGIを呼び出したいと考えています。
よろしくお願いします。
463Now_loading...774KB:2006/03/22(水) 02:10:34 ID:dTBFoWxV
クラスからdispatchするの?
てかinitializeしたり、リスナーつけたりしてる?
464Now_loading...774KB:2006/03/22(水) 02:22:39 ID:0LPUNPhb
早速ご返答ありがとうございます。
基本的に、listnerは設定していません。が、ほぼ全ての関数はsuperを使いArrayの関数を呼び出しています。
Arrayを継承しているので、自動でやってくれると思っていたのですが。
ちなみに、DataProviderでUIコンポーネントとつなげているのですが、
myCGI[0].name = "changed";
っとやったところ、UIコンポーネントでは変更されます。
リスナーの登録は呼び出しクラス毎に設定したくはないので、(っというのも自動でupdateCGIにアクセスしたいので)
CGIConnectorでのdispatchEventで処理したいのですが・・・。

ちなみに今調べていたところ、UIコンポーネントへの変更はArrayでのEventではなく、DataProviderによるイベントの可能性もありますので・・・
Arrayに独自のEventを設定してみたいと思います。
465462:2006/03/22(水) 02:46:06 ID:0LPUNPhb
>>462 >>464
追記です。
dispatchEvent関数内に
super.dispatchEvent(evnt);
trace("Dispatcher Called: "+evnt.type+","+evnt.eventName);
を追加したところ、アイテム追加時(addItem(obj)を呼び出したとき)に
Dispatcher Called : modelChanged,addItems
は表示できましたが、アイテム変更時
myCGI[0].name = "changed";
にはdispatcherは呼び出されませんでした。
それなのに、UIコンポーネントでは変更されるということは・・・
うぅ〜ん、わかりません。仕様で変更時はイベントを投げないのでしょうか??TωT

466462:2006/03/22(水) 02:53:43 ID:0LPUNPhb
>>465
さらに追記です。
myCGI[0].name = "changed";
に変わり、myCGI.replaceItemAt(9,obj);
をおいたところ、
Dispatcher Called : modelChanged,updateItems
がされました。
データコンポーネントとしての完成度は低いですが、とりあえずはreplaceItemAt関数でアイテムの更新とCGIの呼び出しを行いたいと思います。
有難う御座いました。
467Now_loading...774KB:2006/03/22(水) 03:19:22 ID:dTBFoWxV
ASbroadcasterは試したの?
468462:2006/03/22(水) 03:51:17 ID:0LPUNPhb
>>462
仕様上、呼び出し元のクラスではなく、
CGIConnector側でのイベントハンドルをしたかったため、
broadcaster.addListenerではなく、
class CGIConnector extends Array{
  function dispatchEvent(evnt){
    //ここでイベント分岐処理
  }
}
をしたかったのです。○| ̄|_
説明不足で申し訳御座いません。

予想では、Arrayでは myCGI[0]=new Object();というような要素自体の変更にはイベントを監視しているのですが、
配列要素の要素(myCGI[0].name等)にはイベント監視がついていない為と思います。
これの解決策として、watchを設定してあげればいいと思うのですが・・・
次回時間のあるときにやってみようと思います。^^;
有難う御座いました。
469Now_loading...774KB:2006/03/22(水) 07:44:17 ID:a6dOhgJX
>>461
こんなかんじだとおもう。

hoge.var = "abc"
hoge.load(url)

<php
$_POST['var'];
?>
470469:2006/03/22(水) 07:59:09 ID:a6dOhgJX
hoge.sendAndLoad(url); だった
471Now_loading...774KB:2006/03/22(水) 11:35:00 ID:1/NvfX79
質問です。flash8です。よろしくお願いします。
擬似配列が長いので変数に入れて短くしようとしましたがうまくいきません。
aの参照先が変わってるのがいけないと思うのですが、
どう書いたら良いのか分からないので、お知恵をお貸しください。

test1 = 10;
i = 1;
a = this["test"+i];
a += 1;
trace(test1);//結果=10←11になって欲しい
472Now_loading...774KB:2006/03/22(水) 12:19:51 ID:KlyBooM7
test1 = 10;
i = 1;
a = this["test"+i];
a += 1;
this["test"+i] = a;
trace(test1);
473Now_loading...774KB:2006/03/22(水) 12:23:07 ID:PnUNnbQs
>>471
なりません。
なぜなら、aにはtest1が3行目で参照ではなく、
test1の値の参照がされました。
それにプラス1をしているのはaに対してなので
aは11になるが
test1は10のままです。
でもそれはaやtest1が変数だから(だとおもう)。
オブジェクトのプロパティにしてやれば参照されると思うので大丈夫でしょう。
var test1:Object = new Object();
test1.test = 10;
i = 1;
var a:Object = this["test"+i];
a.test += 1;
trace(test1.test);
こんなかんじでたぶん大丈夫。
474Now_loading...774KB:2006/03/22(水) 12:25:12 ID:UZIR0UPK
ヒント:プリミティブ
475Now_loading...774KB:2006/03/22(水) 13:14:05 ID:knducuvg
プリミティブ関係ねーよバーカ
476Now_loading...774KB:2006/03/22(水) 13:18:04 ID:UZIR0UPK
>>475
ヒントの意味がわからないらしいな。
その項目でググるなり勉強するなりしてみれと言う意味。
君も勉強するべきだね。
477Now_loading...774KB:2006/03/22(水) 13:18:17 ID:TDKQOL92
外部テキストファイルからASを変更するASってありませんかー;
478471:2006/03/22(水) 13:26:44 ID:1/NvfX79
>472 これを試してみます
>473 今後の参考になりそうです
ありがとうございました。
479Now_loading...774KB:2006/03/22(水) 13:36:21 ID:7QwR7zTN
>>477
外部テキストファイルの内容によって、条件分岐が良いと思います。
480Now_loading...774KB:2006/03/22(水) 18:18:00 ID:B44Ij1N9
actionscriptコーディングのベストプラクティスとしてマニュアルに
1フレーム目の1個目のレイヤーに全部記述しろってあるけどみんなそうしてる?
ムービークリップそれぞれに書いたほうが後で使い回ししやすそうな気もするんだけど
やめたほうがいいのかな。
481Now_loading...774KB:2006/03/22(水) 20:29:40 ID:BSnVPRSq
1フレーム目の1個目のレイヤーに
#include "・・・"
482Now_loading...774KB:2006/03/22(水) 20:31:15 ID:BSnVPRSq
あとムービークリップはClassで記述
483Now_loading...774KB:2006/03/22(水) 21:30:17 ID:7QwR7zTN
1フレーム目にはASを書かずに2フレーム目から書けって読んだことがある。

俺はそれぞれのムービークリップに書きたい方だな。
完成して現在の作業と関係なくなったASは見たくないから。
484Now_loading...774KB:2006/03/23(木) 00:13:49 ID:TBz4ci/D
includeが一番いい
asファイル分ければ管理もしやすい
485Now_loading...774KB:2006/03/23(木) 01:39:38 ID:1zBlM4vP
質問です。よろしくお願いします。

FLASH8ですが、
BitmapDataを外部イメージを読み込んだMovieClipに、
MovieClip.attachBitmap()で接続した場合、

BitmapData.draw()で画面に複数描画するには
描画数だけオブジェクトを作成して、BitmapData.Clone()で
複製する必要があるのですか?
486Now_loading...774KB:2006/03/23(木) 02:09:23 ID:79slWGBt
そのボタンを押すと一番上の階層の1フレーム目に戻したい場合のACは
on (press) {_root.gotoAndPlay(1);} で合ってる?
何か上手くいかないよ。
487485:2006/03/23(木) 02:53:54 ID:1zBlM4vP
>>288-290で既出でした。すまそ
488Now_loading...774KB:2006/03/23(木) 03:18:45 ID:TGs/6VDN
質問させてください。

1つのボタンでランダムにMCを流させたいのですが

ttp://www.geocities.co.jp/Milano-Cat/4036/bote/6_5.html

こちらのサンプルのようにランダムでフレームに飛ばすのが最良(手段として楽)でしょうか?
489http://kenthp2006restart.hp.infoseek.co.jp/:2006/03/23(木) 08:16:40 ID:9aUDEG2g
さぁ!みんなで
this.stop();
を使おう!!!

キングワロス
490Now_loading...774KB:2006/03/23(木) 13:52:33 ID:eeU+EVEo
stop();だけでいいよ
491http://kenthp2006restart.hp.infoseek.co.jp/:2006/03/23(木) 14:15:40 ID:9aUDEG2g
>>490 俺のMXでは、 this.stop();じゃないと作動しない.....
492Now_loading...774KB:2006/03/23(木) 14:23:39 ID:pCdZ0xOh
関数の中だから?
493Now_loading...774KB:2006/03/23(木) 14:35:06 ID:kOQsYbpq
>>488
環境を書きましょう。
やりたいことを正確に書きましょう。
答えも正確にかけません。
もしボタンをクリックしたら、
配置されているMCの中のフレームを移動させたいのなら
on(release) {
_root.MC.gotoAndStop(Math.floor(Math.random()*x)+1);
}
MC内では、
1フレーム目にstop();を書いてとめとけばいいと思う。
494Now_loading...774KB:2006/03/23(木) 14:43:42 ID:xtjo+WT1
>>493
そういうことじゃなくて
MC内のフレーム移動で処理するのがいいのか、
MCを別々にして表示・非表示やattachMovieとかにするのがいいのか、
SWFにしてloadMovieがいいのかとか、
どういう手段が一番いいのか聞いてるんじゃないのかな?

そうであれば、作る物によって最良は変わると思うけどね。
495Now_loading...774KB:2006/03/23(木) 15:39:34 ID:SyMVJlRR
_root.attachMovie(caraname_l, caraname_l + no_l, 10);
で、ムービークリップを作成しているのですが、
これですと、caraname_lに設定してある動画が再生されません。
attachMovieで作成したムービークリップはスクリプトで指定しないと、
座標の移動をできないのでしょうか?
496Now_loading...774KB:2006/03/23(木) 15:51:59 ID:oIA7w3tP
>>495
> 動画が再生されません。

> 座標の移動をできないのでしょうか?

これは同じ事を言ってるの?
497495:2006/03/23(木) 16:04:49 ID:SyMVJlRR
>>496

いえ、
> 動画が再生されません。 は、
もともとアニメーションのあるムービークリップ ※1

> 座標の移動をできないのでしょうか? は
 ※1をattachMovieで呼び出してきたものです。

498Now_loading...774KB:2006/03/23(木) 16:34:15 ID:3DwdSR0u
シンボル名がcaraname_lなら
"caraname_l"でアタッチ。変数なら文字列が入っているか内容をチェック。
499Now_loading...774KB:2006/03/23(木) 16:56:12 ID:oIA7w3tP
>>497
> _root.attachMovie(caraname_l, caraname_l + no_l, 10);
> で、ムービークリップを作成しているのですが、
> これですと、caraname_lに設定してある動画が再生されません。

特にstopとか入れてなければ動きそうな気がするのだが・・・

> attachMovieで作成したムービークリップはスクリプトで指定しないと、
> 座標の移動をできないのでしょうか?

その通りできない。基本的に0,0にアタッチされるので
指定した位置で初期化したい場合は
attachMovieの4つめのパラメータに
_root.attachMovie(caraname_l, caraname_l + no_l, 10,{_x:100,_y;100});
みたく指定する。
500495:2006/03/23(木) 16:57:24 ID:SyMVJlRR
>>498
ムービーのデバック画面を見ると、インスタンスは作成されているみたいです。
作成されたインスタンスは画面に表示されているのですが、
アニメーションしてくれなひのです。
501Now_loading...774KB:2006/03/23(木) 17:03:17 ID:3DwdSR0u
>>500
caraname_l + no_lで複数のMCをアタッチしてるみたいだけど、深度が10固定なのが
気になる。
t_mc=_root.attachMovie(caraname_l, caraname_l + no_l, 100+no_l);
t_mc._x=100;
t_mc._y=100;
みたくもできるよ。
502495:2006/03/23(木) 17:03:32 ID:SyMVJlRR
>>499
ありがとうございます。そうしてみます。

MCの座標をスクリプトで制御するより、アニメ入りのMCを持ってきた方が
いいかなと思ったのですが。
他のMCの方向キーによる移動が利きにくかったので。
503495:2006/03/23(木) 17:06:34 ID:SyMVJlRR
>>501
φ(.. ) メモメモ
どうもです。
504Now_loading...774KB:2006/03/23(木) 18:28:27 ID:qtKd6t9W
flash内にRSSの内容を取り込むには
XML.load()
であとはxmlと同じように処理すればいいんでしょうか?
505Now_loading...774KB:2006/03/23(木) 19:36:02 ID:TGs/6VDN
>>488
大変失礼いたしました

環境は WinXP/FlashMX2004
やりたいことは 一つのボタンでランダムにフレームに飛ばし、そこに置いたMCを再生させたい

です

上記のページを参考にしたAS

on(release) {
_root.MC.gotoAndStop(Math.floor(Math.random()*x)+1);
}

で試したのですが、したいようにできませんでした

>>494
質問の仕方がおかしく誤解を招いたこと、申し訳ありません
506Now_loading...774KB:2006/03/23(木) 20:55:02 ID:TGs/6VDN
↑訂正します;

>>488 ×
>>493 ○
507Now_loading...774KB:2006/03/24(金) 00:13:56 ID:4ohBDsdm
最近Flashを始めた物ですが....setIntervalで動ごかしているMCオブジェクトがあり、
それをclearIntervarが書かれているボタンオブジェクトでrollOverで止めて
rollOutした時にまた動かすのにはどうしたら良いでしょうか?教えていただけませんか?
508Now_loading...774KB:2006/03/24(金) 00:17:46 ID:k5cvaAZu
>>507
まず、Flashを起動して自分で作ってみろ。
話はそれからだ。
509Now_loading...774KB:2006/03/24(金) 00:21:15 ID:4ohBDsdm
508さんへ
作ったんですが、どうしても一旦止まったオブジェクトが動いてくれません。
ifとか使ったんですが...
510Now_loading...774KB:2006/03/24(金) 00:25:44 ID:CO4Os6c3
>>507
function Hoge(){
//MCオブジェクトを動かす処理
}
id = setInterval(Hoge,1000);
をフレームに書いて

on(rollOver){ clearInterval(this.id) }
on(rollOut){ id = setInterval(Hoge,1000) }
をボタンに書く。
511Now_loading...774KB:2006/03/24(金) 00:41:11 ID:4ohBDsdm
ありがとうございます。明日学校でやってみます。
512Now_loading...774KB:2006/03/24(金) 01:08:30 ID:uQRPE3Eb
4フレーム分ウエイトを作りたいのです。
スクリプトを教えてください。m(__)m

VBとかだったら、Sleep(1000)とか使えるけれど、flashはどうすればいいのか。。
513Now_loading...774KB:2006/03/24(金) 01:40:20 ID:DEqPlmLq
>>512
//フレーム数で
this.stop();
var wait = 4;
this.onEnterFrame = function(){
if(wait--==0) this.play();
}
//時間で
this.stop();
var waitTime = 1000;
var s = this;
var sid = setInterval(function(){s.play();clearInterval(sid);}, waitTime)
514Now_loading...774KB:2006/03/24(金) 05:20:11 ID:uwBhvl8c

質問です。

カスタムクラスでコンストラクタに設定可能なプロパティはどういったものがありますか?

515Now_loading...774KB:2006/03/24(金) 06:07:26 ID:L51Z7ylC
>>514
意味がよくわからん、どういう事やりたいのか例示してくれ。
コンストラクタの引数とかってことなのかな。
516Now_loading...774KB:2006/03/24(金) 06:56:24 ID:Xtw0KxOY
自由変形にチェックを入れるとすべてのオブジェクトに自由変形が適応されてしまいますが
自由変形のチェックを外す(解除)にはどうしたらいいですか?
517514:2006/03/24(金) 09:23:33 ID:tJdRM648
>>515
すいません、コンストラクタにはどのイベントハンドラメソッドも使用可能でしょうか?
518Now_loading...774KB:2006/03/24(金) 09:56:23 ID:3ONisHjd
menu10.btn5._y=0;
↓変数を使って擬似配列で表示したいのですが、どう書けばいいのでしょうか?
i=10;ii=5;
this["menu"+i].this["btn"+ii]._y =0;
これだとエラーです。よろしくお願いします。
519518:2006/03/24(金) 10:05:20 ID:3ONisHjd
this["menu"+i]["btn"+ii]._y =0;
でした。失礼しました。
520Now_loading...774KB:2006/03/24(金) 11:38:11 ID:L51Z7ylC
>>517
いまいちよくわからんが、例えばMCのイベントをクラスでとりたいなら
class AA extend MovieClip{
function onEnterFrame(){...}
.....
}
なんてやるってことかな
>>518
MCが_rootにあるなら_root["menu"+i].....でやてみて
521Now_loading...774KB:2006/03/24(金) 11:38:58 ID:L51Z7ylC
訂正:extend--->extends
522Now_loading...774KB:2006/03/24(金) 12:19:28 ID:KGYXrgmh
今ダンシングおにぎりを作ってるんですけど、
例えば左矢印の複製スクリプトでは、

if (le_dac[_root.les]==_root._currentFrame+150) {
_root.les++;
cunt++;
if (cunt>=200){cunt=0;}
copnam="le_s"+_root.les;
duplicateMovieClip("_root.le_s",copnam,980+cunt);//「980+cunt」←深度の事
}

で、その上に桜が舞って、矢印をみにくくしようとします。

// 複製元のインスタンス名は「sakura」
counter++; //カウンターに1を足す
if (counter > 100) {
counter = 1;
} // カウンターが100を越えたら1に戻す
instance_name = "sakura" + counter;
sindo = 10000000 + counter;//桜が舞い散る複製スプライトの深度
sakura.duplicateMovieClip(instance_name,sindo);

とします。
深度を見てみると桜の複製スプライトのほうが手前になるはずです。
しかし、どんなに桜の複製スプライトの深度を手前にしても、
矢印のほうが上になってしまいます。

何故でしょうか?教えてください。
523Now_loading...774KB:2006/03/24(金) 12:30:54 ID:L51Z7ylC
>>522
深度の上限だいじょぶか?
524514:2006/03/24(金) 15:08:02 ID:DPlGzIwn
>>520
すいません。
継承元のクラスの振る舞いをスーパークラスで取り決めしたくて
たとえば

class Oya{
speed = 5;
function Oya(){
this.onEnterFrame=function(){
if(this._x>=550){
this._x=-120;
}
functionGo (){
this._x +=speed;
}

}

とした場合、フレーム1にfuctionGoをイベントハンドラメソッドでトリガ元のボタンでト呼び出すようにように
したのですが、継承先のクラスでうまく動作しません。
functionGoに直接、スーパークラスの if 部分を記入すればいいのですがスーパークラスで取り決めしたいのです。
どうすればいいでしょうか。
525514:2006/03/24(金) 15:11:00 ID:DPlGzIwn
あ、すいません、functionGoの部分はクラス定義以下で書かなきゃいけないですね。
526514:2006/03/24(金) 15:12:40 ID:DPlGzIwn
あ、冒頭部分が継承元の振る舞いじゃなくて継承先の振る舞いでした、訂正します。
527514:2006/03/24(金) 15:16:38 ID:DPlGzIwn
また、まちがいました、functionGoのところです。
class Oya{
speed = 5;
function Oya(){
this.onEnterFrame=function(){
if(this._x>=550){
this._x=-120;
}
}
functionGo (){
this.onEnterFrame =function(){
_x +=speed;
}

}
528514:2006/03/24(金) 15:18:13 ID:DPlGzIwn
あぁ、落ち着きないな自分でも…
functionGo (){
this.onEnterFrame =function(){
this._x +=speed;
}

}
でしたごめんなさい。
529Now_loading...774KB:2006/03/24(金) 16:27:49 ID:44812TrE
>>514
良くわかんないけど、親クラスのメソッドの動作を拡張したいのかな?
親のメソッドは super 演算子で呼び出せるから、オーバーライドされた
メソッドから親クラスのメソッドを希望のタイミングで呼び出せばいい。
this.onEnterFrame =function(){
_x +=speed;
super.onEnterFrame();
}
ってな感じ。
530512:2006/03/24(金) 19:58:35 ID:jxxt0hZ0
>>513
ありがとうございます。やってみます。
531Now_loading...774KB:2006/03/24(金) 21:07:57 ID:LQTDCFkY
soundという名前のレイヤーに
プロパティ→サウンドで音声ファイルを割り当てて
音声を再生しています。

例えば10フレーム目で音声再生を開始して
20フレーム目で音声再生が終わるまで停止(その場でループ?)して
音声再生が終わったら21フレーム目移行を再生…という場合に

20フレーム目に書くASがわかりません。
サウンドオブジェクト名 = new Sound();でやる方法はわかるのですが
こういう場合の制御はどういうふうに書けば良いのでしょうか?
532Now_loading...774KB:2006/03/24(金) 21:16:32 ID:a0WcxuEq
>>531
Sound.onSoundComplete
533Now_loading...774KB:2006/03/24(金) 21:32:45 ID:klQ8oMju
>>531
レイヤーに音楽を配置してるならそういうことは無理。
曲の長さ分フレームが必要(ストリーミングの場合)。
そういうことしたいならSoundクラス使う。
534Now_loading...774KB:2006/03/25(土) 16:37:26 ID:FbaY8eL6
判定用のMCが、何と重なっているか知る方法を探しています。
hitTestだと重なる相手を予め決めておかないと駄目ですよね?
被判定MCが50種類くらいあるので大変かなと。
他にあるでしょうか?flash8です。よろしくお願いします。
535Now_loading...774KB:2006/03/25(土) 18:52:49 ID:wLyDyrFP
>>534
一定のインスタンス名+数字で処理

for (i=1; i<=50; i++) {
if (this["item"+i].hitTest(player)) {
trace("item"+i+"HIT");
}
}
536Now_loading...774KB:2006/03/26(日) 00:35:06 ID:KPhWnuv/
すいません質問です。

イメージファイルの背景をマスクで抜き描画したい場合、
ファイル側で抜き設定したものを使う必要があるのですか?
537536:2006/03/26(日) 05:45:21 ID:KPhWnuv/
あー解決しました。ごめんなさい。
538534:2006/03/26(日) 17:20:03 ID:nPMOFsg7
>535
どうも重くなるようなので、仕組みから変えてみます。
ありがとうございました。
539Now_loading...774KB:2006/03/27(月) 15:39:54 ID:vHLDcbI+
フレームの再生について質問です。ソフトはFlashMX2004を使っています。

最初にrootのタイムライン・フレーム1を以下の様にします。
this.stop();
pageC = 0;

次いで、ボタンアクションとして、1回押すとフレーム1〜32が再生するように
ASを書きました。
on (release) {
pageC++;
switch (pageC) {
case 1 :
this.play();
if (this._currentframe=32) {
this.stop();
}
trace("pageC= "+pageC);
break;
}
}

しかし、この記述では、traceでpageC=1と出るものの、ムービーが開始され
ません。どのように修正すればいいでしょうか?
540Now_loading...774KB:2006/03/27(月) 15:50:43 ID:n9h73fDb
=
541539:2006/03/27(月) 15:59:56 ID:vHLDcbI+
>>540
うあ〜〜〜〜


Thxです。
542539:2006/03/27(月) 16:49:41 ID:Wtrkan4w
if (this._currentframe=32) を if (this._currentframe==32)
と修正したところ、再生は始まりましたが、希望のフレーム(32フレーム目)
で止まらず、最後までイってしまします。

どう修正すべきでしょうか?
543Now_loading...774KB:2006/03/27(月) 17:04:21 ID:1Huxq26X
ちょっと自信ないけど

on (release) { ってマウスボタンを離したときに発動だよね
この処理だと32フレーム目ちょうどに離さないとstop
しないんじゃないか?
if (this._currentframe>=32)にしたら良いかも
544Now_loading...774KB:2006/03/27(月) 18:06:51 ID:cPXLbeNq
>>542
>>543 の言うとおり、その記述だとon(release)の時しか動かない。
別に33フレ目以降の部分が関係ないものだとするなら
32フレ目にstop()書いたほうが早い気がする。
33フレ以降もなにかの条件で必要となるなら、if文で分岐するとか。
545Now_loading...774KB:2006/03/27(月) 22:15:04 ID:FlixF6M2
はじめまして。

マウスイベントで、進んだ先のフレームにある
インスタンスにムービを挿入するということをやっています。
下のように書いているのですが、
反応しません。


on(release){
_root.gotoAndPlay(3);
_root.mv.loadMovie("test.swf");
}

フレームに進む(3フレーム)のは、確認出来ているんですが
ムービの挿入(test.swf)が反応しません。

なにか間違っているのでしょうか?
よろしくお願いします。
546Now_loading...774KB:2006/03/27(月) 22:16:59 ID:FlixF6M2
ちなみに、2フレームより前は、mvというインスタンスはありません。
547Now_loading...774KB:2006/03/27(月) 22:37:04 ID:n9h73fDb
_root.gotoAndPlay(3);
で処理が3フレーム目に移ってるじゃん。
548Now_loading...774KB:2006/03/27(月) 22:52:32 ID:sOMSET9L
>>545
loadMovieした時点でmvがないんじゃないの?
trace(_root.mv)で確認。
549124:2006/03/27(月) 23:58:19 ID:xSWj733z
functionの実行の順番を思うように制御できないんですけど、どうすれば良いでしょう?

その部分だけ書けば、
v_result1 = f_comparison(v_charLength, char);
f_resultExpression(v_result1);
です。
f_comparisonの実行結果を反映させて、f_resultExpressionを実行したいんですが。。。
f_comparisonの中でも多少めんどい処理するんで、そっちが終わる(始まる?)前にf_resultExpressionが
実行されちゃうんです。
traceして、実行の順番を見たんですが、たぶんf_comparisonが具体的に始まる前にf_resultExpressionが
実行されてるみたいです。

回答まってます。m(__)m
550Now_loading...774KB:2006/03/28(火) 00:09:07 ID:dPtPkIQX
ASnative(a,b)() っていろいろできるらしいんだけどどんなときに使うの
551Now_loading...774KB:2006/03/28(火) 00:51:34 ID:yrR/AQkL
>>549
詳しいことは知らんけど、順番に実行されるはずだと思うんだけど。
その2つの関数を定義しているとこと呼び出してるところは全部同じ階層?
f_resultExpression(f_comparison(v_charLength, char)); にしたり、
f_comparison関数の最後にf_resultExpression関数を呼び出したりしてみては?

>>550
使わない。
552550:2006/03/28(火) 01:47:01 ID:9YMNsiW3
>>551
サンクス
そうなのかザンネン
553Now_loading...774KB:2006/03/28(火) 02:33:50 ID:/+zEK5hp
ttp://takopus.ru/swf/smk03.html

この煙の表現の作りかた載ってる所や、参考になるような所はどこか無いでしょうか?

toyoya Bbのサイトのメニューボタンにもこのような表現が使われているのですが
どの様にすればよいのか気になって・・・

lienToで描いた物をビットマップ化し、エフェクトを掛けてたりするんでしょうかね?
554Now_loading...774KB:2006/03/28(火) 11:02:11 ID:1eD4h4ug
>>549
f_comparison()
f_resultExpression()
の詳細求む。特に戻り値。
ついでに君の環境。
ActionScript1.0ならもしかしたらだめかもよ。
555Now_loading...774KB:2006/03/28(火) 13:50:19 ID:2mhJo2Pk
すみませんおしえてください。

1つのレイヤーに2つのキーフレームだけがあるFlashを作りました。
キーフレームにはそれぞれボタンがあり、押すことでキーフレーム間を遷移します。
それぞれのフレームの処理をまとめたく、1つだけフレームを持つレイヤーを追加し、そこにActionScriptをまとめることにしました。
ここで分からないことが出てきました。
イベントハンドラメソッドを使えばボタンのイベントを定義できるはずなのですが、うまくいきません。
フレーム1にあるボタンのイベントハンドラは動作するのですが、フレーム2にあるボタンのイベントハンドラが動作しません。
thisだとフレーム1だけしか反応しないのかと思い、フレーム名を付与してみましたがダメでした。

-----
this.nextPage_button.onPress = function()
{
gotoAndStop("frame2"); //これは動作する
}
this.prevPage_button.onPress = function()
{
gotoAndStop("frame1"); //動作しない
}
-----
frame2.prevPage_button.onPress = function()
{
gotoAndStop("frame1"); //やっぱりこれも動作しない
}
-----

別フレームのイベントハンドラメソッドを定義するにはどうすれば良いのでしょうか。
環境はWindowsXPSP2+FlashMX2004(7.2)です。
ご存知の方、よろしければ教えてください。
556Now_loading...774KB:2006/03/28(火) 13:58:13 ID:ghMu/6dI
>>555
空白フレームを追加すればいいんじゃね?
557555:2006/03/28(火) 14:34:46 ID:2mhJo2Pk
>>556
ActionScriptを記述したレイヤーのフレームを2つのキーフレームに掛かるようにするということでしょうか?
キーフレームはそれぞれ1フレームずつなので、それに掛かるようにActionScriptのレイヤーのフレームも2フレームにしてみました。
しかし結果は変わりませんでした。

もしかしてフレーム1に記述したActionScriptからはフレーム2のオブジェクトに干渉できないのでしょうか?
558Now_loading...774KB:2006/03/28(火) 14:40:11 ID:5ja/5tRe
>>557
prevPage_buttonはフレーム1にはないのか?
だとしたら、存在していないオブジェクトには
アクション設定できないと思う
559555:2006/03/28(火) 14:46:10 ID:2mhJo2Pk
>>558
thisはフレーム1を指すという事でしょうか。
とすれば、フレーム1からフレーム2のオブジェクトを触るにはどうすばいいのでしょうか。
560555:2006/03/28(火) 14:46:51 ID:2mhJo2Pk
書きかけで送信してしまいました。再送します。

>>558
フレーム1に記述しているため、thisはフレーム1を指すという事でしょうか。
とすれば、フレーム1からフレーム2のオブジェクトを触るにはどうすばいいのでしょうか。
561Now_loading...774KB:2006/03/28(火) 15:14:06 ID:1eD4h4ug
>>560
ファイルアップしたほうが早いんじゃない?
562*:2006/03/28(火) 15:50:37 ID:BVLfqtTF
>>543,544
Thxです。
on(release)のswich文でフレーム移動制御を試みましたが、煩雑&誤動作
が あり、これは諦めました。結局フレームアクションのonEnterFrameでの
if (this._currentframe==pageC*押した回数)にしたところ、うまくイッた ので
これで進めました。

細かい所は未だですが、今回のフレーム制御のswfをUpします。
http://www.uploda.org/uporg348866.swf
563562:2006/03/28(火) 15:54:45 ID:BVLfqtTF
うげっ・・・・・
名前が汎用名(*)になっていた。
564Now_loading...774KB:2006/03/28(火) 16:39:31 ID:h1goaoih
>>560
thisはフレーム1とか2じゃなくて、ここではそのMC(タイムライン)なんだが
そもそも、いない人にむかって話しても通じないってこと。
たとえば、1時間目の授業を休んでる山田君に、「2時間目に答案出せ」といっても
聞こえてるわけない。
2時間目に出席した山田君に「答案は?」ときいても「ハア?」となってしまう。
クラスを使うとか、1フレームの時点で非表示にしておくとか、2フレーム目にアクションを書くとか
好きなように工夫する。
565Now_loading...774KB:2006/03/28(火) 16:55:23 ID:wCXB2tmE
>>560
最初に書いた555のASをコピペして動作させた。
3つめのは書き方が論外だから上の2ついてだが
普通に動いたぞ?
566Now_loading...774KB:2006/03/28(火) 18:41:52 ID:NEeP08sd
flash8を使ってます。よろしくお願いします。
mc1.mc2を複製して、_root.mc3をつくりたいのですが、
どうすればいいのでしょうか?
duplicateMovieClip(mc1.mc2,"mc3",1);
ですと、mc1.mc3が出来てしまいます。
trace(_root.mc3)//結果:undefined

あと、
duplicateMovieClip関数と
duplicateMovieClipメソッドがありますが、
どう使い分ければいいのでしょうか?
567Now_loading...774KB:2006/03/28(火) 18:57:44 ID:vhfCTBxW
メソッド=関数
568566:2006/03/28(火) 19:16:42 ID:NEeP08sd
>567
ヘルプを見ると書式がちがうんで使い所がちがうのかな?と。

・関数/使用できるバージョン : Flash Player 4、ActionScript 1.0
duplicateMovieClip(target:String, newname:String, depth:Number) : Void
・メソッド/使用できるバージョン : ActionScript 1.0、Flash Player 5
public duplicateMovieClip(name:String, depth:Number, [initObject:Object]) : MovieClip

関数の方はFlash Player 4だから、もう使わないほうがいいって事でしょうか?
どっちも複製できるから、別にいいんですけどね〜^^;
569Now_loading...774KB:2006/03/28(火) 19:57:43 ID:GT1hmz+e
>>568
yes

元の質問については、階層を越えた複製は不可能です。
570Now_loading...774KB:2006/03/28(火) 20:30:52 ID:yrR/AQkL
>>555
nextPage_buttonが1フレーム目にあって
prevPage_buttonが2フレーム目にある。
で、そのASを1フレーム目に書いているんだよね?

そのASを書いた時点(1フレーム目)ではprevPage_buttonまだでてきていないので
this.prevPage_button.onPress = function(){}を書いても動作しない。

どうすればいいのかというと、そのASを2フレーム目に書く。

>>562
32フレーム目で止めたいって話はどこいった?
571549:2006/03/28(火) 21:00:12 ID:XqA36nuN
詳しく書けばこんなです。遅くてすいません。長いので分けます。

function f_singleSearch(char) {
trace("検索モード確認-SINGLE");
v_charLength = char.length;
v_result1 = f_comparison(v_charLength, char);
f_resultExpression(v_result1);
}
function f_comparison(num, char) {
trace("function comparison 正常起動");
_root.loadVariables("SearchData.txt");
_root.onData = function() {
trace("SearchData.txt正常読み込み完了。");
v_resultArray2 = f_judgeAll(num, char);
return v_resultArray2;
};
}
function f_judgeAll(num, char) {
trace("function judgeAll 正常起動。");
v_resultText1 = f_judge(st_yuki, sr_yuki, num, char);
v_resultText2 = f_judge(st_walkC, sr_walkC, num, char);
v_resultText3 = f_judge(st_GikoC, sr_GikoC, num, char);
v_resultText4 = f_judge(st_BlueCircle, sr_BlueCircle, num, char);
v_resultArray = new Array();
for (f=1; f<=4; f++) {
trace("function judgeAll for文実行開始。");
v_resultArray.push("v_resultText"+f);
}
return v_resultArray;
}
572549:2006/03/28(火) 21:00:38 ID:XqA36nuN
function f_resultExpression(array) {
trace("function resultExpression 正常起動。");
v_forNum = array.length;
v_finalText = "";
for (c=0; c<v_forNum; c++) {
v_finalText += array[c];
}
}
function f_judge(targetChar, resultChar, num, char) {
trace("function judge 正常起動。");
v_forNum2 = targetChar.length-num;
for (d=0; d<=v_forNum2; d++) {
v_targetText = "";
for (e=d; e<num; e++) {
v_targetText += targetChar[e];
}
if (char eq v_targetText) {
trace("検索にHIT確認。");
return resultChar;
break;
}
}
}
573549:2006/03/28(火) 21:03:15 ID:XqA36nuN
何か暴走して、検索のシステムみたいな作ろうとしてるんですけど、できなくてw
文字列を比較して、片方が片方に含まれているかどうか判別するメソッドみたいの
ないですよね。。。
574566:2006/03/28(火) 21:28:19 ID:NEeP08sd
>569
なるほど。工夫してみます。ありがとうございました。
575549:2006/03/28(火) 21:33:49 ID:XqA36nuN
多少書き換えました。また1回使って書きます。

myStartSearchBT.onRelease = function() {
f_singleSearch(v_text);
}
function f_singleSearch(char) {
trace("検索モード確認-SINGLE");
v_charLength = char.length;
v_result1 = f_comparison(v_charLength, char);
f_resultExpression(v_result1);
}
function f_comparison(num, char) {
trace("function comparison 正常起動");
_root.loadVariables("SearchData.txt");
_root.onData = function() {
trace("SearchData.txt正常読み込み完了。");
v_resultArray2 = f_judgeAll(num, char);
return v_resultArray2;
};
}
576549:2006/03/28(火) 21:34:33 ID:XqA36nuN
function f_judgeAll(num, char) {
trace("function judgeAll 正常起動。");
v_resultText1 = f_judge(st_yuki, sr_yuki, num, char);
v_resultText2 = f_judge(st_walkC, sr_walkC, num, char);
v_resultText3 = f_judge(st_GikoC, sr_GikoC, num, char);
v_resultText4 = f_judge(st_BlueCircle, sr_BlueCircle, num, char);
v_resultArray = new Array();
for (f=1; f<=4; f++) {
trace("function judgeAll for文実行開始。");
v_resultArray.push("v_resultText"+f);
}
return v_resultArray;
}
function f_resultExpression(array) {
trace("function resultExpression 正常起動。");
v_forNum = array.length;
v_finalText = "";
for (c=0; c<v_forNum; c++) {
v_finalText += array[c];
}
}
577549:2006/03/28(火) 21:35:46 ID:XqA36nuN
function f_judge(targetChar, resultChar, num, char) {
trace("function judge 正常起動。");
v_forNum2 = targetChar.length-num;
for (d=0; d<=v_forNum2; d++) {
v_targetText = "";
for (e=d; e<num+d; e++) {
v_targetText += targetChar.charAt(e);
trace(targetChar.charAt(e));
trace(targetChar);
}
trace(v_targetText);
if (char eq v_targetText) {
trace("検索にHIT確認。");
return resultChar;
break;
}
}
}
578Now_loading...774KB:2006/03/28(火) 21:39:06 ID:jQl8H7WP
>>573
>文字列を比較して、片方が片方に含まれているかどうか判別
String.indexOf() じゃだめなん?
579549:2006/03/28(火) 21:43:36 ID:XqA36nuN
>>578
そんな便利なメソッドがあったのかw
知らなかったわw

とりあえず、実行の順番を変更したいです><
580Now_loading...774KB:2006/03/28(火) 21:48:05 ID:RDdgS09m
とりあえずvarつけるのを覚えれ。
あと、引数多いときはオブジェクトで渡すとか。
581Now_loading...774KB:2006/03/28(火) 21:50:16 ID:rvtFxRiw
処理終わるまでループさせとくってのは?
582Now_loading...774KB:2006/03/28(火) 22:05:50 ID:jQl8H7WP
>>549
f_comparisonの実行結果を反映させて、f_resultExpressionを実行したいって書いてるけどさ、
ひょっとして正しくは_root.onDataでデータを取得した後にf_resultExpressionを実行したいってことかな?
ソース見づらいし面倒くさいからちゃんと読んでないけど。
もしそうなら_root.onDataの中にf_resultExpressionを書けば済むと思う
あと、_root.onData の return v_resultArray2 も無意味。
それと、利用するクラスにどんなメソッドがあるかくらいは予めヘルプでざっと目を通しておくと無駄な苦労をせずにすむよ。
583549:2006/03/28(火) 22:15:14 ID:XqA36nuN
fmfm。ありがとうございます。
そのvarって言うのは何なんですか?
買った本には詳しく書いてなくて、いきなり使ってるので。。。

とりあえずは、一時しのぎ的に解決しましたが、、、。
584Now_loading...774KB:2006/03/28(火) 22:34:00 ID:7l0oqOkS
flash MX(2004ではないです)でhtmlタグは使えないのでしょうか?
テキストフィールドにhtmlでレンダリングにチェックを入れても駄目でした。

<b>ふと文字テスト</b>
<img src="./hoge.gif">

そのままテキストで表示されてしまうんです。
バージョンアップするしかないですかね?
585Now_loading...774KB:2006/03/28(火) 22:44:44 ID:RDdgS09m
MXでもできたとおもう
Mytext.htmlText = "<b>....</b>";
な感じで。
586Now_loading...774KB:2006/03/28(火) 22:54:13 ID:7l0oqOkS
ありがとうです。
<b>タグは使えました。
<img>タグは無理っぽいですね
587Now_loading...774KB:2006/03/29(水) 06:35:48 ID:4JZNWIER
>>586
gifが無理なだけでimgタグ使えますよ。
imgタグで指定可能な画像はjpgです。
<img src=\"../test.jpg\">
588Now_loading...774KB:2006/03/29(水) 09:02:47 ID:/1kP4mxf
「ActionScript 2.0 の学習」に、
「ActionScript は、できる限りタイムラインの最初か
2 番目のフレームに割り当てるよう」とありますが、
レイヤー1に、全体の制御
レイヤー2に、ボタンの制御
の様に、レイヤー別に書いても大丈夫でしょうか?
589Now_loading...774KB:2006/03/29(水) 10:27:20 ID:6rqCBv4w
>>587
MXでは<img>は使えないよ。
590Now_loading...774KB:2006/03/29(水) 10:31:59 ID:Bx6hSWN8
>>588
自分がそのほうが分かりやすいんだったらいいんじゃないの
591588:2006/03/29(水) 12:19:00 ID:/1kP4mxf
だよね!thx
592Now_loading...774KB:2006/03/29(水) 12:37:17 ID:hBKHt1Z+
>2 番目のフレーム
の理由がわからん
593Now_loading...774KB:2006/03/29(水) 13:03:01 ID:Bx6hSWN8
>>592
メインのタイムラインの1フレーム目だけは特殊で、完全に読み込まれなくても再生される(ストリーミング仕様のため)。
以降のフレームはフレーム単位で完全に読み込まれてから再生される。

そのため1フレーム目はやや不安定。同じフレーム上にあっても、タイミング次第で
まだ命令したいインスタンスを読込・構成中なんてことがありえる。
だから先頭フレームを回避して、安全な2フレーム目からコードを書くのが良いとする人達もいる。

まあ、好きに書け。
594Now_loading...774KB:2006/03/29(水) 13:17:47 ID:J9Fl1oBr
MC(A)に書かれた変数の値をMC(B)の変数に代入するには具体的にどのように記述したらよいか教えてください_(._.)_
595Now_loading...774KB:2006/03/29(水) 13:37:16 ID:AtYiuoss
>>594
値をMC(B)の変数=MC(A)に書かれた変数

パスがわからないなら、まずターゲットパスを学んで理解する
他のことはそれから
596Now_loading...774KB:2006/03/29(水) 14:39:56 ID:2g4H2MPu
mac OS10.3.9
Flash 8

fscommand2のGetDateWeekdayを曜日を取得すると、
本来なら下記のような値が返ってくるはずなのですが、

日 0 
月 1
火 2
水 3
木 4
金 5
土 6

何故か日曜が7になって返ってきます。

日 7 
月 1
火 2
水 3
木 4
金 5
土 6

日付はシステム環境設定の"日付と時刻"で手動で変更しています。
その後ムービープレビューで確認しています。
(携帯端末では未確認)

これはMacだけの現象なのでしょうか?
ご存知の方よろしくお願いします。
597Now_loading...774KB:2006/03/29(水) 15:03:53 ID:2vaur85R
Flash Media Serverで使うリモートSharedObjectの各種数的な上限に関する資料をどなたかご存じないでしょうか
できれば以下の項目について、サーバスペックを無視した実装上の上限情報を知りたいです。
・SharedObjectを作成できる数
・1つのSharedObjectで抱えられる最大のデータサイズ(バイト単位)
・もしSharedObjectの作成数や最大データサイズが何らかの数値(割り当てメモリ的なもの)に依存するのであれば、その数値の取得方法
・1つのSharedObjectにgetRemoteできる上限(NetConnectionの接続数は無視)
598Now_loading...774KB:2006/03/29(水) 15:23:13 ID:4rRGRMdO
>>596
new Date();
599Now_loading...774KB:2006/03/29(水) 21:53:14 ID:2Z8CMmEg
テキストフィールドA テキストフィールドB

を一つのスクロールバーで連動させることは出来ますか?

XP MX スクロールバーは付属コンポーネントを使用してます。 
600Now_loading...774KB:2006/03/29(水) 22:25:43 ID:AKLmuZRl
>>599
できる。そして華麗に600get
601Now_loading...774KB:2006/03/29(水) 22:55:25 ID:2Z8CMmEg
簡単に出来るのなら教えてさいm(__)m

説明が難解でしたら 気が向いた時でも・・
602Now_loading...774KB:2006/03/29(水) 22:56:45 ID:2scMiY+V
FlashMX2004を使って、入れ子MC(B)から見た親MC(A)の縦・横の
大きさを知るASは、Bの記述として

onClipEvent (load) {
Xp = this._parent.width;
Yp = this._parent.height;
trace("Xp= "+Xp);
}

ではNaNになります。間違いのご指摘を願います。
603Now_loading...774KB:2006/03/29(水) 23:09:54 ID:f2fiJI4L
>>599
それぞれのテキストフィールドにスクロールバーが付いていて、
片方のそれを動かしたらもう片方のも動くっていう風にしたら?
UIScrollBar.scrollPositionでスクロール位置を設定/取得できるから。
もしくは2つともMCにいれてそれをスクロールするか。

>>602
アンダーバーがない。 _width;
604Now_loading...774KB:2006/03/30(木) 00:28:13 ID:pCn6JTOS
ちょっとお聞きします。
XMLオブジェクトを使ったことがなかったので、勉強がてらRSSリーダでも作ってみようと思ってました。
ですが、汎用的なRSSリーダのおおざっぱな流れを書いてみたところ、

1.読み込みたいRSSのアドレスが記述された"./config.txt"を読み込む。
   これはいける。
2."config.txt"をバラしてアドレスをまとめる。
   これもおkおk。
3.RSSファイルのアドレスをXMLオブジェクトに取り込む。
   …ぽりしーって何?(´;ω;`)
4.RSSファイルって大抵EUCで書かれてるよね(flash内部はutf-8でしたっけ?)
   …('A`)自動でコード変換シテクレタリシナイカシラ?

4に関しては変換クラスなど無理矢理作ればどうにかなりそうですが、
3について、CGIを噛まさないでswfオンリーではできないでしょうか。
当方FlashMX ver7です。7はダメだが8ならできるよってのでも嬉しいです。
ご教授ねがいます。
605599:2006/03/30(木) 00:35:38 ID:H3qefHLN
ありがとうございます。
試行錯誤してみます〜!
606Now_loading...774KB:2006/03/30(木) 00:53:25 ID:xS4UrsMI
>>604
XMLクラス使うならswfファイルと同じドメインに属しているアドレスしか読み込めないよ。
607602:2006/03/30(木) 00:57:16 ID:3UBTBufO
>>603
どうもあんがと。
608604:2006/03/30(木) 01:04:02 ID:pCn6JTOS
>>606
あーやっぱりダメなんですか…。残念です。アドバイスどもです。
609Now_loading...774KB:2006/03/30(木) 02:03:37 ID:RwZ2jKWs
onClipEvent (keyDown) {if (Key.isDown(Key.SPACE)){
_root.attachMovie("A","A",100);
}}

onClipEvent (keyUp) {
if (Key.UP(Key.SPACE)){
_root.A.removeMovieClip();
}}
↑失敗
スペースキー押してる間だけ"A"を表示させたいんですがどうすればいいんでしょうか
610Now_loading...774KB:2006/03/30(木) 02:30:54 ID:xS4UrsMI
>>609
Key.UPなんてあった?
それ以前に押してる間ずっとattachされるよ。
キーリスナー使う。
611Now_loading...774KB:2006/03/30(木) 02:34:33 ID:RwZ2jKWs
>>610
押したら離しても描画されつづけます・・
612Now_loading...774KB:2006/03/30(木) 02:36:05 ID:RwZ2jKWs
連投すいません
キーリスナーでググったら分かった気がするので頑張ってみます
ありがとうございました
613Now_loading...774KB:2006/03/30(木) 06:56:42 ID:HI209Tdq
TextFieldの行間を動的に指定したいのですが、

○条件
・TextField.StyleSheetオブジェクトは必ず使用したい

○現在の状況
・TextField.StyleSheetオブジェクトは行間を指定するスタイルをサポートしていない
・TextFormatオブジェクトには行間を指定するプロパティが存在する
・TextField.StyleSheetとTextFormatオブジェクトをひとつのTextFieldに適用する事は出来ない

どーすればいいの?
614Now_loading...774KB:2006/03/30(木) 08:03:18 ID:pA86oKHu
>598

ありがとうございます。
ただどう使ってよいのかわからいので勉強してきます。
615Now_loading...774KB:2006/03/30(木) 09:36:59 ID:HgDgWc5S
actionscriptで連想配列ってどうやって作るんでしょうか?
A[key]みたいなものです
616Now_loading...774KB:2006/03/30(木) 10:05:23 ID:Gz/OfXb2
複数の数字を小さい順にしたいのですが、どうすればいいのでしょうか?
numAry = [100,90,5,0,-10];
よろしくおねがいします。
617615:2006/03/30(木) 10:20:15 ID:HgDgWc5S
連想配列は自己解決しました

>>616
numAry = new Array(100,90,5,0,-10);  //配列作成
numAry = numAry.sort();         //小さい順にソート


618617:2006/03/30(木) 10:22:11 ID:HgDgWc5S
ごめんなさい
数字も文字列でソートされますね
100がうまくソートできないみたいです
失礼しました
619Now_loading...774KB:2006/03/30(木) 10:28:04 ID:HgDgWc5S
あらためて
>>616
numAry = new Array(100,90,5,0,-10);     //配列作成
numAry = numAry.sort(Array.NUMERIC);  //小さい順にソート
620Now_loading...774KB:2006/03/30(木) 10:29:58 ID:8lrXXRtO
>>616
numAry=numAry.sort(Array.NUMERIC)
でどう?
621P-186-5652-lod:2006/03/30(木) 14:44:15 ID:5YleI/Z5
こんにちは このスレ初めてです。
FlashMX2004を使っています。
次のフレームへ行くASは何ですか?
教えてください。
お願いします。
622Now_loading...774KB:2006/03/30(木) 15:11:00 ID:eAYdskLM
>>621
nextFrame();
gotoAndPlay();
gotoAndStop();
play();
623616:2006/03/30(木) 16:44:45 ID:Gz/OfXb2
>619>620
見事に出来ました。ありがとうございます!
パラメータ指定ってのがあったとは。勉強になります。
624Now_loading...774KB:2006/03/30(木) 19:15:33 ID:VkgMXoqM
AAAって言う名前のムービークリップを
表示・非表示させるためのボタンに記載するACって
on (press) {AAA.chgvisible();}
であってますか?
625Now_loading...774KB:2006/03/30(木) 19:36:38 ID:J5FSyCFo
>>624
そういうfunctionを定義済みでターゲットパスも正しければ、あってる。
626Now_loading...774KB:2006/03/30(木) 23:03:21 ID:evaOO16t
>>100
私も同じことで悩んでました。
うまくいきませんね。
解決策がわかったら教えてください。
627Now_loading...774KB:2006/03/30(木) 23:59:23 ID:LOBoMHXo
>>626
開発用フォルダに日本語をつけない
628Now_loading...774KB:2006/03/31(金) 00:53:03 ID:Jhd47hC+
load1cara.onEnterFrame = f_1cara(load1cara, no, wait4);
load2cara.onEnterFrame = f_1cara(load2cara, no, wait3);

と書いて、fanctionのf_1caraを複数同時に実行させたいのですが、上手くいきません。
functionを同時に別物として実行させることは可能でしょうか?
629Now_loading...774KB:2006/03/31(金) 01:23:29 ID:XXgfVK8e
>>628
そのやり方だと引数渡せないんじゃなかった?
setInterval(f_1care,1000,load1cara,no,wait4);
630Now_loading...774KB:2006/03/31(金) 01:26:19 ID:pG0OueCk
>>628
そのアレだと「f_1cara(load1cara,no,wait4)」の返り値が、onEnterFrameに代入されてる形になる
「f_1caraという関数をonEnterFrame扱いで動かしたい」のなら
load1cara.onEnterFrame=f_1cara;
と関数そのものを代入する。onEnterFrameでは引数を持たせられない(と思う)
引数持って回すやりかたがないでもないけど、説明めんどい
631Now_loading...774KB:2006/03/31(金) 01:47:59 ID:7Ogg0HM6
>>628
load1cara.onEnterFrame = function() {
f_1cara(this, no, wait4);
};
632Now_loading...774KB:2006/03/31(金) 02:54:37 ID:kDw+TdQ/
var txt = "abc";
var myArray:Array = Array();
myArray.push({txt : 10});

のようにした場合、
myArray[0].txtで10を得ることができますが、myArray[0].abcではundefinedになってしまいます。
myArray[0].abcで10を得るにはどうしたらいいでしょうか?
633Now_loading...774KB:2006/03/31(金) 03:33:01 ID:EfMOP3rZ
>>632
myArray.push({abc : 10});
634632:2006/03/31(金) 05:29:05 ID:kDw+TdQ/
>>633
ああ・・・説明不足ですみません
var txt = "abc";
のtxtの中身を例えばforループなどを使ってabc1、abc2、…と書き換えていったときに、
myArray[0].abc1、myArray[0].abc2、…とどんどん作れるようにしたいのです
635Now_loading...774KB:2006/03/31(金) 09:06:04 ID:Up/r9PRE
>>634
var txt:String = "abc";
var myArray:Array = new Array();

var obj:Object = new Object();
obj[txt] = 10;

myArray.push(obj);
636Now_loading...774KB:2006/03/31(金) 10:18:28 ID:xoCfXAVc
普通にインデックス管理の2次元配列の方が良いと思うが、
いちおうこんな感じで実現はできるよ。
var txt:String = "abc";
var myArray:Array = new Array();
myArray[0] = new Array();

for(var i=0;i<10;i++){
myArray[0][txt+i]=100+i;
}
trace(myArray[0].abc0);
trace(myArray[0].abc8);
for( i in myArray[0]){
trace(i+"="+myArray[0][i]);
}
637Now_loading...774KB:2006/03/31(金) 14:07:00 ID:kDw+TdQ/
>>635-636
ありがとうございます!
後で作ってみます
638Now_loading...774KB:2006/03/31(金) 15:40:55 ID:Etce8h9+
MX使ってるんですが、
function kansu(){
trace("UP");
}
listener = new Object();
listener.onKeyUp = function() {
if (Key.getCode() == 38) {
kansu();
}
};
Key.addListener(listener);
としてもダメなので、_root.kansu();というように
絶対パスで指定してるんですが、
相対パスで指定するにはリスナーに関数を
設定しないといけないとどこかで聞いたことがあります。
どうやって設定するのでしょうか。

listener = function kansu(){}
でもだめだし、
listener.kansu = kansu();
でもだめでどうしたらいいかわからないです。
639Now_loading...774KB:2006/03/31(金) 15:57:42 ID:EeXUQEDj
ムービークリップの座標のってムービークリップの座標の中心になってるじゃないですか
これを左上になるように出来ませんか
640Now_loading...774KB:2006/03/31(金) 16:06:27 ID:1qUXnm+7
>639
F8押してシンボルの変換ウィンドウで、
基準点を決めるとこあるじゃないですかw
641Now_loading...774KB:2006/03/31(金) 16:13:50 ID:EeXUQEDj
>>640
ありました
どうもありがとう御座います
既に基準点が真ん中に設定されているシンボルの基準点を変える方法はありませんか
そうじゃないと今まで作った奴また作りなおさくちゃいけないじゃないですか
642Now_loading...774KB:2006/03/31(金) 16:19:56 ID:Etce8h9+
>>641
シンボル編集で左上に基準点が来るように移動すりゃいいじゃん。
複数フレームを同時に移動するときは複数フレーム編集で移動すればいい。

そんなことよりも誰か>>638を何卒
643Now_loading...774KB:2006/03/31(金) 16:38:02 ID:6kyd7XsB
>>642
listener.kansu=function(){trace("UP")}
つーか
>相対パスで指定するにはリスナーに関数を
>設定しないといけないとどこかで聞いたことがあります。
初めて聞いた。その嘘本当?
644643:2006/03/31(金) 16:40:45 ID:6kyd7XsB
ああ、
listener.onKeyUp = function() {
if (Key.getCode() == 38) {
this.kansu();
}
にしないと駄目かな?
なんにしても、>>638のままでも特に問題なく動作すると思うが
645Now_loading...774KB:2006/03/31(金) 16:49:31 ID:Etce8h9+
>>643-644
ああ、嘘だったのか・・・
リスナーで使う関数はリスナーで書かないとダメなんですね。
他で使ってる関数をリスナーで使うのに
絶対パスで書くのと解りにくくなるんで
嫌だったんですけどしょうがないですね。
ありがとうございました。
646Now_loading...774KB:2006/03/31(金) 16:52:29 ID:EeXUQEDj
>>642
シンボル編集時のX,Y座標がシンボルの基準点になってるんですね
できました
ありがとう
647Now_loading...774KB:2006/03/31(金) 17:42:13 ID:HU8+KAT5
>>622
ありがとうございます

nextFrame();
gotoAndPlay();
gotoAndStop();
play();

でできるんですね!
648Now_loading...774KB:2006/03/32(土) 12:05:03 ID:wPfTkPL8
最初から配置してあるbox_mcの深度は負(-16383)になると思いますが、
これを正の階層までもって来ることは出来るでしょうか?

正の階層にあるmcとswapDepthsする方法以外で出来ればいいのですが。
よろしくお願いします。flash8です。
649Now_loading...774KB:2006/03/32(土) 12:13:03 ID:v/fg7whC
>>648
swapDepthsで深度指定するのじゃだめかね
650648:2006/03/32(土) 13:08:05 ID:wPfTkPL8
>649 どうもです。
表現上、最初から配置してあるbox_mcの下に、
body_mcを生成して消したいのですが、

_root.attachMovie("body","body_mc",1);
body_mc.swapDepths(box_mc);
body_mc.removeMovieClip();
これだとbody_mcが負にあるんで消せないので困ってます。

ダミーmcを正に作るのがベストなんでしょうかね?
651648:2006/03/32(土) 13:17:11 ID:wPfTkPL8
解決しました。
box_mc.swapDepths(1);
です。お騒がせしました。
652Now_loading...774KB:2006/03/32(土) 13:23:45 ID:OvRdLDh6
FLASH8 proで書き出しはFLASH player7 as2です。

flvファイルを3つ 対応するボタンを押した時に読み込んで再生しているんですが
flvを読み込んだ時に 読み込んだflvの長さ(秒数)を取得する方法はありますか?

また、再生中にシーンに配置したバーの長さを再生位置と連動させたいのですが
何か方法はありますか?
※コンポーネント・コントロール不使用で。
653Now_loading...774KB:2006/03/32(土) 15:11:26 ID:FC5AEUtD
>>652
気合で
654652:2006/03/32(土) 15:23:36 ID:OvRdLDh6
>>653
気合いしかないとですか・・・。


というか、コンポーネント使わないと無理ですか?
655Now_loading...774KB:2006/03/32(土) 15:26:09 ID:eH2qF4P3
>>654
コンポーネントなんて無くてもFlashは作れる
656652:2006/03/32(土) 15:40:38 ID:OvRdLDh6
>>655
>コンポーネントなんて無くてもFlashは作れる

作れるって言うのは、シークバーのようなものをコンポーネント無しで
FLASHplayer7を対象に作れるって事でしょうか。

onStatusのtimeで再生位置は取得出来るので、もう少しで出来そうなのですが、
flvを再生中のみtimeを再取得する方法はありますか?
forやwhileでonStatusのns.Play.StopまたはEmptyを取得するまでループさせてみたんですが、
再取得→再取得までタイムラグがないせいか無限ループになるのか落ちてしまいます。
解決方法はないですか?
657Now_loading...774KB:2006/03/32(土) 16:52:43 ID:O3xjZCtG
コンポーネントだって一応ASで動いてるだろうから
コンポーネントにあるものは普通に作れるんじゃね?
658Now_loading...774KB:2006/03/32(土) 16:53:52 ID:1yjZTZ6g
>>656
Flvの長さはFCSじゃないと取得できないっぽいよ。

stream_ns.onStatus = function(infoObject:Object) {
if (infoObject.code == "NetStream.Play.Stop") {
trace("再生終了");
}
};

これで再生終了は取得できるから、Flvの長さも取得できる。
ただ、一回最後まで再生しないとだめだけど。

メディアコンポーネント使っても長さは取得できない。自分で設定しないとだめ。
3つくらいならあらかじめFlv長さを設定しとけばいいんじゃない?
659658:2006/03/32(土) 19:53:12 ID:OvRdLDh6
>>657-658
どうもです。
実は今のところ長さは手動でセットしてます。
一回最後までっていうのは知りませんでした。
通りでtraceしても成功したり失敗したりするはずです。

で、コンポーネントがasで動いているのは分かるんですが
関連付けする対象ってMCになりますよね?
試しにコンポーネントにビヘイビアで関連付けしたら
videoオブジェクトが勝手にMCに変わっていました。
MCに変わると、videoオブジェクトまでのパスを変更しても
読み込み→再生は音声が出ているので出来ているようなんですが画面表示がされません。
むしろコンポーネント使って、画面表示されないのを何とかする方が早いですかね?

コンポーネント初めて使うんでワケわかりませんが、色々やってみます。
660Now_loading...774KB:2006/03/32(土) 21:09:00 ID:1yjZTZ6g
>>659
手動で長さをセットしてるなら、コンポーネント使わなくてもシークバーつくれるしょ。
661652:2006/03/32(土) 22:00:36 ID:OvRdLDh6
>>660
続けていっぱい書いてすまそ。
ちょっと負荷が高い気もするけど、一応動きました。
「一応」なんで晒すのアレですが書いときます。

※シーンに置いた再生一表示用バーMCに記述
onClipEvent (enterFrame) {
//timefullに数値がセットされたら(flvを読み込んだら)スタート
if (_root.timefull>0) {
_root.timenow = _root.obj_ns.time;
if (_root.obj_ns.time != _root.timefull) {
_root.bar_play._xscale = (_root.timenow/_root.timefull)*100;
}
}
}

変なとことか効率悪いとこあったら指摘してください。
662Now_loading...774KB:2006/04/02(日) 03:56:05 ID:Q9OB+ChB
行き詰ってますorz どなたか助けてください
以下のmyDataクラスはphpからXMLを取得し、取得したデータを
プロパティであるdataXmlの子要素に追加し保持させるものです。

class myData {
 public var dataXml:XML;
 public function myData() {
  var dataXml:XML = new XML();
  var root = dataXml.createElement("root");
  dataXml.appendChild(root);
 }
 public function loadData(param:String) {
  var loadXml = new XML();
  loadXml.onLoad = function() {
   dataXml.firstChild.appendChild(this.firstChild);
  }
  loadXml.load("xml.php?param=" + param);
 }
}

XMLは間違いなく受け取れており、onLoadの中でのappendChildもうまくいってるんですが
onLoadの外に出るとdataXmlはundefinedになってしまいます。
スコープの問題でしょうか。どなたかアドバイスおねがいします。m(_ _)m
663Now_loading...774KB:2006/04/02(日) 07:31:09 ID:xGIXzqfp
FlashMX2004(Player6)で質問です。

Flashで音楽のインジケーター(dBメーター)は実現可能なのでしょうか?
目指すは、20年程前にコンポに搭載されていた程度のL・Rレベルメーター
みたいなものです。
664Now_loading...774KB:2006/04/02(日) 08:12:02 ID:AE6WyTaN
すまん、質問させてくれ
winの8使ってるんだけど、単純なアクションスクリプトがわからない

全部で3フレームのムービーなんだけど
2フレーム目と3フレーム目にMCが配置されてて、
ランダムでそのどちらかを実行するスクリプトを書こうと思ってます。

で、1フレーム目のタイムラインに

n = Math.floor(Math.random()*1);
_root.gotoAndStop(n+2);
stop();

って書いてあるんだけど、これじゃダメですか?
F12で実行すると動くんだけど、htmlで開くと動かなかったり、
2フレーム目にしか止まらなかったりして参っています。
マクロメディアで公開してるランダム値返すスクリプト張っても動かないし。。
@スクリプト的にそもそも間違ってる
A実行環境に問題がある
どちらでしょうか、教えてください。お願いします。
パブリッシュはplayer8で、ファイル容量は250kb程度です。
665Now_loading...774KB:2006/04/02(日) 09:35:59 ID:d5f7L9Dg
>>664
Math.floor(Math.random()*1);
これだと0しか出ないよ。*2な
666Now_loading...774KB:2006/04/02(日) 10:02:36 ID:pKOQ4F8L
>>662
どうやってundefinedを確認したか、またloadできてるかを確認したかを
書いてくれないとわからん。
aa = new myData();
trace(aa.dataXml);でだめってことかな。
>>663
無理。自分の耳で聞きながらアニメーション作る。
667Now_loading...774KB:2006/04/02(日) 13:10:42 ID:Ju1WhlBd
>>664
読み込み終わってないとか、キャッシュのせいじゃね?
ランダムに飛ばすなら必ず最初に飛びたいフレームまでは読み込みが終わってることを確認する。
668Now_loading...774KB:2006/04/02(日) 13:15:34 ID:uYUotBnf
>>663
setPan
669Now_loading...774KB:2006/04/02(日) 13:43:47 ID:JEMufZPL
>>662
スコープの問題ですね。
解決するには、loadXml.target = this; としてloadXmlにメンバを追加して、
onLoad関数内で this.target.dataXml〜 という風にmyDataクラスのメンバにアクセスするか、
もしくはDelegateクラスを使う。
670Now_loading...774KB:2006/04/02(日) 13:50:16 ID:AE6WyTaN
>>665 >>664
うまくいきました! ありがとうございます。
Now loadingをつけてなかったのがまずかったみたいです。
いやー、250kb程度なら大丈夫だろって思ってたのがまずかったようで…

こんな単純なスクリプトで嵌ると逆にパニックになるというか、、
とにかく助かりました。 ほんとにありがとう!
671663:2006/04/02(日) 15:14:34 ID:HAQHCi72
>>666, 668
有難うございます。
「Flash ActionScript 逆引き大全550」を見ると、setPan/getPanのほかに
setTransform/getTransformがありましたので、これを使ってみます。
672Now_loading...774KB:2006/04/02(日) 15:51:41 ID:Dl7l1Y9V
>>663
>インジケーター(dBメーター)
ってのはあの音に合わせてビヨンビヨンってなる
バーみたいなモノの事かな?
だとしたら
SwiftMP3を使えば出来なくもないってはなしを聞いたことがある。
SetPan/getPan 、 setTransform/getTransform
では作れない。
673663&671:2006/04/02(日) 21:01:15 ID:Ac4hdoC1
>>666, 668,672
そうです。あの伸び縮みする棒です。
でも、setPan/getPan、setTransform/getTransform ではやっぱ不可でした。

SwiftMP3で検索すると ttp://d.hatena.ne.jp/itm/ に、「今のACTIONSCRIPT2
は無理なようです。しかしながらACTIONSCRIPT3からは可能みたい。おーそれって
次バージョンのflashから組み込まれるようです」
とのことです。
674Now_loading...774KB:2006/04/02(日) 21:49:30 ID:1ROIXYB+
携帯端末用のFlashを作ってます
深度も変えつつMCの複製をするにはどうすれば良いでしょうか?
関数duplicateClipを使うことぐらいしか分かりませんorz
675Now_loading...774KB:2006/04/02(日) 22:07:38 ID:hFUUIUyQ
FlashとCGIの連携を勉強したいのですが
良いサンプルやHPありませんか
676Now_loading...774KB:2006/04/02(日) 22:12:52 ID:6XFGi6Zf
Flash cgi 連携 でググる
677Now_loading...774KB:2006/04/02(日) 22:15:12 ID:hFUUIUyQ
>>676
ググッて最初に良いページが出るんですけど
サンプルのコードが分りにくいというか
キャストしてる型の説明とか一切無いので読み下せないんです
でもぐぐって出てくるサンプルでまともなのはあれだけなんで・・・・
678Now_loading...774KB:2006/04/03(月) 14:34:55 ID:VaUtTjzd
「flash perl」
「actionscript perl」
「flash php」
「actionscript php」
ならまた違う結果になるかもよ?
679Now_loading...774KB:2006/04/03(月) 14:46:18 ID:qqNe3btg
ネットじゃなくて本にしてみるとか
「Macromedia Flash 5/MX」
ActionScript+CGI プログラミング
Flash + CGIのプログラムを基礎から解説!
680Now_loading...774KB:2006/04/03(月) 15:56:25 ID:VaUtTjzd
attachMovieしてランダムに配置したインスタンスを
どれかひとつクリックした時に、
そのクリックしたインスタンスのインスタンス名を取得する
いい方法ありませんか。

連番名のインスタンス名にしてforで回して、
マウスカーソルでhitTestしてるんですが
これでいいのか疑問でしたので聞いてみました。
もっといい方法がありましたら教えてください。
681680:2006/04/03(月) 16:20:14 ID:VaUtTjzd
いまはこんな感じです。

this.onEnterFrame = function() {
for (i=0; i<=4; i++) {
if (this["btn"+i].hitTest(_root._xmouse, _root._ymouse, true)) {
targetMC = "btn"+i;
_root[targetMC].onRelease = function() {
};
}
}
};
682Now_loading...774KB:2006/04/03(月) 16:21:19 ID:qqNe3btg
>680
takoのオブジェクトスクリプトに
on(Release){trace(this._name);}
takoをtakoMCに入れる。
attachMovieでtakoMC。

オブジェクトスクリプトが嫌なら、Class作るとか?
これは良くわかんないw
683Now_loading...774KB:2006/04/03(月) 16:23:46 ID:qqNe3btg
trace(this._parent._name);
こっちだ。すまそ。
684Now_loading...774KB:2006/04/03(月) 16:42:11 ID:2OlN9/gK
どこの何がインスタンス名を受け取りたいのかわからんが
attachMovieしたMCに、this.onReleaseで
どっかの変数にthis._nameを代入するfunctionを定義するとかかね。

毎フレーム、ループでhitTest()してからファンクション定義は
さすがに非効率では?
つか、クリックでいいんだよね?
685680:2006/04/03(月) 18:11:18 ID:VaUtTjzd
>>682-684
できればMC内にはスクリプト書かないようにやってみたいですけど
やっぱり無理ありますでしょうか。

>>684
>どこの何がインスタンス名を受け取りたいのかわからんが
onRelease = function()の前にインスタンス名が解るようにしたいです。
あとクリックだけというわけではないです。


とりあえずお暇な方が居られましたら一度見てアドバイスしてもらえますでしょうか。
物としてはCGIから受け取ったデータを表示して、
編集してCGIに送ると言った物なんですが、まだできてません。
仮の配列データを作成して表示編集までです。
http://up2.viploader.net/mini/src/viploader23789.zip.html
pass:test
686Now_loading...774KB:2006/04/03(月) 18:25:39 ID:Ml12F6tH
>>685
MC内に書かなくてもいい、attachMovie()して出来たMCにfunctionを定義したっていい。

> onRelease = function()の前にインスタンス名が解るようにしたいです。
その理由は?
最初の話だと「クリックしたとき」にそのMCの名前がわかるってことだったよね?
ということは、クリックされるMCのonReleaseイベントハンドラ内に、自分の名前を返すような
ASを書いとけばいいだけではないのかと思うのだが、それがダメだとしたらその理由は?
設計が誤解や思いこみに基づいている場合もあるし、こっちが誤解してるかもしれない。
もっとやりたいことの全体像を説明してみたら?
687Now_loading...774KB:2006/04/03(月) 18:39:24 ID:MtfysTmR
>>685
たぶん本質ではないと思うので、参考までに。
for文で配列全体をサーチするときに
for (i=0; i<=player.length-1; i++) {...}は
for(var i=0;i<player.length;i++){...}と書くのが無駄な演算と同値比較がないし、いいとおも。
ASはJavaとはちがってファンクションレベルのローカル変数だけど、
var書いておくクセをつけとくのがよか。

で、俺ならグローバルに配列取って、attachしたときにその配列番号をMCに持たせる。
MC側でクリックされたらそのグローバル配列の自分のインデックスを更新する。
自分自身の処理(ボタンの変化のアニメとか)は自分のMCで処理するなんて感じで作るとおも。
688Now_loading...774KB:2006/04/03(月) 22:32:45 ID:snyCMfYn
ぱっと見た感じ、右側で設定した情報をもっと効果的に管理したいんだよね?
右のトレース結果左に出してるし。

つーことは、
units = [
{
mc:movieClipPath,
id:Number,
name:String,
p1:Boolean,
p2:Boolean,
p3:Boolean,
NML:Number
},
{...},
{...},

.
.
]

ってな感じのオブジェクト配列作れば良いんじゃないかな。

んで、オブジェクト内容をMCに反映させるメソッドでも作っておけばOKかと。
689Now_loading...774KB:2006/04/03(月) 23:04:03 ID:rdSWGYrA
ムービークリップに

onClipEvent(enterFrame){
 if(Flag){

}
690Now_loading...774KB:2006/04/03(月) 23:09:44 ID:rdSWGYrA
すみません途中で送信してしまいました

ムービークリップに

onClipEvent(enterFrame){
 if(Flag){
  gotoAndStop(1);
 }else{
  gotoAndStop(2);
 }
}

のようなscriptをつけて、Flagの変化によってフレームを変えたいのですが、
enterFrameでFlagの状態を監視し続けるの負荷的にはどうでしょうか?
自分の環境では、forなどで繰り返し回数が多くなると明らかに処理が遅くなるのはわかるんですが、
上のようなものはよくわからず、他の環境でどうなのかもわかりません
ifの処理って軽いものなんでしょうか?
691Now_loading...774KB:2006/04/03(月) 23:25:26 ID:/qwkUppI
>>690
最近のコンピュータならそれくらい平気

下のスクリプトならフラグが変わった時だけ
フレーム移動するようになるのでわずかに軽くなると思う

onClipEvent(enterFrame){
if(Flag && _currentframe == 2) gotoAndStop(1);
else if(!Flag && _currentframe == 1) gotoAndStop(2);
}
692Now_loading...774KB:2006/04/03(月) 23:27:28 ID:70xdUdjb
>>690
for文は終わるまで処理は返ってこない。

そのASが一例ではなくそのまま使うものであれば
if文の処理よりenterframe使うことの処理の負荷を考えた方がいいと思う。
Flagの値を変えたときにgotoAndStop()を実行したほうがいい。関数化したりして。
693Now_loading...774KB:2006/04/03(月) 23:37:12 ID:z45N64A1
>>692に同意。
enterFrame1つくらいじゃ、たいして重くはないかもしらんが
Flagの値を変えるタイミングがわかるなら、監視するのは無駄っぽい。
694690:2006/04/03(月) 23:59:00 ID:rdSWGYrA
>>691-693
なるほどーありがとうございます
なるべくenterFrame使わないようにがんばってみます
695Now_loading...774KB:2006/04/04(火) 04:09:47 ID:LbgsuUyQ
FlashMX2004を使っています。リンケージされたMP3ファイルの再生法
で質問です。
page1というMCの下のパスに開始ボタンを配置し、「song」というMP3を
再生するASとして

on (press) {
snd1 = new Sound();
s1_sound.attachSound("song");
snd1.start();
}

を書きましたが、再生が始まりません。
間違いのご指摘を願います。
696Now_loading...774KB:2006/04/04(火) 04:32:24 ID:VDt0T/kg
snd1.attachSound("song");
697695:2006/04/04(火) 04:53:40 ID:rY4qKH7r
>>696
Thx。あー、また凡ミスだった・・・
698Now_loading...774KB:2006/04/04(火) 10:09:49 ID:A1yRBPC0
2つのキーフレームがあって、それぞれに別のコンポーネントのボタンを置いたFlashを作りました
各キーフレームにはボタン以外に四角形や文字や線が配置されています
ボタンを押すとキーフレーム間を行き来できます
単体のFlashでそれぞれのキーフレームの要素だけ表示される事を確認しました

このFlashを別のFlashに置いたScrollPaneに読み込んだんですが、ボタンを押してフレームを行き来すると前のフレームのボタンが残ります
コンポーネント以外の要素(四角とか文字とか線とか)は表示しているフレームのものしか表示されません
キーフレームは空白で追加したので、前のフレームから持ち越した要素はありません

ScrollPaneで読み込むとコンポーネントの扱いが変わるのでしょうか?

WindowsXPSP2+FlashMX2004(7.2)+IE6SP1+FlashPlayer8で開発しています
699Now_loading...774KB:2006/04/04(火) 12:23:26 ID:R4bICJXR
特定のキーを押したときに、
ボタンインスタンスを押した動作をさせたいのですが、
ActionScriptでボタンインスタンスを押すことって出来るでしょうか?
flash8です。よろしくお願いします。
700Now_loading...774KB:2006/04/04(火) 12:57:06 ID:h1EVowAm
>>699
考え方を変える。
ASでキーを押した時と、ボタンを押した時、同じ関数を実行させる。
ボタンを押したことも見せたいなら、ボタンMCにgotoAndPlay()とかさせる。
701Now_loading...774KB:2006/04/04(火) 14:13:44 ID:1ADTBhOz
[W]キーを押したときに絵が凹むようにはできたんだが、
[W]キーから指を離したときに別のフレームへgotoAndStopさせる関数(?)
はありますかね?
ググり方が悪いのかもしれないけど、どうも引っかからないんで。。
702Now_loading...774KB:2006/04/04(火) 17:12:29 ID:aodQQfA3
>>701
ユー。メソッドのDownをUpに変えてみなYO!
703Now_loading...774KB:2006/04/04(火) 17:40:54 ID:m32SDABM
>>701
if elseじゃだめなの?

if(Key.isDown(87)) gotoAndStop(2);
else gotoAndStop(1);
704703:2006/04/04(火) 17:42:34 ID:m32SDABM
トリッキーに書くと
gotoAndStop(Boolean(Key.isDown(87))+1);
705Now_loading...774KB:2006/04/04(火) 17:42:56 ID:nwwatmwn
ソフト=FlashMX2004,OS=Win98SE
リンケージされたグラフィックシンボル(B)をあるシンボル(A)の入れ子として
呼び出す場合の質問です。

Aがメインタイムラインの1〜20フレまでグラフィックで、21〜40フレでMCに変
わり、ボタンを押してBをAの中に呼び出す方法が分かりません。暫定的な対
処として、メインの1〜20フレもMCにすればボタンを押して呼び出すことが出来
たのですが、本来の設計とは違う形になり、他の部分に影響が出ます。

言い換えると、 メインの21フレ → ボタン → Bの出現 です。
私の意図は伝わりましたでしょうか?
706Now_loading...774KB:2006/04/04(火) 18:06:33 ID:R4bICJXR
>705
ボタン押すとAの中にBを作るでいいのかしら?
btn.onRelease= function(){
A.attachMovie(B,"newName",depth);
}
707699:2006/04/04(火) 18:09:03 ID:R4bICJXR
>700
ボタンインスタンスじゃなくムービークリップインスタンスでやったほうがいいのですね。
ありがとうございました。
708Now_loading...774KB:2006/04/04(火) 18:19:48 ID:R4bICJXR
>706
なんか違うかな
ムービークリップAの21フレームにMCがおいてあるってこと?
そのMCに名前(仮にC)をつけて、
btn.onRelease= function(){
A.gotoAndStop(21);
A.C.attachMovie(B,"newName",depth);
}
709Now_loading...774KB:2006/04/04(火) 19:47:45 ID:vaDNRJX0
ボタンシンボルの中にテキストフィールドを置いて
そのテキストフィールドのtextプロパティーを変更したいのですが
上手くいきません
ボタンシンボルのインスタンス名:button
ボタンシンボル内のテキストフィールドのインスタンス名:tf
この様な条件下で
_root.button.tf.text="moji";
としてもテキストフィールドの文字が変わりません
何か対案か何処がま違っているのか分ったら教えてください
710Now_loading...774KB:2006/04/04(火) 20:37:33 ID:Hu2jn169
>>709
ボタンをMCにする。
ボタンシンボルのなかみはASで制御できない。
711Now_loading...774KB:2006/04/04(火) 21:01:29 ID:vaDNRJX0
>>710
MCだと出来ました
ありがとうございました
712705:2006/04/04(火) 21:15:54 ID:HKb7h53E
わーい♪、IDが全部小文字だあ♪♪

(それはさておきw)706,708さん有難うございます。設計の概観としては706さん
が近いです。
ソフト上では、メインのフレーム1〜20までがグラフィックで、上のレイヤーが少し
づつ移動する毎に隠れていたAが表れ、21フレで完全に現れると同時にAはグラ
フィックからMCになります。このMC(A)の入れ子に呼び出しボタンがあり、ASは

on (press) {
pic_rnd = Math.floor(Math.random()*5)+1;//1〜5の数字を発生
picProp = {_x:180, _y:-230, _xscale:1, _yscale:1};//呼び出し場所と大きさ
showPic = "pict";
this.attachMovie("pic"+pic_rnd, showPic, -16382, picProp);//呼び出す
trace("showPic="+showPic);
}

です。this.attachMovie()の辺りに問題があると思いますが、解決策が分かりません。
713Now_loading...774KB:2006/04/04(火) 21:40:10 ID:bXJxcDtj
>>698
俺もMX2004だけど、ちゃんと描画されるよ。
714705&712:2006/04/04(火) 22:04:04 ID:r5NDZMyC
・・・・大変申し訳ないです。

実はちゃんとムービーは現れていましたが、traceのウインドウに隠れて
見えなかったです。つまり希望した位置に現れず、rootつまりステージ
の原点(0,0)に現れていました。
重ねてお詫び致します。

恥のついでに質問ですが、MC(A)内の希望した位置に呼び出すには
picProp = {_x:0, _y:0, _xscale:1, _yscale:1}; //大きさは徐々に拡大
showPic = "pict";
this.attachMovie("pic"+pic_rnd, showPic, -16382, picProp);

をどう書き換えればいいでしょうか? この場合だと先に書いた通り、
ステージの原点に現れます。
715Now_loading...774KB:2006/04/04(火) 22:47:24 ID:R4bICJXR
>712
this.attachMovie("pic"+pic_rnd, showPic, -16382, picProp);//呼び出す

this.attachMovie("pic"+pic_rnd, showPic, this.getNextHighestDepth(),picProp);
必要があればですが。

>714
Aの原点がステージの原点と同じだからではないでしょうか?
Aをずらすか、_xと_yを100などにしてみたら?
716705&712:2006/04/04(火) 23:07:41 ID:dpRo7vWi
>>715 Aをずらすか、_xと_yを100などにしてみたら?

これで何とか出来そうです。
あと、this.getNextHighestDepth()も使ってみます。
717701:2006/04/04(火) 23:30:40 ID:1ADTBhOz
>>702-704
ありがとうございます!
正常に動きました。
>>704は私の今の知識ではワカリマセン^^;
一歩ずつ頑張っていきます。
718Now_loading...774KB:2006/04/05(水) 03:29:16 ID:1U/Ta7N3
test = ["a","b","c","d",];
test2 = [] ;
for( i = 0 ; i <= 3 ; ++i ){
 kazu = Math.floor(Math.random() * ( 4 - i )) ;
 test2.push( test.splice( kazu , 1 )) ;
}

これで配列インスタンスのtestが、test2の中にランダムにソートされると思ったのですが無理でした。
どこが悪いのかを、どなたか教えて頂けませでしょうか。
719718:2006/04/05(水) 03:41:14 ID:1U/Ta7N3
すみません自己解決しました。
test = ["a","b","c","d"] ;
test.push(test.slice(0,5)) ;

これでtestの要素数が8に増えると思っていて、
実際の要素数は5つなのに、8個分の処理してました。
本当にすみませんでした。
720Now_loading...774KB:2006/04/05(水) 08:29:26 ID:as1mh6mN
WキーのMCに
onClipEvent(enterFrame) {
WKey = 87;

if(Key.isDown(WKey)){
this.gotoAndPlay("press");
}else{ gotoAndStop("normal");
}
}

onClipEvent(enterFrame) {
if(Key.isDown(WKey)){
cpoint=1;
point=5;
_root.score+=point;
_root.combo+=cpoint;
}
}

onClipEvent(enterFrame){
if(Key.isDown(WKey)){
presscount++;
}
}
721Now_loading...774KB:2006/04/05(水) 08:32:29 ID:as1mh6mN
スペースキーのMCに
onClipEvent(enterFrame) {
Space = 32;

if(Key.isDown(Space)){
this.gotoAndPlay("press");
}else{ gotoAndStop("normal");
}
}

onClipEvent(enterFrame) {
if(Key.isDown(Space)){
cpoint=1;
point=1000;
_root.score+=point;
_root.combo+=cpoint;
}
}

onClipEvent(enterFrame){
if(presscount=3){
cpoint=1;
point=10;
_root.score+=point;
_root.combo+=cpoint;
}else{
if(Key.isDown(Space)){
presscount=0;
}
}
}
722Now_loading...774KB:2006/04/05(水) 08:33:50 ID:OEqgN+9i
>>720>>721
構文の基本を学ぶべき
723720〜722:2006/04/05(水) 08:35:59 ID:as1mh6mN
タイムラインの一番最初に
score=0;
combo=0;
presscount=0;

あとはステージ上に[score]と[combo]の変数付きのダイナミックテキストが二つです。

なけなしの知識をふんだんに盛り込んだところ、自分でもわけ分からないASになってきました。。

Wを二連打したらスペースを一回押さないと減点されるスクリプト
(WWスペースWWスペースWWスペース....)と操作するゲームのようなものを作りたいのですが、
勝手にスコアがすごい勢い(FPSレートはかなり高く設定)で上がってしまいます。。

欠陥だらけのASですが、バシバシご指摘ください!てか、お願いします!
724720〜722:2006/04/05(水) 08:46:37 ID:as1mh6mN
>>722
被っちゃいましたね^^;

文法やら何やらは学んでる最中で、まずはとにかく動くようにして
その後参考書を片手にASの整理に挑戦してみようという予定なんです。。
725Now_loading...774KB:2006/04/05(水) 09:25:49 ID:xbT9PzES
>723
とりあえず、何が問題かしぼってみてはどうでしょうか?
wを1回押す動作は正常ですか?
2回押したことをどうやって判断しますか?
動作を一つずつ紙に書いて解決していって下さい。
726Now_loading...774KB:2006/04/05(水) 10:45:00 ID:yMSo+mAa
onKeyUp使ってキーを離したときに処理をすればいいんじゃね?

var listener = new Object()
listener.wordList = [87,87,Key.SPACE] //"w","w","[SPACE]"
listener.answerIndex=0
listener.onKeyUp = function(){
var currentAnswer = this.wordList[this.answerIndex%this.wordList.length]
if (currentAnswer==Key.getCode()){
trace("あってる")
this.answerIndex++
}else{
trace("まちがってる")
}
}
Key.addListener(listener)
727Now_loading...774KB:2006/04/05(水) 12:18:06 ID:xbT9PzES
多次元配列を文字列から作っています。
[[取得するキーの名前,キーコード,押すflg],[〜以下略]]
押すflgはBooleanにしたいのですが、下のASだとStringになっています。
どう書けばいいのでしょうか?よろしくお願いします。

key1 = "Z,90";
key2 = "X,88";
//[取得するキーの名前,キーコード,押すflg]
allKeyAry = new Array();
i = 1;
while (this["key"+i]) {
this["key"+i]+=",true";
allKeyAry.push(this["key"+i].split(","));
i++;
}
trace(typeof(allKeyAry[0][2]));
728Now_loading...774KB:2006/04/05(水) 12:32:17 ID:xWONrAuk
>>727
key1 = "Z,90";
key2 = "X,88";
//[取得するキーの名前,キーコード,押すflg]
allKeyAry = new Array();
i = 1;
while (this["key"+i] != undefined) {
allKeyAry.push(this["key"+i].split(","));
allKeyAry[i-1].push(true);
i++;
}
trace(typeof(allKeyAry[0][2]));
729727:2006/04/05(水) 12:48:38 ID:xbT9PzES
>728
allKeyAry[i-1]ですね。ありがとうございます!
i=1にしたの忘れてて、allKeyAry[i]で諦めてました
凡ミス無くならないなぁ

while (this["key"+i]) {

while (this["key"+i] != undefined) {
となってますが、後者の方がいいんですか?
730720:2006/04/05(水) 14:54:49 ID:as1mh6mN
>>725-726
返信ありがとうございます。
一つ一つ攻略してみます。
731Now_loading...774KB:2006/04/05(水) 23:13:48 ID:r6PPV7SX
nextFrame();って次のフレームに移動した後、
強制的に停止させられるんですか?
732Now_loading...774KB:2006/04/05(水) 23:27:58 ID:3o/a+lm7
>>731
そう。
嫌なら、play(); を使う。
733Now_loading...774KB:2006/04/06(木) 00:15:30 ID:SGLGUqxo
↑どうもです
734Now_loading...774KB:2006/04/06(木) 14:34:55 ID:3K3euyaO
onClipEvent (enterFrame)で質問いたします。
FLASH5で制作していますので、AS1での方法をお願いいたします。

ステージ上にボタンとドラッグできる画像MC、画像のターゲットになるMCを置き、
ボタンで画像を拡大・縮小するFLASHを作っています。
画像MCにはこのような拡大・縮小用の空MCを入れてあります。

onClipEvent (enterFrame) {
_root.img1._x += (_root.img1target._x-_root.img1._x)/3;
_root.img1._y += (_root.img1target._y-_root.img1._y)/3;
_root.img1._xscale += (_root.img1target._xscale-_root.img1._xscale)/3;
_root.img1._yscale += (_root.img1target._yscale-_root.img1._yscale)/3;
_root.img1._rotation += (_root.img1target._rotation-_root.img1._rotation)/3;
}
735Now_loading...774KB:2006/04/06(木) 14:36:06 ID:3K3euyaO
(続き)これは縮小用ですが拡大もターゲットが違うだけで要領は同じです。

拡大や縮小はきちんと動作したのですが、問題はimg1targetの位置に縮小で戻った後に
ドラッグしてもimg1targetの位置に戻ってしまいます。
縮小後(できれば縮小している最中も)再びドラッグを有効にさせる方法はないでしょうか?
736Now_loading...774KB:2006/04/06(木) 15:42:25 ID:tT+jEJQv
ボタンを押した後は、ドラッグできないって事?
enterFrameを止める必要があると思う。
オブジェクトスクリプトの書き方忘れちゃったから、
_rootに書く場合でw
img1を押したら、
img1.onPress = function(){
delete img1.onEnterFrame;
}
離したら、
img1.onRelease = function(){
img1.onEnterFrame =function(){
_root.img1._x += (_root.img1target._x-_root.img1._x)/3; 〜
}}
こんな感じの事すればどうでしょう?
737Now_loading...774KB:2006/04/06(木) 15:54:23 ID:TdkAZ7n+
windows2k
FLASH MX2004 使ってます。

cgiに関しては最近始めたばかりで勉強中です。

サーバー上のcgiとFLASHで連携させたりしてるんですが、その際
利用したcgi(の結果?)がTemporary Internet Filesフォルダに
キャッシュされてしまいます。ファイル名も分かるので、できれば
フォルダに残したくありません。

CGIからは、print文で文字列を返しています。

開くと、cgiとFLASHで通信した結果(=print結果の変数)のみが書かれた
テキストとして表示できてしまいます。

キャッシュからリンクをたどるとテキストとして認識されてしまうみたいで
ダウンロードを促されます。(アドレスを直接ブラウザから叩いてもエラー
を返すようになっています)

何か、flashとcgi間で通信した結果をキャッシュで残さない対策は
ありますでしょうか。
よろしくお願いいたします。
738737:2006/04/06(木) 16:04:23 ID:TdkAZ7n+
もしスレ違いでしたらすいませんです。
よろしければで結構ですので、何かご存知の方はご教授ください(__)
739Now_loading...774KB:2006/04/06(木) 16:14:21 ID:zdeh5FKx
リクエストヘッダにno-cacheって書いておく
740Now_loading...774KB:2006/04/06(木) 16:16:06 ID:3K3euyaO
>>736
その通りです。ターゲットに寄ってきても、その後はonClipEvent (enterFrame)が
止められないので画像がターゲットから離れてくれません。
AS1ですとonClipEventはMCに、on(press)やon(release)はボタンにしか使えないので
どうしたらいいのか…こちらのASの意味は
「ボタンを押す」→enterFrameをdelete(?)する
「ボタンを離す」→enterFrameを実行する ということでしょうか?
deleteは使えないようです。現在if構文で試行錯誤していますがうまくいきません。
741737:2006/04/06(木) 16:37:50 ID:TdkAZ7n+
>739
ヘッダ・no-cacheでググったところ、
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
とありましたので、FLASHを載せたHTMLのヘッダ部分に記述したのですが
やはりキャッシュに残ってしまうようです。

上記の処方が見当外れでしたら申し訳ないです。
もし違う場合は、詳細をいただけると嬉しいです。
レスありがとうございました(__)

追伸:
ついでに、サーバー上でcgiを挟まなくても外部データテキストを単純に
読みこんだだけで普通にキャッシュに残るんですね。LoadVarsを通すと
必ず残ってしまうのかな・・・うーむ・・・
742Now_loading...774KB:2006/04/06(木) 17:41:54 ID:tT+jEJQv
>740
enterframeaは関係ないかもしれません。
すいません。

img1の構造ってどうなってるんでしょうか?
ターゲットに着く前に、ドラッグは出来ていますか?
img1の中にボタンを配置して、
on(press){
this.startDrag();
}
とやる必要があるんじゃないでしょうか?
743Now_loading...774KB:2006/04/06(木) 17:50:26 ID:3K3euyaO
>>742
ドラッグはできています。
ボタンを入れて、このようにスクリプトを書いています。
on (release) {
if (firstClick) {
if (getTimer()<t0+500) {
this.nextFrame();
firstClick = false;
}
} else {
t0 = getTimer();
firstClick = true;
}
}

on (press) {
this.startDrag();
this.swapdepths(++_parent.n);
}
on (release, releaseOutside) {
this.stopDrag();
}
744Now_loading...774KB:2006/04/06(木) 17:58:31 ID:3K3euyaO
(続き)
getTimerはダブルクリックの処理で入れています。
ドラッグやダブルクリックなど、ボタンとしての処理はすべて機能しています。
745Now_loading...774KB:2006/04/06(木) 18:35:49 ID:tT+jEJQv
>744
なるほど。
onClipEvent(enterframe)の代わりに、
変形用の空mcを2フレまで伸ばして、
の1フレ目に
_root.img1._x += 〜

ボタンに、
on(press)
this.startDrag();
空mc.gotoAndStop(2);
}
on(release){
this.stopDrag();
空mc.play();
}

これでtargetからはがせるはず。
後はお任せします。がんばって下さい。
746Now_loading...774KB:2006/04/06(木) 19:02:07 ID:xUpDXQs2
>>741
残念。(つか、「リクエストヘッダ」って言ってくれてるのに、なんで「ヘッダ」でぐぐるかな^^;)
Flashを読み込んでるHTMLのヘッダじゃなくて、
値をprintするCGIにno-chacheを入れるんだ。

CGIを何で書いてるか分からないから、これ以上詳しいことは言えないけど。
なんにしてもFlashの問題じゃなくて、CGIの問題。
まして、LoadVarsのせいにしちゃ、LoadVarsがかわいそうw
747Now_loading...774KB:2006/04/06(木) 19:41:27 ID:eUGiEpR7
>>737
cgiのパラメータに
?dummy=タイムスタンプとか乱数
を追加なんてのも良いかも
748Now_loading...774KB:2006/04/06(木) 21:30:30 ID:3K3euyaO
>744
やってみましかが、onClipEvent(enterframe)に入れないと
近づいていく動作にならないようです。
on(press)やon(release)の動作から別MCのonClipEvent(enterframe)のオンオフを制御する
ということですよね?
もう少し考えてみます。
749Now_loading...774KB:2006/04/06(木) 22:16:46 ID:tT+jEJQv
>748
んー、うまく行きませんね^^;
ためしに>745作りましたが、問題はありません。
シンプルなものを作ってみてはどうでしょう?

動作の確認ですが、
1)AはBへ速度を落としながら近づく。
2)Aはドラッグで位置を変えることが出来る。
3)Aはドラッグ中は、1)の動作をしない。
4)Aはドラッグをやめると1)を動作をする。
5)AS1で動作する。
これでよければ、下のAS(少し直しました)でいいんですが。

_root上に、ballとboxをおく。
ballの中にbtnとcoreをおく。
coreのフレーム1に
_root.ball._x += (_root.box._x-_root.ball._x)/10;
_root.ball._y += (_root.box._y-_root.ball._y)/10;
フレーム2に
this,gotoAndPlay(1);

btnのオブジェクトアクションは、
on (press) {
this.startDrag();
core.stop();
}
on (release) {
this.stopDrag();
core.play();
}
750Now_loading...774KB:2006/04/06(木) 22:56:12 ID:zdeh5FKx
this,gotoAndPlay(1);

点が違う
751Now_loading...774KB:2006/04/06(木) 23:27:08 ID:XaMRPeaZ
すみません質問させてください。

コンポーネントの ScrollPane のインスタンスを生成し、contentsPath で外部 swf ファイルを読み込ませたのですが、
この swf を拡大したり縮小したりすることは可能でしょうか?

作成:flash8
プレイヤー : flash7
OS: win2k

です。どなたかご教授願います。
752Now_loading...774KB:2006/04/07(金) 00:15:30 ID:FyYjXpP6
MX2004で、テキストがテキストエリアから複数行になってはみ出した場合、
横にコンポーネントUIScrollBarを追加すればスクロールできますが、これを自前で用意したいのです。

・テキストがテキストエリアからはみ出したかどうか
・全部で何行中何行がはみ出しているのか

を知るにはどのようなスクリプトを使えばいいのでしょうか?
753Now_loading...774KB:2006/04/07(金) 00:35:11 ID:tGXONmKS
>>751
スクロールペインのインスタンス名をspにする
my_mc
 +my2_mc
という階層のmcを用意してリンケージ識別子をmy_mcとする
(my_mcのなかにmy2_mcというmcが入ったもの)

sp.contentPath = "my_mc";
sp.content.my2_mc.loadMovie("./load.swf");
sp.content.my2_mc._width = 10;

をフレームに記述。
[my_mc]-[my2_mc]って階層にしたのはmy_mcだけだったらなんかペインからはみ出るから。
754Now_loading...774KB:2006/04/07(金) 00:36:40 ID:i4eWmbWA
>742
できました!
動作4)Aはステージ上のボタン操作で1)の動作をする
こうしたかったので、btnのオブジェクトアクションから
on (release) {
ball.core.play();
}
755Now_loading...774KB:2006/04/07(金) 00:37:45 ID:i4eWmbWA
(続き)
この部分をステージ上のボタンに移したらばっちりでした。
空mcのcoreはgotoAndPlayでループさせておくんですね。なるほど。
ありがとうございました。助かりました。
756「涼宮ハルヒの憂鬱」の支援FLASH作ってください :2006/04/07(金) 00:57:30 ID:pY8KUi5d
スニーカー文庫の
「涼宮ハルヒシリーズ」の支援FLASHを製作してくれませんか?

* PV http://www.youtube.com/watch?v=wsD8mGvwpkE&search=HARUHI
  アニメのED曲である「ハレ晴れユカイ」を使って
  FLASHを作って下さい。
現行スレ
http://ex14.2ch.net/test/read.cgi/news4vip/1144323361/
757Now_loading...774KB:2006/04/07(金) 01:09:43 ID:5CYQVShs
>>753

ありがとうございます!

ですが、それ以前のスゴイ基本的なところで悩んでいます。

クラス名 foo が定義されている mc の中に ScrollPane があるとして、名前を sp として、下記 class を定義したところ

class foo extends MovieClip {
var sp:mx.containers.ScrollPane;
function foo(){
trace(sp.constructor == mx.containers.ScrollPane); //false
trace(sp instanceof mx.containers.ScrollPane); //false
sp.setSize(300, 400); .//リアクション無し
}
}

となってしまい、ScrollPane が認識してくれません。
AS2 の初歩的な質問だとは思いますが、どなたかご教授願います。
758737:2006/04/07(金) 02:25:08 ID:9+3cqh0n
>>746さん
やはり間違っていました・・・。
記述はCGIのほうなんですね。調べてやってみます。
cgiはperlで組んでます。連携は色々出来て、難しくも楽しいですね^^;
レスありがとうございますっ。

>LoadVars
ごめんよーー
759737:2006/04/07(金) 02:33:51 ID:9+3cqh0n
>>747さん
ああ、さらにレスが。ありがとうございます。
参考にさせていただきますねっ!
760Now_loading...774KB:2006/04/07(金) 11:08:26 ID:oA5rwLy7
外部ファイルを読み込んだ後に、
次のフレームに移動したいのですが、
nextFrame()のターゲット(スコープ?)指定が分かりません。

_rootはなるべく使わない
ターゲットを指定する
という方針です。
よろしくお願いします。

myVars.onLoad = function(success) {
trace(this);
this.nextFrame();
};
//出力:count=123&onLoad=%5Btype%20Function%5D


761Now_loading...774KB:2006/04/07(金) 13:45:30 ID:wTnR05Ou
>>760
べつに_root使えばいいとおもうが、どうしてもというなら_parentつかうとかかな。
762Now_loading...774KB:2006/04/07(金) 14:05:09 ID:SE7s9DQv
ComboBoxコンポーネントを含むムービークリップシンボルをつくり、
attachMovieでステージ上にそのインスタンスを配置して、
ASでComboBoxにアイテムを追加しようとしてるんですがうまくいかなくて困ってます。

addItemをしてもundefinedが帰ってきてる状態です。
for (... in ...) でComboBoxの中を調べるとboundingBox_mcというムービークリップだけしかありません。
これはコンポーネントの使い方がどこかまちがってるんでしょうか。
763Now_loading...774KB:2006/04/07(金) 14:17:54 ID:YLIa79Mg
>>762
ComboBoxもattachMovieすればよくね?

this.attachMovie("mc", "mc", 0);
mc.attachMovie("FComboBoxSymbol", "list", 0);
mc.list.addItem("apple", 1);
mc.list.addItem("orange", 2);
764Now_loading...774KB:2006/04/07(金) 14:34:33 ID:1cRPZz3v
コンボボックスにsetStyleでfontSizeを30に設定したのですが、ドロップダウンされるリストの項目毎の高さが変わらず文字が途中で切れてしまいます。
ドロップダウンされるリストの項目の高さをうまく設定できないでしょうか。。。

WinXPSP2/FlashMX2004(7.2)です
765Now_loading...774KB:2006/04/07(金) 14:48:36 ID:YLIa79Mg
ComboBoxコンポーネントの高さの設定はできなかったと思う。
自分でオリジナルのComboBoxをつくればいいよ
766Now_loading...774KB:2006/04/07(金) 14:58:32 ID:1cRPZz3v
>>765
そうなのですか。。。

ComboBoxを作るほどの余裕は無いので別の手を考えています。
テキストボックスのフォントは30で、ドロップダウンリストのフォントは10といった制御は可能でしょうか?
ヘルプを見ると、テキストボックスはTextInputのインスタンスで、ドロップダウンリストはListのインスタンスと分かれているようなのですが、別々にフォントサイズを設定したり出来ないのでしょうか。
767Now_loading...774KB:2006/04/07(金) 16:00:44 ID:UQaXcMhD
AS1.0で、MC内部に下記のようなコードを書いていたのですが、
(message_txtはダイナミックテキストボックス)
=============================================
ClassName.prototype.setText = function(str:String) {
  this.message_txt = str;
}
=============================================
AS2.0でクラスを作成し、メソッド内部に記述したところ、
「message_txtという名前のプロパティはありません」
とエラーになってしまいます。
MovieClipを継承したクラスなので、当然なのですが・・・。

リンケージで指定されたシンボル側の変数などに
アクセスする方法はありますでしょうか?
768Now_loading...774KB:2006/04/07(金) 16:10:56 ID:cjl1bQvB
>>767
[]
769Now_loading...774KB:2006/04/07(金) 16:38:28 ID:UQaXcMhD
ありがとうございます。
・・・できればもう少しヒントをお願いします。

770Now_loading...774KB:2006/04/07(金) 17:14:07 ID:Q9sFsB2u
[]の括弧と言えば配列アクセス
771Now_loading...774KB:2006/04/07(金) 17:20:51 ID:UQaXcMhD
ああっぁぁぁぁぁぁあ!!!
出来ました!!!
本当にありがとうございます!!
772Now_loading...774KB:2006/04/07(金) 18:27:06 ID:/cvKvyD0
>>767
クラスの定義部分にテキストフィールドがあることを書けばいい

class ClassName extends MovieClip{
var message_txt:TextField
function setText(str:String){
this.message_txt.text = str
}
}
773Now_loading...774KB:2006/04/08(土) 03:45:50 ID:IrOtjBeT
テキストファイルの読み込みを待ち
tというテキストフィールドのtextに読み込んだ内容を反映したいのですが
上手くいきません

1フレーム目のAS
var mondai:String;
System.useCodepage = true;//データファイルをSHIFT-JISで読む
a_lv = new LoadVars();// LaodVars() 作成
// 読込み時のイベントを設定(直接読む)
a_lv.onData = function (src) {
if(src != undefined){
mondai=src;
}else{
trace("読込み失敗");
}
}
a_lv.load("mondai.txt");// 実際に読み込む

2フレーム目は空

3フレーム目のAS
if(mondai==undefined){
gotoAndPlay( _currentframe-1);
trace("wait");
}
t.text=mondai;
this.stop();
774Now_loading...774KB:2006/04/08(土) 03:46:37 ID:IrOtjBeT
>>773の内容で実行すると
読み込みが上手くいく時と
いかない時があります
つまり、実行したあとtの内容がちゃんとファイルの内容であるときと
undefinedとなる時とがあります
3フレーム目でmondaiがundefineの時は前フレームに戻って待つようにしているのですが
これが上手くいっていないようなのです
tの内容がundefineになった時、出力の窓にはwaitと出るので
3フレーム目のif文はちゃんとまだ読み込みが出来ていないという判断が出来ています
ということはgotoAndPlay( _currentframe-1);これで前フレームに戻れていない可能性が高いのです
この書き方の何がいけないのでしょうか
もしこれ以外に原因の検討が付く方も
対策をお教えください
宜しくお願いします
775Now_loading...774KB:2006/04/08(土) 04:11:22 ID:RkkYg8Ga
質問があります。

x="1,2,3,4,5";

という文字列型変数から数値を取り出して

y[0]=1 y[1]=2 y[2]=3 y[3]=4 y[4]=5

と配列に読み込むにはどうすればいいでしょうか。
数値の桁は1〜4桁と不定ですが、数値の数は一定です。
776Now_loading...774KB:2006/04/08(土) 06:47:46 ID:zjdcglCy
>>774
onLoad使ってみるとか。あと、せっかくloadversオブジェクトに読みこんだんだから、mondai変数って
いらんと思うが。a_lv.question1なんて感じで参照できるし。
>>775
x="1,2,3,4,5";
aa = new Array();
aa = x.split(",");
数値で格納したいときはこのあと配列をparseIntすればよか。
777Now_loading...774KB:2006/04/08(土) 07:17:25 ID:A7TUqWg4
>>774
リスナー使え
778Now_loading...774KB:2006/04/08(土) 07:56:32 ID:Rkre3FyA
>>776
>aa = x.split(",");

この命令を知りませんでした。
こんな便利なものがあるとは…
ありがとうございました。
779Now_loading...774KB:2006/04/09(日) 03:53:08 ID:ZcQgOfZu
何行かの文章が保存してあるテキストファイルの内容を
変数bに読み込んで以下の方法で一行ごとに配列aに分割したとします
a = new Array();
a = b.split("\r\n");
この時、ファイルの内容が何行だったのか値を得たいのですが
aの配列のサイズか添え字の最大値、もしくはsplitで分割した数
そのどちらかを得る方法はありませんか
780Now_loading...774KB:2006/04/09(日) 04:04:51 ID:ZcQgOfZu
>>779
10分前の俺へ
Arrayクラスの
Array.lengthを使えは配列の個数が得られます
781Now_loading...774KB:2006/04/09(日) 04:05:30 ID:ZcQgOfZu
>>780
10分後の俺有難う御座います
解決しました
782Now_loading...774KB:2006/04/09(日) 11:36:33 ID:yr1Ko1K+
FlashMX2004 使用
hitTest で当たり判定をしたい。

function hantei(obj){
var m ;
    //ここでどのMCに弾が当たったか判別したい
switch(obj.hitTest(m)){ 
case obj._parent._parent.mato_h1:
  trace("当たり判定ありh1");
  break;
case obj._parent._parent.mato_h2:
  trace("当たり判定ありh2");
  break;
default:
  ;
}

でもswitchは値の判定らしく条件として?するのは無理?
IF文羅列すればできるみたいだが、長すぎて醜いので
できればswitchでしたいのだが・・・OTL
783Now_loading...774KB:2006/04/09(日) 12:27:34 ID:4gFlpy1/
>782 私ならfor文つかうわ
function hitChk(myMC){
for(i=1;i<=targetMax;i++){
var tarMC = myMC._parent._parent["mato_h"+i];
if(myMC.hitTest(tarMC)){
trace("当たり:h"+i);
break;
}}}
これで動くのかしら・・・
取り急ぎまで

switchの解決方法は知らないデス
784Now_loading...774KB:2006/04/09(日) 14:29:01 ID:yr1Ko1K+
>>783
出来ました!動けばOKなので・・
for文勉強になりました。m(__)m
785Now_loading...774KB:2006/04/09(日) 16:11:29 ID:jXjncWmx
「動けばOKなので・・」とか言う奴と一緒に仕事したくないよ
786Now_loading...774KB:2006/04/09(日) 16:45:02 ID:4gFlpy1/
>785
あら、「動けば(上のactionscriptでも)OK」って事ですか?
どこが問題なのかおっしゃって頂けますか?
787Now_loading...774KB:2006/04/09(日) 17:09:45 ID:jXjncWmx
>>786
いや、そのスクリプトについては全く問題ないけれど
785の考え方思い込みがいけない、と言いたい
788Now_loading...774KB:2006/04/09(日) 17:54:14 ID:lnGMfC+h
中二病かwww
789Now_loading...774KB:2006/04/09(日) 18:49:45 ID:DGacgQLx
どんなコードを書こうが……最終的に……動けばよかろうなのだァァァァッ!!
790Now_loading...774KB:2006/04/09(日) 19:14:42 ID:Duzc/oja
>>789
無駄があれば計算速度が落ちるし、
下手な組み方すればメモリリークの可能性もある。

でもこの話題の問題点はそんなのじゃないんだよね。
人が親切に回答した答えに対して、「動けば良いので」と返すってのは、
上記で上げたような問題を含んでるかのような言い回しになってしまう。

なのでなるべく相手に不快感を与えるようなことは、
質問者も回答者も慎みましょうねってことで。
791Now_loading...774KB:2006/04/09(日) 19:24:02 ID:DGacgQLx
__、_、ヽ`ニ、ニ`二、ニ`ニ`、=、=ヾァー:-:ー丶、,、、,,_,.,、
⌒>\丶\ヽヽ ',!|/〃/ //,. ゙ : ' .: ゙ ,: ゙ ,/
 ⌒丶\丶ヽ`、', 《〈 〃ノ/. ' . '_;.,;._ ;.' , ゙ //
   __\ヽヾ:ヾ_ヾミ[]―‐[〕-''''"~´ 彡 . ゙ .゙〃
   ⌒\ ミ|{「己川ロ后叨:.: し___! 彡 ;' . ゙ /
      ヾレュ三<´{(厶ニニ-‐、>ヽ ; : . ,゙i
  ⊂   ,{ {(j  } }==Y∠r:ュ.ヾ,  く;/^ヽ!
   c    { ト >-<ン ,'  ~厂 ̄´`ヽ  ,ィ个 }   マジレスされると困っちゃうぜッ!
   '   {〔!厂〈ー‐、 '":::...  u  }  )丿,ハ
       )|h `-'"       / (__/,/
.        !|  「r三三ヽ J   l  /⌒l !
        l |    } ,. ―-| u   ,/ 、_,ノj  ,r一''"~´)
         !.ハ  ノノ二ニ二!     ノ `7〈 /  ゝ''"´ __
.        | .ハ ヽ-r―‐-    ,f 、__// ヽ/-‐''(´  _,,ノ、
_,,.. -ー―ノ / ヽ  ゙ー‐  / ! `゙{'′ ノ  >‐'''(´_,,/
       ー-、 ヽ-r―‐< ,r'゙{:___ノ`ー(、__/ >''"´
   、_,,,,,,,,,,,,,,,}!,,___{  ;' /´ '゙ ̄´ ̄´  丶イ  __
  \     r―ー>''"/~"''ーく⌒ヽ._,,ノィ´   `)
    \    /  /7゙ <´      ノ  /〈   ><~´
      ヽ,/   { ヽr、\   ''"    ,. -''"―-ヽ `'ー- 、
    //     \ \ヽ、`丶、__,,..ィ´}! ,iリ    ``丶、 \
792Now_loading...774KB:2006/04/09(日) 20:07:25 ID:X6UVVdSP
コードの質より納期守れるヤツが一番偉い
793Now_loading...774KB:2006/04/09(日) 20:17:02 ID:HfnCsFI1
792がいい事言った。
仕事でやってるとそんなモンだよな?
794Now_loading...774KB:2006/04/09(日) 20:20:25 ID:isSJNtCW
というか、仕事が出来ない奴に限って、コードが汚い
795Now_loading...774KB:2006/04/09(日) 20:30:25 ID:4gFlpy1/
空気を読めなかったようですいませんでした。
職場で斜め上に指摘する人がいるんでつい>_<
>動けばOKなので・・
switchじゃなくて他の方法があったんだ・・・
って気持ちだと思ってたので気にしてませんわw
796Now_loading...774KB:2006/04/10(月) 12:51:04 ID:04YPaBN1
環境:WindowsXPSP2+FlashMX2004(7.2)

ムービークリップの中に読み込んだSWFで問題に悩まされています。
別のキーフレームにあって現在表示中のキーフレームにはないムービークリップが表示されるという現象です。

再現方法は以下の通りです。
SWFは2つあり、SWF1 が SWF2 を LoadMovie する形になっています。
@ LoadMovie を使って SWF1 の中のムービークリップに SWF2 を読み込みます。
A SWF2 の中に createEmptyMovieClip を使って空のムービークリップを追加します。
  ※このときの深度は getNextHeighestDepth で取得できる最上位の深度とします。
B Aで作成したムービークリップと SWF2 の1フレーム目にあるムービークリップを swapDepth します。
C SWF2 で gotoAndStop を使い、次のキーフレームに移動します
  ※次のキーフレームは空のキーフレームとして追加したので、1フレーム目のムービークリップは残っていません。
D 何故か1フレーム目にあったムービークリップが残ります。

どうしてこのような事になってしまうのでしょうか?
対策があれば教えてください。
797Now_loading...774KB:2006/04/10(月) 13:16:28 ID:vxEkE7qn
>>796
仕様だから。
深度が0以上なものは、キーフレームに関係なく
タイムラインの最初から最後まで存在するように配置される。
オーサリング時に配置したものは深度がマイナスになってる。
removeMovieClipや_visible変更などで対応してみてはどうか。
798737:2006/04/10(月) 15:22:07 ID:dI69lkbT
>>739
739さんに教えていただいたcgi側の対応でキャッシュの問題
クリアできましたっ!
調べるにあたり、その他色々勉強も出来てよかったです。
本っ当に!ありがとうございました(^^)/

今後もas+cgi精進したいと思います。
799796:2006/04/10(月) 15:33:55 ID:04YPaBN1
>>797
情報ありがとうございます

情報を参考にして createEmptyMovieClip で生成される新しいムービクリップの深度を -2 にし、swapDepth していたムービークリップには深度 -1 を直接指定してみました。
しかし残念ながらキーフレーム別に表示される事はありませんでした。
深度が正か負かでフレームを渡るという情報はどこにありましたでしょうか
検索の仕方が悪いのか、LiveDocから見つけられませんでした
そこを手がかりに調査してみようと思いますので、URLが分かるようでしたら教えてください
800Now_loading...774KB:2006/04/10(月) 16:06:58 ID:4AvmCUg6
>796
ActionScript2リファレンス
removeMovieClip
このメソッドは、負の深度値に割り当てられているムービークリップを削除しません。
>getNextHeighestDepth で取得できる最上位の深度とします
何もない階層に生成する場合は最下層が割り当てられます。
また、オーサリングツールで作られたインスタンスは空いている最下層に割り当てられます。

_root.SWF2.1フレーム目にあるムービー.createEmptyMovieClip();
にすればいいんじゃね?
_root.SWF2. SWF2 の2フレームに移動したときに、
1フレーム目にあるムービーが消えるから中身も消える。

>799
新しいムービクリップは正の深度にして、
2フレームに、
新しいムービクリップ.removeMovieClip();

>深度が正か負かでフレームを渡る
これは関係ないです。
(キーフレームじゃ、SWF2を消すことしか命令してない?)
801Now_loading...774KB:2006/04/10(月) 16:15:25 ID:4AvmCUg6
>800
>深度が正か負かでフレームを渡る
これは関係ないです。

補正w
>796の場合だと正の階層は扱ってないから、
関係ないってことです。
802Now_loading...774KB:2006/04/10(月) 16:26:01 ID:q3HTHXjQ
getNextHeighestDepth使わず自分で深度は管理する
どの深度になるかわからないなんて不安で使えんがな。
803Now_loading...774KB:2006/04/10(月) 16:28:02 ID:q57kcequ
ActionScript2.0でクラスを使うとき、
クラスのフィールドを宣言と同時に初期化するのとコンストラクタで初期化するので違うのでしょうか?
var menber: Array = new Array(30);
function Constructor() {}

var menber: Array; // 宣言のみ
function Constructor() {
menber = new Array(30);
}
804803:2006/04/10(月) 16:40:04 ID:q57kcequ
>>803
すいません自己解決しました
ActionScriptではインライン初期化すると共有化されるんですね
805Now_loading...774KB:2006/04/10(月) 17:43:10 ID:rXJTtqKg
>>799
MC内で新たに深度を設定すると、オーサリング時にあったレイヤーの最上位に
新規深度用のレイヤーが作られるような感じ。
だから、オーサリング時のレイヤーに設定したキーフレームの制約をうけない。

正か負かというか、基本的にASで追加する深度は0以上となっている。
getNextHeighestDepthも0以上を返すんだったと思う。
つまり、通常はASで配置したMCの深度は0以上となり、それらはすべて
キーフレームのないレイヤーに存在するから、既存のキーフレームをまたぐように見える。

どうしてもキーフレームをこえさせたくないなら、オーサリング時にMCを作っておいて、
そのなかでswapDepths()でもcreateMovieClip()でもやればよか。
806Now_loading...774KB:2006/04/10(月) 17:44:02 ID:rXJTtqKg
おっと、createEmptyMovieClipじゃった。
807Now_loading...774KB:2006/04/10(月) 18:16:56 ID:GJo6P4Q/
文字を数字に変換したいんですけど、ちょうどいいメソッドはありますか?
"1"→1みたいなのです。
808Now_loading...774KB:2006/04/10(月) 18:30:16 ID:viGFsAH/
>>807
var num = Number("1");
trace(typeof num);
809Now_loading...774KB:2006/04/10(月) 18:36:10 ID:4AvmCUg6
>800
>何もない階層に生成する場合は最下層が割り当てられます。
これ嘘。すまん。無視して。
810Now_loading...774KB:2006/04/10(月) 18:46:58 ID:GJo6P4Q/
>>808
ありがとうございます。

その()の中が数字じゃなければ何がnumに代入されるんですか?
811796:2006/04/10(月) 19:30:44 ID:04YPaBN1
皆様情報ありがとうございます(本当に感謝です)

皆様の情報を元に試行錯誤して表示制御ができるようになりました。
・createEmptyMovieClipはフレームをまたぐため、更新が必要になるたびに再生成するように修正
・作成時の深度はgetNextHeighestDepthは使うが、他は特定の深度に依存しないように
・swapDepthを有効活用し、深度を直接指定せずに交換で解決する方向に

みなさまありがとうございました。
とても勉強になりました。
812Now_loading...774KB:2006/04/10(月) 23:31:55 ID:viGFsAH/
>>810
トレースすればわかるけど、
数字じゃなければNaNが返るよ。
つまりエラーだね。
813Now_loading...774KB:2006/04/11(火) 05:01:15 ID:2ylQpAFJ
ASって解析出来てしまうんですよね
それならランキング登録CGIのURLとCGIに送るデータの書式を解析して
そのCGIに架空の引数をわたしてやれば
いくらでも不正が出来てしまいそうなんですが
そこらへんはみなさんどういう対策してるんですか
814Now_loading...774KB:2006/04/11(火) 07:58:21 ID:Ga47Bzdb
簡単なベクターグラフィックってシンボル作ってattachMovieするか
スクリプトで描画するかどっちのほうがパフォーマンス的によろしいですか?
815Now_loading...774KB:2006/04/11(火) 09:01:26 ID:calPF6M7
>>813
対策しない。まあ、簡単にはsol使うとか。ちゃんとやるならid:passにするとか。
>>814
物による。複雑で何百個とかだとMCの数がその分増えるから、
attachの方が重くなるでしょうね。
816Now_loading...774KB:2006/04/11(火) 13:00:18 ID:LozvcdFU
>>813
小細工はいくつかすれど、基本は無視だな。
ASで絶対的なセキュリティなんて無理だし、商用ゲームでも解析や改造は
ありえる。
どんなに対策たてたって、不正やる奴はやるんだよ。
個人の趣味程度なら、不正してまで登録したいと思わせない、とか。
不正登録されても面白さが減らないようなシステム、心構え、そういうので
乗り切る。
817Now_loading...774KB:2006/04/11(火) 13:03:38 ID:dqWESGI2
まずは不正したくなるようなFlashかどうかが重要
818Now_loading...774KB:2006/04/11(火) 15:52:29 ID:8edHNo3D
100Fと101Fの間にしばらく留まってから次に進むっていうようにしたいんですが、

まず1Fにa == 0を記入、そして

100Fに a = a + 1; play();

101Fに if(a > 30){nextFrame();} else {prevFrame();}

要するに両フレームを行き来させてzを増やしていって、
30を越えたら次に進む、という分岐を作ってるつもりなんですが
101Fで止まってしまいます。
どこかおかしい点があるでしょうか?
819Now_loading...774KB:2006/04/11(火) 15:57:15 ID:8edHNo3D
訂正です

× 要するに両フレームを行き来させてzを増やしていって
○ 要するに両フレームを行き来させてaを増やしていって
820Now_loading...774KB:2006/04/11(火) 16:06:37 ID:calPF6M7
aの初期値が不定だから。
つか、if分の前にaの値をtraceするとかしてみそ。
821Now_loading...774KB:2006/04/11(火) 16:10:36 ID:hpvmGhlz
a == 0

a=0;

nextFrame();

play();
822Now_loading...774KB:2006/04/11(火) 16:25:41 ID:8edHNo3D
>>820-821
ああ、なるほど!
a == 0; を a = 0; にしたらうまくいきました。
a == 0;だと何を足そうが0で固定される、・・・・ってことなんでしょうか?
とにかくありがとうございました。



823Now_loading...774KB:2006/04/11(火) 18:46:24 ID:7qppNOvr
>>822
a==0は「Aは0ですか?」
って意味だよ。
824Now_loading...774KB:2006/04/11(火) 19:33:04 ID:R0oLi1Z1
a=0 aはゼロです
a==0 aはゼロと等しいです

演算子は基本だから何つーか覚えないとな。
825Now_loading...774KB:2006/04/12(水) 06:44:33 ID:J1uTbw80
ソフト:FlashMX2004  動作:Player6以下希望

ダイナミックテキスト(インスタンス名:kazu_ins,変数名:kazu)を使って
ランダムな2桁の数値を縦に、例えば
 78
 44
 13
 28
 ・
  ・
  ・
と表示するにはどうしたらいいでしょうか?一応 kazu=Math.random() と
までは発想が浮かんだのですが、そこから先が進みません。
826825:2006/04/12(水) 07:31:50 ID:JoLtDMnp
(とりあえず、ASを書きました)
kazuというテキスト欄MCにリンケージ設定して、あらかじめ
インスタンス名:kazu0 というMCをステージに置いた状態で

this.onEnterFrame = function() {
idx++; //初期値 idx = 0
newName = "kazu"+idx;
prop = {_x:kazu0._x, _y:kazu0._y+30*idx}; //欄の高さは18pt
_root.attachMovie("kazu", newName, idx, prop);
kazuA = Math.floor(100*Math.random());
};

ならば、テキスト欄 kazu1,kazu2,kazu3,・・・ は縦に出現するの
ですが、個別の数値の設定法が分からず、欄内に何も出ません。
どうしたらいいでしょうか?
827Now_loading...774KB:2006/04/12(水) 08:57:31 ID:4srY68rz
t_txt = createTextField(...);
t_txt.text = "あいうえお";
もしくはattachするMCにTextFieldをつくっといて名前付けとく
828Now_loading...774KB:2006/04/12(水) 09:01:32 ID:4srY68rz
うenterおしちゃっった、すまん。
で、EnterFrameはフレームレートによって呼ばれる関数。
つまりフレームレート30なら、無条件に1秒間に30回呼ばれる。
なので、その処理は、外に書いた方が望ましい。
829Now_loading...774KB:2006/04/12(水) 12:30:51 ID:66WYeEVA
配列aの結果で配列bの結果を出したいのですがundefinedになります。
期待している出力はBなのでが、どう書けばいいのでしょうか?
a = [1, 2];
b = [A, B];
trace(b[a[0]]);
830Now_loading...774KB:2006/04/12(水) 12:33:13 ID:66WYeEVA
ああ、出来ました。少し落ち着きます。すいませんでした。
b = ["A", "B"];
831825:2006/04/12(水) 23:33:10 ID:Lu5CUasa
>>827
ありがとうございます。createTextField()で数値が縦に並んで出ました。
引き続き2点質問があります。

Q1)TextFormatの指定法  
赤色太字で20ptの数字を並べるため、ボタンシンボルのon (release)内に

text1_fmt = new TextFormat();
for (i=0; i<10; i++) {
kazu1 = Math.floor(10*Math.random());
_root.createTextField("text"+i, i, 200, i*20, 300, 30);
text1_fmt.bold = true;
text1_fmt.size = 20;
text1_fmt.color = 0xff0000;
_root["text"+i].text.setTextFormat(text1_fmt);//TextFormatオブジェクトを適用する
_root["text"+i].text = kazu1;
}
delete text1_fmt;
}

と書きましたが何も変化しません。問題点をご指摘下さい。


Q2)連続ボタン
ステージ上に上記のボタンを含め3つのボタンを並べています。1個目のボタン
ではマウスポインタが指マークになり、押して反応が出ます。しかし、次の操作
として、他のボタンにマウスポインタを重ねても指マークにならず、カーソルの
縦棒になります。この現象の回避方法を教えて下さい。
832Now_loading...774KB:2006/04/13(木) 01:41:16 ID:nFG/pq5z
>>831
Q1は知らん
Q2はテキストを選択できないようにすればいいんじゃない?
833Now_loading...774KB:2006/04/13(木) 01:56:39 ID:Q1v+3z2w
Q1:setNewTextFormat
834Now_loading...774KB:2006/04/13(木) 02:25:55 ID:ZB38iNxz
>>831
なんか順番が悪いっぽい。
テキストがある状態でフォーマットを適用
ああ貴重な睡眠時間がTT

text1_fmt = new TextFormat();
text1_fmt.bold = true;
text1_fmt.size = 20;
text1_fmt.color = 0xff0000;
for (i=0; i<10; i++) {
kazu1 = Math.floor(10*Math.random());
_root.createTextField("text"+i, i, 200, i*20, 300, 30);
_root["text"+i].text = kazu1;
_root["text"+i].setTextFormat(text1_fmt);//TextFormatオブジェクトを適用する
}
835825&831:2006/04/13(木) 03:21:19 ID:l/a1xEe5
Thxです。
でも、>>832さんの「Q2はテキストを選択できないようにすれば・・・」の意味が
分かりません。
836825&831:2006/04/13(木) 06:16:31 ID:hE81cy9A
(度々すみません)
アドバイスに基づき、書き直しました。記述を簡単にするため、フォントサイズ
を20にすることを当面の目標とします。 on (release) で

text1_fmt = new TextFormat();
text1_fmt.size = 20;
for (i=0; i<10; i++) {
kazu1 = Math.floor(100*Math.random());
_root.createTextField("text"+i, i, 200, i*20, 300, 30);
_root["text"+i].text = kazu1;
_root["text"+i].text.setNewTextFormat(text1_fmt);

}

としましたが、変化が無いです。どうしたものでしょう?
837Now_loading...774KB:2006/04/13(木) 08:28:21 ID:4LzFEF/q
好い加減にしろって。
いつまでマンツーマン指導求めてるんだ?

・setNewTextFormat
・setTextFormat

この2つをヘルプで調べて自分で考えろ。
838Now_loading...774KB:2006/04/13(木) 11:43:22 ID:GScWPsIl
>>836
_root["text"+i].text.setNewTextFormat(text1_fmt);

ここだけ直したらいけるんじゃない?
.textの意味どこかで見てくると良いよ。
後は.selectableについて調べてみたら?
839Now_loading...774KB:2006/04/13(木) 12:12:32 ID:0I0049G4
Flash 8です。
duplicateMovieClip関数というのは複製元のMCと同じパスにしかMCを複製することできないんですか?
840Now_loading...774KB:2006/04/13(木) 12:28:05 ID:GScWPsIl
>>839
うん
841Now_loading...774KB:2006/04/13(木) 12:39:04 ID:0I0049G4
>>840
そうでしたか。ありがとうございます、。
842Now_loading...774KB:2006/04/13(木) 13:08:53 ID:XN5t1vnj
2次元配列以上の配列内の変数の型宣言を行うにはどうしたら良いでしょうか?
843Now_loading...774KB:2006/04/13(木) 13:23:08 ID:sqAjy0wo
以下の内容なのですが、書いてることが重複してる気がしてスッキリしないです。
do・・whileのようにスッキリ出来るといいのですが。
よろしくお願いします。

1)jump()を最初に実行して一定間隔で繰り返しています。
jump();
myID = setInterval(this, "jump", 500);

2)実行してフレームを進めて繰り返す
jump();
this.onEnterFrame =function(){
jump();
}
844Now_loading...774KB:2006/04/13(木) 13:43:38 ID:aZJld+Su
>>842
そもそも1次元配列で要素の型宣言ってできたっけな?
845Now_loading...774KB:2006/04/13(木) 14:29:09 ID:1XJtg3Bc
>>842
a[0][0]:Number = 0;
試してないけどこうじゃないの?
846Now_loading...774KB:2006/04/13(木) 16:29:55 ID:rKIfZtum
ASでは配列要素に対する型宣言はできない。
配列に何でも入れられるし、数値、文字列、オブジェクトの混在もできる。
aa[0]=1;
aa[1]="hogehoge";
aa[2]=new Date();
なんてのもできる。普通はやらんけどね。
847Now_loading...774KB:2006/04/13(木) 16:45:14 ID:rKIfZtum
>>843
1),2)共に、初めのjump();だけの行を無くすと何か問題あるのかな。
848Now_loading...774KB:2006/04/13(木) 16:48:43 ID:8qZT6S3+
型宣言した変数を配列に入れればいいんじゃね?
849Now_loading...774KB:2006/04/13(木) 17:15:57 ID:+tzGhRQW
教えてください。

葉っぱが上から揺らめきながら降って積もるscriptってどうすれば良いのでしょうか?

教えてください。
850Now_loading...774KB:2006/04/13(木) 17:34:08 ID:DYXA496+
1から10まで人に聞こうとするんじゃなく、少しは自分で努力したところみしてよ。
とりあえず、attachMovieClipでMCつくりまくればよろし。 出現条件はMath.randomつかって乱数発生させる。
ゆらゆらする動きはMC名.onEnterFrameなんちゃらやればよろし。

どこ詳しく聞きたいか自分で調べるか選べ。
851Now_loading...774KB:2006/04/13(木) 17:35:27 ID:sqAjy0wo
>847
1行目のjump();を削除すると、
10フレーム目で命令しても、動き始めるのは11フレームから。
ASを実行した時間とjump()が開始される時間がずれちゃうんです。
852Now_loading...774KB:2006/04/13(木) 17:37:52 ID:db1JJgJ8
>>849
ファジーすぎるw
とりあえず
1枚の葉っぱが揺らめかないで落ちるのを作る

揺らめかしてみる。

数を増やしてみる。
みたいな感じで考えてみ

こういうのはまじめに物理計算なんかやるより
それっぽく見えるように作った方が簡単。
853Now_loading...774KB:2006/04/13(木) 17:44:13 ID:GScWPsIl
>>849
完全に動きもスクリプトなの?

三角関数で円運動
if文
Math.random
attachMovieClip

for文
hitTest

とか必要になるよ。
854Now_loading...774KB:2006/04/13(木) 17:56:40 ID:OiLkFwnu
久しぶりに来てみたら、丸投げスレになってね?
855Now_loading...774KB:2006/04/13(木) 18:03:56 ID:spgAPf8N
レイヤーやシーンの名前等は、日本語(マルチバイト文字)で
書いても良いのでしょうか?
ASからアクセスしたりする時に問題が無い事は保証されていますか?
色々なサイトを探したのですが、それらしい文章が無かったので・・・。
856Now_loading...774KB:2006/04/13(木) 18:05:59 ID:vKfjKxq5
>>849
葉っぱのアニメーションと経路を数パターン用意して、適当に重ねれば良いんじゃない?
明度調整、サイズ調整、速度調整で立体的に見えるようになる。
降り積もる演出は難しいな。
857Now_loading...774KB:2006/04/13(木) 18:08:03 ID:1XJtg3Bc
>>855
レイヤー名は何語で書いても構わない
シーンは絶対使うな

普通、プログラミング言語の変数名は英数字で書くもの
858Now_loading...774KB:2006/04/13(木) 18:09:27 ID:db1JJgJ8
>>855
保証が欲しけりゃMacromediaに聞くよろし
859Now_loading...774KB:2006/04/13(木) 18:40:34 ID:ZplvMjHN
>>855
レイヤーやシーンの名前をASで参照したり指定することはほとんどない。
そもそもシーンは使わない。
よって、好きにしろ。
860Now_loading...774KB:2006/04/13(木) 19:50:35 ID:7jGOvkQG
>>842
Flashで型宣言する意味ってあまりないんじゃない?
861Now_loading...774KB:2006/04/13(木) 20:30:03 ID:F1d5vMow
こんばんは、基本的な事かもしれないけれど質問です。

gotoAndStop(2);やA=2など、複数の処理を1つの変数?に入れておいて、
その変数を読み込めば、その中の処理が全て反映されるようにしたいのですが
どのようにすればよいのでしょうか?
なにとぞ、おねがいします。。
862Now_loading...774KB:2006/04/13(木) 20:33:10 ID:EAaknCNw
functionのことかな。
863Now_loading...774KB:2006/04/13(木) 23:14:02 ID:ZTW/VEfG
>>860
んなことねぇ。
クラスでは必須だしクラス使わなくても
型宣言することで自動エラーチェックもバッチリコンだ
ASが複雑になればなるほど型宣言様様です
864Now_loading...774KB:2006/04/13(木) 23:50:03 ID:kXm4L5wf
AS2.0の場合、シンボルのプロパティにクラス名を指定するとのことですが、
同じシンボルを複数貼り付けておいて、それぞれに違うクラスを指定
(もしくはコンストラクタの引数で区別)したい場合、
どのようにするのが良いのでしょうか?
865Now_loading...774KB:2006/04/14(金) 00:27:12 ID:kmrQQLNa
>>861
列挙型やマクロはASにない。

定数のような変数を作って
TEISU = 2;
他はそれを参照する
gotoAndStop(TEISU);
866Now_loading...774KB:2006/04/14(金) 02:00:29 ID:Yd7Nbdtv
>>864
???
言葉のままにシンボルを複数して、それぞれに違うクラスを指定すればいいんじゃないの?
867825&831&836:2006/04/14(金) 04:08:24 ID:7ejFuX74
>>837, 838
原因が分かりました。
_root["text"+i].text.setNewTextFormat(text1_fmt); の「text.」
が不要で、これが _root["text"+i].text = kazu1; の後でした。
868Now_loading...774KB:2006/04/14(金) 06:21:16 ID:kQeOOqJZ
環境:FlashMX2004,Player7,Win98SE(256MB)

上の環境でのムービープレビューで、2フレーム目のボタンアクションとして下記
のASを書いています(印刷と次フレームへの移動)。
on (release) {
print("_root", "bmovie");
this.gotoAndPlay(3);
}

print("_root", "bmovie"); が無い場合はそのまま3フレに移動できるのですが、
これが有ると印刷が可能な反面、「このプログラムは不正な処理を行ったの強制
終了されました」というメッセージが現れ、次のフレームに移動出来ません。これ
はやはり、印刷の際メモリーを消費するからでしょうか?

なお、他の印刷を伴わず複雑な処理をするSWFを上記環境で実行しても、このよ
うなメッセージは現れませんでした。
869Now_loading...774KB:2006/04/14(金) 09:16:53 ID:d2Ol0sJQ
>>868
print(_root, "bmovie");
じゃどうかね。
870Now_loading...774KB:2006/04/14(金) 23:09:19 ID:QBGrnxnq
テキストボックスでマウススクロールをさせたいのですが、
テキストボックス内のテキスト(MC:「text」)

var wheelListner : Object = new Object();
wheelListner.onMouseWheel = function ( delta ){
delta2 = delta*10;
text._y += delta2;
}
Mouse.addListener(wheelListner);

このスクリプトに間違いはありますか?
カクカクする上にとろいので、delta*10 (ホイールの10倍動かす)などと書いてみましたが、
書き方はあってますでしょうか?delta * 10 と空白をあけるのとどちらがいいですか?
871Now_loading...774KB:2006/04/14(金) 23:24:15 ID:uj9s0E9+
>>870
スクロールしたいならヘルプのTextAreaクラス嫁
872868:2006/04/14(金) 23:40:48 ID:ZCfUsvyH
>>869
レスさんきゅうです。でもこの方法では改善されなかったです(印刷は出来ました)。
ボタン1押しで2つの処理を行うため、動作がかち合ってしまうのでは?と考え、代案
として動作を2つに分けました。変数frameCの初期値を0として、1押目では印刷を、
2押目で3フレ目へ移行ということで

on (release) {
if (frameC<1) {
print(_root, "bmovie");
frameC++;
} else {
this.gotoAndPlay(3);//frameCが1になったので3フレ目へ移行
}
}

とすると上手くイキました。アドバイス有難うございます。
873Now_loading...774KB:2006/04/16(日) 14:29:38 ID:1E4BRTIM
var sid = setInterval(function(){
var p1 = new Point(133, 521);
var p2 = new Point(224, 343);
var checkDistance = function(p1, p2){
var px = p2.x - p1.x;
var py = p2.y - p1.y;
return Math.sqrt(px*px+py*py);
}
for(var c=0; c<3; c++){
var time = getTimer();
for(var i=0; i<10000; i++){
if(c==0){
var px = p2.x - p1.x;
var py = p2.y - p1.y;
var distance = Math.sqrt(px*px+py*py);
}else if(c==1){
var distance = checkDistance(p1, p2);
}else if(c==2){
var distance = Point.distance(p1, p2);
}
}
trace("p1とp2の距離は約"+Math.round(distance)+", 計算には"+((getTimer()-time)/1000)+"秒かかりました。");
}
clearInterval(sid);

}, 1000);

暇潰しにこんなの演算速度を色々計ってたんだけど、
関数化すると直で計算するより速度落ちるんだね。
後、Pointクラスの計算遅すぎ。
874Now_loading...774KB:2006/04/16(日) 14:32:12 ID:wZs4WNpW
幅30pxシングルラインのTextFieldをonRollOverで幅100pxにしテキスト全体を表示しようとしています。
幅の変更はうまくいくんですが、それに伴ってかTextFieldとその親のムービークリップが
下に2pxほど勝手に移動してしまいます。もちろんy座標を変更する処理はありません。
これは既知の不具合でしょうか。また回避する方法がありましたら教えてください。
875Now_loading...774KB:2006/04/16(日) 14:45:46 ID:1E4BRTIM
>>874
var mc = createEmptyMovieClip("tf_mc", 0);
mc.createTextField("tf", 0, 0, 0, 30, 30);
mc.tf.text = "幅30pxシングルラインのTextFieldをonRollOverで幅100pxにしテキスト全体を表示しようとしています。"
mc.onRollOver = function(){this.tf._width = 100;}
mc.onRollOut = function(){this.tf._width = 30;}

試してみたけど、ズレないね。
※ASじゃなく、直で配置したTextFieldでもズレなかった。

textfieldかMCの位置が整数じゃないって事は?
整数じゃないとずれるかもよ。
876874:2006/04/16(日) 15:12:28 ID:wZs4WNpW
> textfieldかMCの位置が整数じゃないって事は?
> 整数じゃないとずれるかもよ。

レスありがとうございます。どうもこれが原因臭いです。
検証してみます。
877Now_loading...774KB:2006/04/16(日) 21:47:27 ID:QSzhBs67
c1_color〜c20_colorという名前を付けて
20個のcolorオブジェクトを作成し、ボタンにsetRGBしました。

その後
for (i = 1; i < 21; i++) {
hoge_mc["color" + i + "_btn"].onRelease = function() {
trace(eval("c" + i + "_color").getRGB();)
};
}
こんな感じで、それぞれにsetRGBした値をボタンアクションで呼び出そうとしたのですが、
undefinedが返ってきます。
evalや配列アクセスを試してもダメでした。
アドバイスを宜しくお願いします。
878Now_loading...774KB:2006/04/16(日) 23:43:16 ID:kuC+aPiS
>>877
forの最初に

hoge_mc["color" + i + "_btn"].hensu = i ;

って記述して、release内の記述のパスで
iをthis.hensuに変えてみたら良いんじゃない?
879Now_loading...774KB:2006/04/17(月) 00:30:29 ID:UCC0n1b3
>>878
ありがとうございます。
試行錯誤してたら
for (i = 1; i < 21; i++) {
setColor(i);
}
function setColor(p:Number){
hoge_mc["color" + p + "_btn"].onRelease = function() {
trace(eval("c" + p + "_color").getRGB();)
}
}
って感じでできました。
でも教えていただいた方法の方がシンプルでよさげですね。
いろいろ実験してみます。
880Now_loading...774KB:2006/04/17(月) 01:29:19 ID:fUX800GY
SharedObjectで変数の値をセーブする時
保存されるSOLファイルのファイル名、

mySharedObject = SharedObject.getLocal("sample");

たとえばこの場合sampleの部分を
ユーザーがテキストボックスから入力した好きな文字に変えて
データの保存を行うには、どうすればよいでしょうか。
881Now_loading...774KB:2006/04/17(月) 01:46:57 ID:Bh0eFIgf
>>880
入力フィールドのインスタンス名が"txt01"で、
仮にボタンを押したら、押した時に入力されている名前がSOL名に。
ってのなら単純に

on(release){
mySharedObject = SharedObject.getLocal(_root.txt01) ;
}

で良いんじゃない?
ボタン化したMCを使って、最初に深度を0以上に設定してれば
removeMovieClip()で消せば良いよね>SOL作成後に

エンドユーザがSOL名に使用不可な文字を入力した時に、
受付拒否る処理も忘れないでね。
882Now_loading...774KB:2006/04/17(月) 01:53:58 ID:fUX800GY
>>881
迅速なレスをありがとうございます。
さっそく試してみます。
883Now_loading...774KB:2006/04/17(月) 02:11:26 ID:fUX800GY
成功しました!ありがとうございました。
884 ◆tNJLG4YYkM :2006/04/17(月) 11:13:29 ID:Zsuw3BAa
質問失礼します。
XMLファイルのテキストを表示させる際に、改行させたいのですが
<BR>などでは改行できませんでしたorz
自分で色々なサイトを調べましたが、
どれをやっても画像のほうが改行?されてしまったり成功しません(´・ω・`)
どなたか解決法を教えてください(`・ω・´)
885Now_loading...774KB:2006/04/17(月) 11:25:20 ID:wmQQRG7F
左右の音のバランスをフレーム毎に取得するASを書いています。
ボタンアクションで音楽を開始し、下のフレームアクションで変数
t1,t2のテキスト欄に表示させたいのですが、表示できません。
(音はでます)

myObj = new myObject();
myObj = {ll:t1, lr:t2};//構造体の記述
this.onEnterframe = function() {
tmp = s1_sound.getTransform();//s1_soundの入出力バランスを取得
t1 = tmp.ll;//現在のバランスを表示
t2 = tmp.lr;//t2は、左スピーカー中の右の音
};

どう修正したらいいでしょうか?
FlashMX2004_ver7で作製し、Player7での再生が目標です。
886Now_loading...774KB:2006/04/17(月) 12:56:13 ID:bpT1YKc7
>>884
web板あたりでどぞ
>>885
サウンドのpanは自分で変更しない限り一定だけど
887Now_loading...774KB:2006/04/17(月) 15:43:09 ID:Pq3QN9+H
環境はWinXPSP2でFlashMX2004[7.2]です

デザイン画面でコンボボックスとテキストインプットを置き、コードでテキストインプットの深度を前面に持ってきたらコンボボックスのドロップダウンリストがテキストインプットより後ろ側に来てしまいました。
ドロップダウンリストを必ず最前面にする方法は無いですか?
コンボボックス自体は最前面に出す必要はありません。ドロップダウンリストだけ常に最前面にしたいです。

よろしくおねがいします。
888Now_loading...774KB:2006/04/17(月) 16:13:38 ID:bpT1YKc7
>>887
どうやってテキストインプットの深度を変更したかわからんが、
レイヤー分けて配置するとかでいいのでは?
889Now_loading...774KB:2006/04/17(月) 16:19:45 ID:Bh0eFIgf
>>887
コンボボックス使わないからあまり伝わってこないけど、
swapDepth使ってるんだよね?
ならドロップダウンリストに

swapDepth(テキストインプット.getDepth() + 1) ;

すれば出来るんじゃない?質問に沿った答えか分からないけど。
インプットテキストの深度変更後に記述してくださいね。
890Now_loading...774KB:2006/04/17(月) 16:23:24 ID:Pq3QN9+H
>>888
なるほど
レイヤーの順位が優先されますね
コンポーネント開発でFlashの基礎を失念しておりました

>>889
はい、swapDepthでgetNetHeighestDepthと交換しております
レイヤーで対処できなさそうならこの方法を使わせていただきます
891Now_loading...774KB:2006/04/17(月) 17:54:59 ID:Pq3QN9+H
レイヤーなどでは上手く行かなかったです orz
一度深度の扱いを整理して、DepthManagerを使って調整することで対処しました
レスくださった>>888-889さん、ありがとうございました
892Now_loading...774KB:2006/04/17(月) 18:17:33 ID:lMTIFoYo
毎フレーム行われている描画を、一時的に止めるにはどうしたらいいのでしょうか?

ある状態のときに、setIntervalで呼び出される関数内のupdateAfterEventで描画更新
するので、その間は毎フレームの描画をさせたくないのです。
893Now_loading...774KB:2006/04/17(月) 18:26:54 ID:Bh0eFIgf
>>892
MC.onEnterFrame = function(){
if(_root.hantei == 1){
実行処理 ;
}
};

とかでやってみたらどうだろう?
最初から毎フレーム更新なら、hanteiの初期値は1で置いておいて
ある状態の時にsetInterval実行させるなら、その実行命令のついでに

_root.hantei *= -1 ;

で、EnterFrame内の条件式をfalseにするとか・・・。

EnterFrame内の処理を有効にしたくなったら、有効にしたいタイミングで
また
_root.hantei *= -1 ;

でtrueに戻す。
894Now_loading...774KB:2006/04/17(月) 18:38:56 ID:lMTIFoYo
いや、「処理」じゃなくて「描画」です。
設定したFPSで必ず自動的に行われる描画を、させたくない、ということなんです。

能動的に描画機会を増やすupdateAfterEventがあるのだから、
描画機会を減らすなにかってのもないかなと思ったわけなんです。
895Now_loading...774KB:2006/04/17(月) 18:48:31 ID:P86NDsjD
>>894
絵を動かさなければ描画されないんじゃない?
896Now_loading...774KB:2006/04/17(月) 19:02:01 ID:Bh0eFIgf
>>894
MC全てstopしてればFPSも何も、1フレームで止まったまま再描画されませんよ。
EnterFrameを使用しているなら、分岐処理で実行処理をしないようにするしか無いと思います。
実際は毎フレーム空処理されてるわけですが。

EnterFrameを使用せず、モーショントゥイーンなどでやってるという事でしたら
やっぱりstopを使うという事になりますよね。

ムービー全てのFPSを動的に変更したいんだ!って事でしたら
全てのタイムラインを停止し、setIntervalとupdateAfterEventを組み合わせれば良いかと。
全てのFPSを完全に動的に!というなら、モーション関連も全てスクリプト制御になりますけど。
897885:2006/04/17(月) 20:08:53 ID:LbK+ncQ7
>>886 サウンドのpanは自分で変更しない限り一定だけど

あらら
898Now_loading...774KB:2006/04/17(月) 20:42:10 ID:mxRKJ5nQ
【環境】MacOSX、FLASH MX 2004
rollOverで動きながら出現し、rollOutで逆再生で消えていくメニューを作っています。
MCに下記スクリプトを記述することで再生・逆再生は実現できたのですが、
MC内に複数配置したリンクボタンが機能しません。
リンクはHTMLファイルへのリンクです。
どうすればよろしいでしょうか?

記:
onClipEvent (load) {
nMove = 0;
}

onClipEvent (enterFrame) {
if (nMove != 0) {


nNextFrame = this._currentframe+nMove;
if (1<=nNextFrame && nNextFrame<=this._totalframes) {
this.gotoAndStop(nNextFrame);
} else {
nMove = 0;
}
}
}
on (rollOver) {
nMove = 1;
}
on (rollOut) {
nMove = -1;
}
899Now_loading...774KB:2006/04/17(月) 20:52:46 ID:lRilu1ii
>>898
ダレがイベントを拾ってるかチェック
900898:2006/04/17(月) 21:01:20 ID:mxRKJ5nQ
>>899
レスありがとうございます。
スクリプト初心者なもので、残念ながら頂いたアドバイスでは解りませんでした。
ちなみにMC内に配置しているボタンからは
on(release){
getURL("aaa.html");
}
といった記述をしています。
901Now_loading...774KB:2006/04/17(月) 21:21:48 ID:Rsc3i2e9
どうして調べようとしないの?
初心者という言葉は免罪符じゃないのよ?
902Now_loading...774KB:2006/04/17(月) 21:24:54 ID:VFpw/AZM
>>900

□□□□□
□□■■□
□□■■□
□□□□□

白MCの中に黒MCがあって
白MCにヤフーへ飛ぶように、
黒MCにグーグルへ飛ぶようにASを書いたとする。

しかしどこをクリックしてもグーグルに飛ぶことはない
何故なら黒MCは白MC内にあるから。
黒MCを押したつもりでも白MCがイベントを拾ってしまう。

rollOver でもこれと一緒。

リンクボタンを外に出すか、hitTestとマウスダウンで対応。

>スクリプト初心者なもので、残念ながら頂いたアドバイスでは解りませんでした。
わからないと思うのでASは書きませんw
903898:2006/04/17(月) 21:28:38 ID:mxRKJ5nQ
>>901
申し訳ありません。
テンプレートにあるサイトやグーグルで検索しているのですが解らなかったもので。
イベントを拾っているものとは、配置しているMCだと思うのですが
なぜその中のボタンが機能しないのか解らないのです。
904Now_loading...774KB:2006/04/17(月) 21:31:49 ID:Bh0eFIgf
>>898
ボタンが重なってるから、親MCが優先されて子MCにフォーカス行かないんじゃない?
思い切って親MCのrollOverとrollOutを、マウス座標で判定してみては?

//rollOverみたいなもん
onClipEvent(enterFrame){
if(_root._xmouse <= MCの左端座標 && _root._xmouse >= MCの右端座標 && _root._ymouse <= MCの上端座標 && _root._ymouse >= MCの下端座標){

これだと親MCがボタン扱いにならないから、子MCにちゃんと行くんじゃないかな?
rollOutの所は、rollOverの時以外。すなわちelseの時になりますよね。

ただ、これだと898さんのやっているMC内タイムライン制御の挙動がおかしくなると思います。
ですから、そこはゆっくりと考えてやってみてください。
905898:2006/04/17(月) 21:32:19 ID:mxRKJ5nQ
>>902
ありがとうございます。
アドバイスをもとに色々やってみます。
906Now_loading...774KB:2006/04/17(月) 21:39:08 ID:Bh0eFIgf
904に追記
条件式内の座標は、基準点が左上ならば
this._x
this._x + this._width
this._y
this._y + this._height
にしておくと、MC自体が動いても修正されますよね。

基準点が左上以外の場合は、上記をベースに修正してください。
907Now_loading...774KB:2006/04/17(月) 21:40:37 ID:Bh0eFIgf
あ、ごめん・・不等号逆だった

if(_root._xmouse >= MCの左端座標 && _root._xmouse <= MCの右端座標 && _root._ymouse >= MCの上端座標 && _root._ymouse <= MCの下端座標){
908898:2006/04/17(月) 21:43:13 ID:mxRKJ5nQ
>>904
細かいアドバイスありがとうございます。
座標の方法、挑戦してみます。
909Now_loading...774KB:2006/04/17(月) 21:48:43 ID:VFpw/AZM
910Now_loading...774KB:2006/04/17(月) 21:57:21 ID:QdhrUQJC
座標使うヤツはメンテ悪すぎる。
ちゃんとMCとイベントの流れ考えればメンテ良いの作れる。
911Now_loading...774KB:2006/04/17(月) 22:12:32 ID:Bh0eFIgf
>>910
あうち
>>898
すまんかった
912Now_loading...774KB:2006/04/18(火) 11:39:46 ID:OYjRmr8E
中のMCでイベント拾って親のMC操作するイメージだね
913Now_loading...774KB:2006/04/18(火) 13:35:49 ID:ZqAO+Gi6
フレームが表示される度に実行されるイベントってありますか?
初回ならアクションに直接書いたActionScriptが実行されますが、gotoAndStopで移動したときは実行されないようです
DHTMLのonloadやonreadystatechangeがフレーム単位で実行されるようなイメージです
知ってる方教えてくださいませ

環境:
OS:WindowsXP
Flash:MX2004(7.2)
914Now_loading...774KB:2006/04/18(火) 13:42:50 ID:CxFUZ8Eq
>>913
> gotoAndStopで移動したときは実行されないようです

ようです、ってなんだよ。
普通は実行される。
実行されないのがどういうタイミングか確認するのが先だろ。
今いるフレームに移動しようとしたら実行されないとか、そういうことか?

なんとなく、設計や考え方に難がある予感がする。
やりたいことを詳しく書いてみてはどうか。
915Now_loading...774KB:2006/04/18(火) 14:23:50 ID:ZqAO+Gi6
すみません!
良く動作を確認したら現象が違っていました!

フレームに直接コンボボックスを操作するコードを書いているのですが、selectedIndexを指定したのに表示が変わっていないのが問題でした。
こんなコードです。

if(_root.cbIndex != undefined)
{
_root.foo_cb.selextedIndex = _root.cbIndex;
}

初回はundefinedなので変更されないのですが、二回目以降はselectedIndexを_root.cbIndexの値にしてデフォルト値を書き換えるつもりなのです。
でも、表示が変わりません。
試しにドロップダウンリストを表示してみたら_root.cbIndexの位置が選択されていたので、選択内容と表示が一致していない状態です。
これを見て「gotoAndStopで移動したときは実行されない」と勘違いしておりました。
誤った認識で投稿してしまい、申し訳ありません。

それで大変申し訳ないのですが、新しく出たこの問題について情報のある方おりませんでしょうか。
コンボボックスはeditableをfalseにしているので手書きはできません。
dataとlabelはデザイン画面で静的に設定しているので内容はあります。(ドロップダウンリスト上では選択されています)
ヘルプを見る限りではselectedIndexを設定するだけでテキストボックスの中身も変わるとあり、どうすればいいか困っています。
知ってる方いたら教えてください。
916Now_loading...774KB:2006/04/18(火) 14:33:18 ID:DRt2jn36
スペルあってるか?
917Now_loading...774KB:2006/04/18(火) 14:36:37 ID:ZqAO+Gi6
すみません、転記するとき書き間違いました(恥

実際のコードは間違っていません(.selectedIndexが青色になっています)
918Now_loading...774KB:2006/04/18(火) 14:46:23 ID:ZqAO+Gi6
更に動作を確認すると、selectedIndexが指すitemのdata/labelと違うもの(テキストボックスに表示されているもの)がselectedItemのdata/labelに設定されています。
コンボボックスが2つ重なっていないかデザイン画面と「ターゲットパスを挿入」で確認しましたがそれは無かったです。
指定する直前で値が書き換わっていないかtraceしてみましたが、値がおかしくなっていることはありませんでした(ドロップダウンリストは選択されていますしね。。。)

selectedIndex以外で選択状態をコードから指定する方法はないでしょうか?
もしあればその方法で対処してみたいと思っていますが、selectedItemは上手くできず、悩んでいます。。。
919Now_loading...774KB:2006/04/18(火) 14:56:40 ID:ZqAO+Gi6
度々すみません!
原因が分かりました。

selectedIndexへの代入操作とは別にenabledの設定を行っているんですが、enabledがfalseの時はselectedIndexを設定しても「リストだけ更新されて表示とdata/labelは更新されない」という現象が起きるようです。
コードを修正してselectedIndexの設定時一時的に必ずenabledをtrueにするようにしたら反映されるようになりました。
喜び勇んで同僚に語ったところ「え、常識じゃん?」と返されてしまいました。。。

こんな不可解な動作が常識なのでしょうか?
私にはバグにしか思えません。。。
Javaや.NETやDHTMLではenabledがfalse(disabledがtrue)でもちゃんと反映されるのに。。。

原因が釈然としませんが、動作ベースでの対応はできました。
何度も書き込みすみませんでした。
この不可解な動作についてはAdobeに問い合わせてみます。
920Now_loading...774KB:2006/04/18(火) 15:10:51 ID:JvLew7fJ
自分の判断でスクリプト抜き出したりしないで全部書いて欲しい
と思ったけどどうでもいいや
921Now_loading...774KB:2006/04/18(火) 15:37:43 ID:ZqAO+Gi6
すみません、他の開発系の常識で見たのが間違いでした。。。
enabledをfalseにするだけでこんな摩訶不思議な動作になるなんて思ってもいませんでした
ヘルプにもそういう記述は無かったと思いますし、あらゆる可能性を探る必要があると痛感しました

ただ、コードの転載は無理です。。。
ビジネスアプリなので全体で1000行以上あり、複数のasファイルで構成されているので。。。
922Now_loading...774KB:2006/04/18(火) 15:49:17 ID:UgNrWaa0
いちいちレポート書かなくていいから
923Now_loading...774KB:2006/04/18(火) 16:07:35 ID:OYjRmr8E
ここに来てJAVA云々って言うヤツ怪しすぎ
924Now_loading...774KB:2006/04/18(火) 16:49:17 ID:dBy3k1ig
XP,Flash8です。

動画の外部FLV再生をやってます。
FLVPlayBack.contentPathにURL入れると
動画再生しますが、このときにUser Agentの
指定はできないでしょうか?
FLVPlayback.addRequestHeader("User-Agent","HOGEHOGE");
とかやっても意味ありませんでした。

参考になるアドレスでもいいので、お願いします。
925Now_loading...774KB:2006/04/18(火) 17:35:38 ID:JvLew7fJ
>>921
1000行w
そらすまんかった
926Now_loading...774KB:2006/04/18(火) 22:05:03 ID:jkdBoT+2
>>924
MediaクラスにaddRequestHeaderなんてない。
ユーザーエイジェントってブラウザの種類じゃないの?
それを指定するってどういうこと?
取得ならjavascript使えばできると思う。
927ami ◆ami/FR.DVU :2006/04/19(水) 10:45:16 ID:+ANxbIGG
質問お願いします。
『ボタンを押したら、1フレ目まで逆再生』
の書き方をおせえてください('A`)
928Now_loading...774KB:2006/04/19(水) 10:56:55 ID:luHdUYpL
>927
状況がわからんけど、基本的にはこんな感じでどうよ?
btn.onRelease = function() {
target.onEnterFrame = function() {
this.prevFrame();
if (this._currentframe == 1) {
delete this.onEnterFrame;
}
};
};
929Now_loading...774KB:2006/04/19(水) 11:06:59 ID:evEqa0DU
状況をエスパーが予想するとこうか?
on(release) {
_root.onEnterFrame = function() {
_root.prevFrame();
if(_root._currentframe == 1) {
delete _root.onEnterFrame;
}
}
}
930Now_loading...774KB:2006/04/19(水) 11:16:53 ID:+ANxbIGG
お二人さんありがとう。
説明下手でゴメン
いくつかシーンがあって、その中のあるシーンで1フレ目までrootごと逆再生したい。
MCを逆再生だったらサイトにも沢山晒してあるけれど...これはわかんなかったorz
今の状況的に>>929が近いみたいですが
そのASですと、シーンまでさかのぼって本当に一番最初まで戻ってしまいます('A`)
シーンの中だけでの逆再生をおせえてください。
931ami ◆ami/FR.DVU :2006/04/19(水) 11:18:11 ID:+ANxbIGG
↑トリ忘れ。私ですorz
932Now_loading...774KB:2006/04/19(水) 11:29:34 ID:evEqa0DU
AS使うならシーン分けをしてはいけません。
933ami ◆ami/FR.DVU :2006/04/19(水) 12:12:28 ID:+ANxbIGG
ですよね...orz
それでは、無理でしょうか?
934Now_loading...774KB:2006/04/19(水) 12:17:14 ID:/GmDwrrV
特定のフレーム間だけを再生することってできますか?
こんなイメージです

//10フレームから20フレームまで再生する
play(10, 20);

WindowsXP+FlashMX2004です
935Now_loading...774KB:2006/04/19(水) 12:40:42 ID:luHdUYpL
>928
応用すればいいんじゃね?

とめたい場所のフレーム番号を調べる。
trace(this._currentframe);
>(_root._currentframe == 1)
そしたら、1に代入しれ。
936ami ◆ami/FR.DVU :2006/04/19(水) 12:47:53 ID:+ANxbIGG
今、シーンわけをやめて全部単品にして
mainのmcに単品たちを読み込ませるようにしました。
そしたら今度は↑のAS書いても動いてくれなくなりましたorz
パスの指定が原因かと思って、rootを_parent._parent.などにしてみましたが
ダメです。。。どうしたらよいのでしょう。
937Now_loading...774KB:2006/04/19(水) 13:09:24 ID:m3to1kVg
100%ターゲットパスの問題。ちゃんと調べな。
938Now_loading...774KB:2006/04/19(水) 13:15:01 ID:luHdUYpL
>936
target.loadMovie("test.swf");
ってやったんだろ?
_root→target
939Now_loading...774KB:2006/04/19(水) 13:17:35 ID:QCeRFJPC
>>936
最低限ターゲットパスは把握できるようになっておけ。
階層が変わる度に「どうしたらよいのでしょう」ではやっていけん。
940ami ◆ami/FR.DVU :2006/04/19(水) 15:30:48 ID:+ANxbIGG
違います('A`)
説明不足でゴメンorz
>>930のことが出来なくて困っているんです。
target.loadMovie("test.swf");
など、読み込み関係はできているので大丈夫です。
シーンわけをやめて単品にしたら>>929のAS書いても
動かなくなったという意味です('A`)
941Now_loading...774KB:2006/04/19(水) 16:06:24 ID:9LXhEhFm
だからパスの問題じゃネーの?
loadMovieした時にパスが変わるからでしょ?
942924:2006/04/19(水) 16:18:32 ID:Kl9ZgoPC
>>926
とりあえずUserAgentなんですが、
アクセス時のヘッダの書き換えができれば、
Basic認証とかレンジアクセスともできるので夢が広がるかと。
無理っぽいですね。
すいませんでした。
943Now_loading...774KB:2006/04/19(水) 16:38:34 ID:luHdUYpL
オラなんだかワクワクしてきたぞw
>940
>違います('A`)
何が違うの?具体的に書いてください。

パス関係なら、
>target.loadMovie("test.swf");
例えば、_root.loadMC.loadMovie("test.swf");としたのなら、
>929の_rootを全部loadMCに置き換えて下さい。
例)
_root.onEnterFrame = function() {

loadMC.onEnterFrame = function() {

今後の参考に、あなたの年齢を大体で構いませんので教えていただけますか?
説明の仕方が年齢によって変わってきますので。
944Now_loading...774KB:2006/04/19(水) 17:09:31 ID:Q2fro7B+
943うぜえ
バカは黙ってろ
945ami ◆ami/FR.DVU :2006/04/19(水) 17:26:43 ID:+ANxbIGG
on (release) {
_root.mc.loadMovie("service.swf");
}
で読み込み、逆再生ボタンには
on(release) {
mc.onEnterFrame = function() {
mc.prevFrame();
if(mc_currentframe == 1) {
delete mc.onEnterFrame;
}
}
}
と書きました。
動かないです。

946Now_loading...774KB:2006/04/19(水) 17:33:41 ID:ptqEwX9a
>>945
だからパスの問題じゃん
もう教えたくない
947Now_loading...774KB:2006/04/19(水) 17:34:04 ID:evEqa0DU
>>945
とりあえず、すべての
mc

_root.mc
と変えて実験してみて。
948Now_loading...774KB:2006/04/19(水) 17:59:39 ID:IrRR9ZQc
>>945
.flaうp
 ↓
直す
 ↓
.flaうp
 ↓
見てみる
 ↓
ブラクラになってた
 ↓
もうこねぇよ

の流れを是非
949Now_loading...774KB:2006/04/19(水) 18:35:47 ID:luHdUYpL
>945
>動かないです。
何がうごかないんでしょうか?具体的に書くと話が早いです。
onEnterFrameは機能してる?
書き出しのヴァージョンによっては動かない事もありますよ。
差しさわりが無ければ、.flaファイルアップするとか。
>948がいじってくれるかも。↓アップローダー
ttp://www.uploda.org/

ここまで付き合ったんだから是非教えてください。
歳いくつなんだ?教えてくれ。
その不理解っぷりにすごい興味出てきて止まんないんだよ
どうすればこうもコミュニケーションのとれない人間が育つんだ?
950Now_loading...774KB:2006/04/19(水) 20:06:25 ID:/M/2dk/C
質問するヤツとりあえず一行目に
"16歳♀です"
って入れておけ
951Now_loading...774KB:2006/04/19(水) 21:09:14 ID:Hmz0i9r8
>>949
初心者なんてそんなもの。
あんたは何を期待してるんだ?
952Now_loading...774KB:2006/04/19(水) 22:33:24 ID:gdVbzSXC
最近MXからflash8に変えたんだけど
AS書いてて、キーの入力から実際にコードが表示されるまでに
なんかレスポンスない?
MXの頃はそんなこと無かったと思うんだが、これってPCのスペックの問題か?
当方セレロン2G メモリ512のPC使ってます。
flash8つかってる方で同じような現象の方いますか?
953Now_loading...774KB:2006/04/19(水) 23:23:32 ID:LuP8o+ZT
>>952
確かに少し重いよ。
MXで出来ることはMXで作る。
8でしか出来ないことは8でやるのがベスト。
954Now_loading...774KB:2006/04/20(木) 00:45:24 ID:1v/a/sAa
簡単なシューティングを作ろうと思ってるんですけど…
複製の弾で複製の敵に影響を与えるにはどう組んだらいいですか?
955Now_loading...774KB:2006/04/20(木) 02:07:29 ID:5Bd4QbC/
>>954
影響?
シューティング作るなら、
複製:duplicateMovieClip
じゃなく、attachMovie使った方がいいよ。

MovieClip.attachMovie
MovieClip.hitTest
MovieClip.onEnterFrame

あたりをヘルプで調べてみ。
956Now_loading...774KB:2006/04/20(木) 02:10:03 ID:vk4AwJGy
弾をattachするときにそのMCを
tama_arrayに登録
敵をattachするときにそのMCを
teki_arrayに登録

_root.onEnterFrame=function(){
for(var ia in tama_array){
for(var ib in teki_array){
if(tama_array[ia].hitTest(teki_array[ib])){
//衝突処理の関数にtama_array[ia]とteki_array[ib]を渡す
}
}
}
}
957Now_loading...774KB:2006/04/20(木) 03:43:30 ID:Ui7yjCTB
FlashMX2004を使ってkamiというMCの内部に曲線を描くASを書いています。
rootに開始ボタン(インスタンス名:startB)を配置し、これを押してkamiのタイ
ムラインのフレームアクション(下)

r = 100;
this.lineStyle(3, 0xffffff, 100);
this.moveTo(0, r);//インスタンスkamiの中心点から開始点に動かす
_root.startB.onRelease = function() {
this.curveTo(r, r, r, 0);
trace("Play");
};

から、曲線を描きたいのですが現れません。どう修正すればいいでしょうか?
なお、trace("Play")でPlayは出ます。
958Now_loading...774KB:2006/04/20(木) 04:30:06 ID:Y/qECXP4
線の色白でいいんか。
_parent.kami.curveTo(r, r, r, 0);
959957:2006/04/20(木) 05:12:10 ID:iWM4FSQc
>>958
はい白でいいです。うまく出来ました。

ところで、_parent.kamiはthisとどう違うのでしょうか?
kami上に描いているので変わらないと思いますが、違いが分かりません。
960Now_loading...774KB:2006/04/20(木) 05:47:35 ID:Y/qECXP4
ボタンに設定したんだからボタンからの相対パスになるわけ。
trace(this);してみそ。
961Now_loading...774KB:2006/04/20(木) 05:48:23 ID:wZ7q9KeK
>>959
イベントハンドラメソッド内でのthisは、
イベントをハンドリングするオブジェクトを参照する。

この場合のthisは_root.startB。
962ami ◆ami/FR.DVU :2006/04/20(木) 10:03:41 ID:xStnOidD
>>949怖いです。

>>947>>951dクス

出直してきます!
963ami ◆ami/FR.DVU :2006/04/20(木) 10:16:38 ID:xStnOidD
>>947置き換えたら逆再生が出来て、問題解決しました!
みなさん馬鹿にアドバイスありがとうございました。
ですが!逆再生すると通常の再生はできなくなってしまうんです('A`)
@ボタンを押して1フレーム目から10フレーム目までを再生

A別のボタンを押して10フレ目から1フレ目まで逆再生

Bここで@をやることが出来ない
964Now_loading...774KB:2006/04/20(木) 10:22:14 ID:05leBsuo
お前が馬鹿だからできないんだろ
丸投げ厨は消えろや
965Now_loading...774KB:2006/04/20(木) 10:25:43 ID:vvGNYo1F
もう、「作ってくれ!」と言ってくれた方がはるかに早そうだ・・・
966ami ◆ami/FR.DVU :2006/04/20(木) 10:38:26 ID:xStnOidD
迷惑掛けてすみません。
ノシ
967Now_loading...774KB:2006/04/20(木) 10:41:18 ID:41BoVjBC
>>954
シューティング作るなら、まずオブジェクト指向を
覚えるといい、敵の管理と玉の管理するのに必要と思われ
968Now_loading...774KB:2006/04/20(木) 11:25:11 ID:CmBxcY/Y
while中に、1フレーム進めながらif判定をしたいのですが、どうすればいいのでしょうか?
i=0;
ii=3;
while(i<1=10){
if(ii==10){
trace("ok");
break;
}else{
//★ここで1フレーム進めたい
}i++;ii++;}
よろしくお願いします。
969Now_loading...774KB:2006/04/20(木) 11:34:07 ID:vvGNYo1F
>>968
普通は、onEnterFrame とか onClipEvent(enterFrame){} を使うけど、
場合によっては、★部分に
nextFrame();
updateAfterEvent();
かな。
途中経過の表示が必要なければ、nextFrame();のみでいい。
970Now_loading...774KB:2006/04/20(木) 11:38:06 ID:vvGNYo1F
訂正。
調べたら、updateAfterEvent();に関して、
forやwhileループ処理内から実行したときは、画面の更新が行われません。
と書いてありました。
971Now_loading...774KB:2006/04/20(木) 11:41:13 ID:Y/qECXP4
これ、意図がよくわからん。
while(i<1=10)
972Now_loading...774KB:2006/04/20(木) 12:03:21 ID:CmBxcY/Y
>969
空いてるMCが無かったんでwhileでどうかな?と思ったんですが、
用意してonEnterFrameしてみます。
調べてくださってありがとうございました。

>i<1=10 着にスンナw
973Now_loading...774KB:2006/04/20(木) 12:08:09 ID:P4q/t0lO
最近の質問側は終わってるな
974Now_loading...774KB:2006/04/20(木) 12:16:52 ID:pD/nVdaG
そもそも質問する側が「努力して理解したい」のか「努力理解抜きで結果は欲しい」のか
自覚せずに、なんでもかんでも「教えてください」と言うから混乱するんだろうな。
後者なら「代わりにAS書いてください」「作って下さい」と言って欲しいもんだ。
そうすれば、誰も説明とか余計なことしないし、理解や努力も期待しないだろ。
975Now_loading...774KB:2006/04/20(木) 12:20:17 ID:eGQ4WSRU
最近は丸投げが多すぎて、質問に答えなくなった。

ヒント貰うくらいにして、後は自分で考えないと本人のためにならん。
976Now_loading...774KB:2006/04/20(木) 20:58:09 ID:1v/a/sAa
>>955>>956
dd いろいろ試してみます
977Now_loading...774KB:2006/04/20(木) 21:31:29 ID:IuMcsmE9
>>972 ボケがぁ!
978Now_loading...774KB:2006/04/20(木) 21:46:34 ID:h9CTpbjK
>>975
別に本人のためとか考える必要はない。
質問者は私たちに難解な問題を提供してくれています。
979Now_loading...774KB:2006/04/21(金) 00:43:42 ID:rXBgIwUy
国語のな。
980Now_loading...774KB:2006/04/21(金) 09:41:27 ID:+AR1bETe
(上のやりとりを見ると怒られそうなのですが・・・・)
環境:FlashMX2004,Player7

ボタンを押すと
_root.attachMovie("txt1", txt1a, 2, prop);

により、txt1というMCが別名:txt1aでステージ上に現れ、フレームアクション
this.onEnterFrame = function() {
txt1a._y += speed;
};

で、上に動くようにしたいと思っています。

このASでは、txt1aはステージ上に現れるのですが全く動きません。
原因のご指摘を願います。
981Now_loading...774KB:2006/04/21(金) 09:58:54 ID:uaSSgn5b
attachMovieの第二引数をダブルクォートで括ってないなら、
変数txt1aの内容を名前としてアタッチされると思う。
982980:2006/04/21(金) 10:01:49 ID:+AR1bETe
しまった! 上方向だから
txt1a._y -= speed;
だった。
983980:2006/04/21(金) 10:33:09 ID:Jtjjz3Z9
>>981
_root.attachMovie("txt1", "txt1a", 2, prop);
ですよね?
動かないです。
984Now_loading...774KB:2006/04/21(金) 11:35:12 ID:OElXSfOO
>>983
動くよ。
this.onEnterFrameはいつ、どこのフレームに書いてるの?
speedの初期値は入ってるの?
propに矛盾する関数とか入れてない?
985980:2006/04/21(金) 12:07:28 ID:uxadYFVf
>>984
ありがとうございます。
this.onEnterFrameは、rootの1フレ目に書いています。
speedの初期値は、this.onEnterFrameの前に speed=5 としています。
propは、出現場所として prop={_x:10, _y:100} などとしています。
986Now_loading...774KB:2006/04/21(金) 12:23:44 ID:K9UlrEaC
>985
attach直後の命令はフレームを進める必要がある。
macromediaサイトに書いてあったのを昔呼んだことがあるがどうよ?
_root.attachMovie("mc","mc",i);
_root.onEnterFrame=function(){
mc.onEnterFrame=function(){
ステートメント
}
delete _root.onEnterFrame;
}
987Now_loading...774KB:2006/04/21(金) 12:53:04 ID:JxOo0g9F
1フレ目は扱いが特殊なんで、ここにAS書くのはあまりおすすめしないが、
それは別として自分の環境では以下で動いた。
1フレ目に以下の内容コピペして、ボタンがわりにMC「b_mc」を配置。

prop = {_x:10, _y:100};
speed = 5;
this.onEnterFrame = function() {
txt1a._y -= speed;
};
this.b_mc.onRelease = function() {
_root.attachMovie("txt1", "txt1a", 2, prop);
};

この最小構成でも動かないのか?
988980:2006/04/21(金) 15:25:38 ID:nrG2su4o
>>986,987
出来ました。987さんの方法を採用しました。

ところで、「1フレ目は扱いが特殊なんで」とのことですが、どのような弊害が
生じるのでしょうか?
989Now_loading...774KB:2006/04/21(金) 15:31:29 ID:WPLyWgqF
次スレたてますた。
ActionScript 誰かが物凄い勢いで解答するスレ 12
http://pc8.2ch.net/test/read.cgi/swf/1145601039/
990Now_loading...774KB:2006/04/21(金) 17:33:23 ID:/eYDFTTr
1000が近づいてます。
残り10だけとなると質問しづらい、回答もしづらい微妙な間です。
といって、一つ埋めてみるテスト
991Now_loading...774KB:2006/04/21(金) 17:55:04 ID:qCrY5Q3n
では埋めましょう
992Now_loading...774KB:2006/04/21(金) 18:44:15 ID:rXBgIwUy
for(var i = 993 ; i <= 1000 ; ++i){
name.text = "" ;
mail.text = "sage" ;
hatugen.text = i + "ゲット埋め" ;
}
993Now_loading...774KB:2006/04/21(金) 19:03:36 ID:WPLyWgqF
for(var i=0;i<10;trace("1000Get!!!"),i++);
994Now_loading...774KB:2006/04/21(金) 19:51:33 ID:/M+XCLga
while(trace("1000Get!!!"));
995Now_loading...774KB:2006/04/21(金) 20:27:24 ID:rXBgIwUy
ムービー内のスクリプトが原因でFlashPlayerの実行速度が遅くなっています。
996Now_loading...774KB:2006/04/21(金) 20:31:15 ID:fPzVoZd6
996
997Now_loading...774KB:2006/04/21(金) 20:59:28 ID:/M+XCLga
>>995
ループ内でtraceしてると
そのメッセージ出ないで死ぬ場合が多い
998Now_loading...774KB:2006/04/21(金) 21:10:03 ID:rXBgIwUy
>>997
まじかよ・・・保存し忘れてたらキツス
999Now_loading...774KB:2006/04/21(金) 21:10:42 ID:GwnMRE5s
if ( 質問 == "日本語" ){
  return 回答
} else {
  return スルー
}
1000Now_loading...774KB:2006/04/21(金) 21:12:32 ID:rXBgIwUy
そういえばフラッシュ1クリックしないとアクティブにならなくなったけど
外部JSで対策してる人居る?
居たとしたらjaba切られてるユーザへの対処はどうしてるんだろ・・・
999で聞いても無意味かw
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。