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

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

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

●質問する時は自分の環境を書く(AS2,AS3の別も)
●質問はものすごい勢いじゃなくて結構
●できるだけコードも示す
●まず自分がやりたいことを明確に書く。そのために試してみた処理を書く

前スレ
ActionScript 誰かが物凄い勢いで解答するスレ 19
http://pc11.2ch.net/test/read.cgi/swf/1205361771/
関連スレ
Flashの超基本的な質問はここでしろ! part37
http://pc11.2ch.net/test/read.cgi/swf/1202144062/l50
Flash製作初心者の質問スレッド レイヤー38
http://pc11.2ch.net/test/read.cgi/swf/1202151748/l50
2前スレ985:2008/07/08(火) 15:18:30 ID:37ODdv7N
前スレ>>1000に言われて気付きました。
前スレ>>998は完全に逆で、ローダーを介してpngを表示した場合が正確なガンマ値を示していて
予めライブラリに読み込んだpngを表示した場合に勝手にガンマ値を補足してるのではないか、という結論に達しました。
混乱させて申し訳ありませんでした。
どっちにしろflashで扱うのを前提としてる場合はphotoshopの[Web用に保存]でのPNG画像の出力は使わない方がイイって事ですね。
3Now_loading...774KB:2008/07/08(火) 17:57:38 ID:aiLYhHgE
>>1
4Now_loading...774KB:2008/07/08(火) 23:13:06 ID:mDYgy+zN
http://www.amazon.co.jp/
にあるオススメを表示するフラッシュは、マウスホイールによるスクロールがIEやFirefoxでも出来ると思うんですけど、
これはどういうロジックになっているのでしょうか?
左クリックとかでフラッシュにフォーカスを当てた後もマウスホイールは効きますよね?
もしかしてこれはjavascriptによる後からの制御なのでしょうか?
5前992:2008/07/09(水) 02:17:48 ID:a4knOvMM
>>996>>997
分かりました。ありがとうございます。
6Now_loading...774KB:2008/07/09(水) 02:42:07 ID:2AQ+4XOE
ニコニコ動画はFlashにフォーカスがあたってると、Flash内のスクロールバーの処理にいっちゃうのかな?
Youtubeとか他のFlashコンテンツはFlashにフォーカスがあたっていても普通にホイールスタンプやスクロールが出来るけど
7Now_loading...774KB:2008/07/09(水) 13:54:16 ID:fr2dxVJ+
あ、確かにyoutubeとかもスクロールうまくいきますね!
てことは、特に特殊な処理はしてないのかな・・・?
以前自分でflashを作成したときに、何も処理をしていないとホイール操作がflashに奪われていたため、
amazonの方が特殊な処理をしているのかと考えていたのですが。。。
8Now_loading...774KB:2008/07/10(木) 00:23:32 ID:0AjGa8rw
>>4
wmodeをtransparentにしたらブラウザもスクロールする
9Now_loading...774KB:2008/07/10(木) 03:23:49 ID:cfL3ZP6U
>>8
ベリートンクス
やってみる!
10Now_loading...774KB:2008/07/10(木) 22:34:01 ID:E6CbqVPf
papervision3Dをマジにやろうとおもってるんだけど
入門サイトとかそういうのがまったくないんだけど・・・
良い感じのページあったらおしえてください神様!
11Now_loading...774KB:2008/07/11(金) 09:19:05 ID:hsvAvodI
Flashで用意されてないオブジェクトを作った場合「hoge.」って打ち込んでも
メソッド一覧みたいなの出ないっすよね?
どうにか出るようにできないんすか!

ぐあああ!せめてpapervision3Dにどんなクラスやメソッドがあるかだけでも知りたい!
ドコを見ればいいのじゃ!!
12Now_loading...774KB:2008/07/11(金) 09:33:31 ID:d58CVIVj
>>11
ヘルプ嫁
13Now_loading...774KB:2008/07/11(金) 09:40:09 ID:1ItmHA5h
夏休みかw
14Now_loading...774KB:2008/07/11(金) 11:09:33 ID:qpPEZh9G
>>11
Fooって打ち込むといいよ
15Now_loading...774KB:2008/07/12(土) 00:11:37 ID:cu47cFZ2
わけあってAcitonScriptを覚えなきゃいけなくなり
本屋に行って参考書とか色々見たんですが
AcitonScript3.0よりAcitonScript2.0の方が
本の種類も、初心者にもわかりやすそうな本もたくさんあり
まずAcitonScript2.0を勉強して、基礎を覚えてから
AcitonScript3.0に手を出そうかな、と思ったんですが
これってどうなんでしょう?
どこかのサイトで、2と3は全然違うって書かれてたの見たんですが
3を覚えたいなら最初から3の本見て勉強した方がいいですか?
2の勉強しても無意味なんでしょうか?
16Now_loading...774KB:2008/07/12(土) 00:20:18 ID:NMnz1sMF
>>15
AS2の勉強してからAS3やり始めたらなんじゃこりゃー!ってなるかもねw
AS3はかなりC#やJavaチックになってるから他のここらへんの言語をやったことあるならいきなりAS3やったほうがいいんじゃないかな
17Now_loading...774KB:2008/07/12(土) 00:51:39 ID:/a5DZ3DR
>>15
上に同じくプログラムの経験があるならAS3だけど
覚える時間がなく、早急に何か作らなくてはいけないなら
取りあえずAS2覚えるのもいいと思う、AS3に比べると簡単だし

どの道AS3を覚えなきゃいけないなら、全部とは言わないが無駄になる(基本的な処理方法が変わってくるから)
でも、携帯のFlashサイトを作るなら無駄にはならない
携帯でAS3が使えるのはまだまだ先の話だろうし


1815:2008/07/12(土) 01:30:44 ID:cu47cFZ2
まじですか…orz
実はとりあえず一冊づつ買ってみようと
AS3の本と、おしえてAcitonScriptって本を買ってみて
パラパラっとですが読んだんですが、すごく初心者向けに書いてあって
おぉっこれなら自分でも理解できそうかも!と思ったんですが…。
AS3の方の本はAcitonScript初心者の自分にはもう何がなんだかさっぱりで…

ちなみにプログラムの経験はまったくないのですが
最終目標が「AS3を使いこなす事」なら
AS2を勉強するよりjavaの勉強した方が良いって事でしょうか?
AS3の本を見てみて正直
いきなりAS3をマスターするのは厳しそうだなぁと感じたんですが…。
(その辺、javaの本なら種類とか初心者向けの本もたくさんありそうで
独学しやすそうな印象なのですが。)
19Now_loading...774KB:2008/07/12(土) 03:17:05 ID:aR6AHv/1
最終目標が「AS3を使いこなす事」ならAS3をやればいいじゃん
Flexならブラウザ上、AIRならデスクトップアプリケーションが作れるし
AS3.0を覚えてからJavaやC#覚えるのは苦労が少ないし
AS3.0とJavascriptはどちらもECMAScriptだから応用範囲は広い。

Windows環境のデスクトップアプリケーションで一番制約が少ないのはC# + .NET とかかもしれないけど
20Now_loading...774KB:2008/07/12(土) 11:00:44 ID:/hld6bTL
PHPからFLASHへURLを幾つか送りたいのですが、
http://○○.net/○○.php?t1=1&t2=5&t3=6
の場合、&を使用した
http://○○.net/○○.php?t1=1で切れてしまいます。

よい解決法は有るでしょうか?
21Now_loading...774KB:2008/07/12(土) 11:57:45 ID:xF3d4e09
>>20
送り方が悪いのでしょう
22Now_loading...774KB:2008/07/12(土) 12:02:18 ID:7mHoObhT
>>20
PHP側でurlencode関数使って、URLエンコードした文字列を送ればいいんじゃないかな?
urlencode("http://○○.net/○○.php?t1=1&t2=5&t3=6");
23Now_loading...774KB:2008/07/13(日) 12:36:25 ID:d5jKPljE
FlashCS3のAS3で質問します。

外書きにしたASファイルから、戻り値を取りたいのですがどうしても判りません。

package {
public class my_test extends MovieClip {
public var testStr:String;
public function my_test() {
testStr="hoge hoge";
return;
}
}
}

例えばこういうクラスのtestStrを外部のクラスに戻り値として渡すにはどうすればいいんですか?
24Now_loading...774KB:2008/07/13(日) 12:43:32 ID:hyqNMChu
お前、戻す気ないだろ・・・
25Now_loading...774KB:2008/07/13(日) 13:04:44 ID:ygr5USpz
シュールな釣りだな
26Now_loading...774KB:2008/07/13(日) 13:27:22 ID:d5jKPljE
釣りじゃなくて。

return testStr; って出来ないんでどうしたらいいのかと。
27Now_loading...774KB:2008/07/13(日) 13:53:52 ID:3VDKJDHK
クラス名と同じfunctionは戻り値を返すことはできないよ
new testStr()を実行する際にfunction testStrの処理が実行されるよ

var test:my_test = new my_test(); // testStrに"hoge hoge"が設定される
trace(test.testStr);             // "hoge hoge"が出力される
2827:2008/07/13(日) 13:55:05 ID:3VDKJDHK
2行目のtestStrはmy_testに置き換えよろしく
29Now_loading...774KB:2008/07/13(日) 15:25:04 ID:ygr5USpz
              \   ∩─ー、
                \/ ● 、_ `ヽ
                / \( ●  ● |つ
                |   X_入__ノ   ミ コンストラクマ ・・・
                 、 (_/   ノ
                 \___ノ゙
                 / 丶' ⌒ヽ:::
                / ヽ    / /:::
               / /へ ヘ/ /:::
               / \ ヾミ  /|:::
              (__/| \___ノ/:::
30Now_loading...774KB:2008/07/13(日) 15:26:09 ID:x3PLd4kO
コンストラクタで調べるといいよ
31Now_loading...774KB:2008/07/14(月) 09:11:00 ID:UutNSC+1
コンストラクタのパブリッククラスには何も書かなくていいんですね。

package {
import flash.display.MovieClip;
public class testStr extends MovieClip {
public var str:String;
public function testStr():void {
}
function txtRes():String {
str="hogehoge";
return str;
}
}
}

これで出来ました。
ありがとうございました。
32Now_loading...774KB:2008/07/14(月) 09:57:45 ID:2LO3mb9P
コンストラクタのパブリッククラスか・・
33Now_loading...774KB:2008/07/15(火) 09:58:28 ID:FYUoT4P4
細い線を一本、右から左へゆっくり進むように描きたいのですが
タイムラインではなくスクリプトで書く方法お願いします。

超超簡単なflashのスクリプト集のサイトがありましたら紹介もしてほしいです。

34Now_loading...774KB:2008/07/15(火) 11:42:26 ID:fhW2xFlu
質問。環境はAS3,Flex builder 3です。
hitTestPointメソッドなんですが、

if (obj1.hitTestPoint(Math.floor(mouseX),Math.floor(mouseY),true)) {
addChild(obj2);
}

と記述しても、長方形での判定になってしまいます。
画像の透過処理はしてあって、透過部分は下の画像が見えることは確認してあります。
下記サイトの
http://livedocs.adobe.com/flex/2_jp/langref/
shapeFlag:Boolean (default = false) ? オブジェクトの実際のピクセルと比較して検査する場合は true、境界ボックスと比較して検査する場合は false です。
「オブジェクトの実際のピクセル」っていうのは具体的にはなんのことなんでしょうか。てっきり、透過処理をしていない部分のことかと思ってたんですが。

解説サイトを見るとhitTestPointメソッドではなくて、hitTestメソッドを使っていますが、使ってみると未定義のメソッドという注意が出てきました。
どこを変えたらいいんでしょうか。
35Now_loading...774KB:2008/07/15(火) 13:11:40 ID:LLoSAYpY
BitmapData.hitTest()
36Now_loading...774KB:2008/07/15(火) 14:20:21 ID:fhW2xFlu
>>35

ありがとうございます。なんとか望んでいた反応が返ってくるようになりました。
BitmapDataってなんだ? って最初かなり戸惑いましたけど。
あとは試行錯誤で応用してみようと思います。
37Now_loading...774KB:2008/07/15(火) 17:52:45 ID:UZpyOcej
action script3で、

クリックされたmcを引数として別クラスのメソッドに送る方法が分かりません。
誰か教えてください。

ここから詳しい内容です。

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

ドキュメントクラスmain.as内の記述です。

マウスでクリック(CLICK)された際に、movieclip(名前:mcHit)を、
他のカスタムクラスのhitHandler関数に引数として渡したいのですが、

hitHandler(e.target)
とすると、
以下のメッセージが出ます。

TypeError: Error #1034: 強制型変換に失敗しました。mcHit@38d7a61 を hitHandler に変換できません。

これは一体何故なんでしょう??
38Now_loading...774KB:2008/07/15(火) 18:47:12 ID:LLoSAYpY
hitHandlerメソッドの引数の型指定は?
39Now_loading...774KB:2008/07/16(水) 03:40:07 ID:+C7NFaxG
37です。
>38
MovieClip
と、型指定していますが、ダメでした。

public function hitHandler(obj:MovieClip)
{
//命令
}

というようにしておりますが、ダメです。
40Now_loading...774KB:2008/07/16(水) 05:30:37 ID:I+PPhysw
下記のスクリプトで外部フォルダからJPGを読み込んでいます。
このJPG画像の画質を調整、またはスムージングしたいのですが、可能でしょうか?

cnt = 0;
loadMovie("img/sample.jpg", ○○○);
this.onEnterFrame = function() {
if (cnt>=1) {
play();
cnt = 0;
delete (this.onEnterFrame);
}
};

可能であれば方法をアドバイスいただきたいです。
よろしくお願いします。
41Now_loading...774KB:2008/07/16(水) 06:08:34 ID:VPJFQ7pD
>>39
hitHandler(e.target as MovieClip)とか
hitHandler(MovieClip(e.target))とかでどうかな
>>40
versionわからんからなんともw
フィルターかBitmapDataで色々いじるとか
42Now_loading...774KB:2008/07/16(水) 14:43:16 ID:zLLJhRdN
>>41
ありがとうございます!
hitHandler(e.target as MovieClip)
hitHandler(MovieClip(e.target))
共に問題なく動作しました!

しかし、なぜ、MovieClipと型を
ガチガチに決めてしまわないと駄目なんでしょう?

e.targetを使うときは、
必ずターゲットとなるオブジェクトに対して、型を今回のように、
MovieClip(e.target)
とか、
e.target as MovieClip
にしてあげると覚えておけばいいでしょうか。。

それにしても、かなり悩みました。

43Now_loading...774KB:2008/07/16(水) 21:37:55 ID:s8uFWPHX
>>42
targetオブジェクトはObject型としてtargetプロパティに納められてるから
44Now_loading...774KB:2008/07/16(水) 21:43:10 ID:s8uFWPHX
>>42
というか、Object型として返ってくるの方が正しいか
45Now_loading...774KB:2008/07/16(水) 23:04:37 ID:xggomvf7
フルスクリーンflashにてhtmlでいう「background」を再現したいと考え、以下のように記述したのですが、
ウィンドウサイズ内でしかタイル状に敷き詰めた画像が描写されません。
(ウィンドウを広げた場合、広げられた部分は更新しない限り空白)
transparentを利用する以外に、無限に広がる「background」を再現する方法を
ご教授願えないでしょうか。

Stage.align = "TL";
Stage.scaleMode = "noScale";

bmp = flash.display.BitmapData.loadBitmap("bg");
mat = new flash.geom.Matrix();
_root.beginBitmapFill(bmp, mat,true,true);
_root.moveTo(0, 0);
_root.lineTo(Stage.width, 0);
_root.lineTo(Stage.width, Stage.height);
_root.lineTo(0, Stage.height);
_root.endFill();
46Now_loading...774KB:2008/07/16(水) 23:35:38 ID:+1/AspoF
言語的な美しさってActionScript 3.0はどうなんでしょうか?
よくRubyのプログラムは美しい、とか、Perlは汚いとか、Javaはタイピングする数が多い、とか
言われますけど、これもJavaに似てる感じでしょうか?
47Now_loading...774KB:2008/07/16(水) 23:46:42 ID:YFxeNV5q
>>45
Stageのresizeイベントで描きなおすとかすればいいんじゃね?
48Now_loading...774KB:2008/07/17(木) 03:54:59 ID:Gyrnmso4
Win2x、AS3です。
ActionScriptのプログラムの流れは、どこから始まるのでしょうか。
C言語のmain関数みたいなのです。
49Now_loading...774KB:2008/07/17(木) 05:34:59 ID:6Zix5Hf4
>>48
win2kか?
CS3ならflaのプロパティパネルのドキュメントクラスに設定されたクラス
50Now_loading...774KB:2008/07/17(木) 06:16:03 ID:Gyrnmso4
>>49
ありがとうございます。
はい、win2k(XP)ですorz。
エディタの方の環境を書き忘れてしまいましたが、FlashDevelopです。
プロパティでそういうのが無いか探してみたいと思います。

始まる位置とは別で、以下のプログラムでTestと表示されるのですが、
var test : Test = new Test();
と初期化?していないのに表示されるのはなぜでしょうか。

package
{
 import flash.display.Sprite;
 import flash.text.TextField;
 import flash.text.TextFieldAutoSize;

 public class Test extends flash.display.Sprite
 {
  public function Test():void
  {
   var textField:TextField = new TextField();
   textField.text = "Test";
   textField.autoSize = TextFieldAutoSize.LEFT;
   addChild(textField);
  }
 }
}
51Now_loading...774KB:2008/07/17(木) 06:22:52 ID:6Zix5Hf4
>>50
それがスタートするクラスだからでしょw
52Now_loading...774KB:2008/07/17(木) 06:25:36 ID:Gyrnmso4
>>51
あ、そうですよねw
ありがとうございます。
53Now_loading...774KB:2008/07/17(木) 09:43:46 ID:39OL6mLv
>>46
Rubyは糞遅い、とか、Perlは難しいとか、Javaはエレガント、とか
そんな感じじゃないでしょうか
54Now_loading...774KB:2008/07/17(木) 09:51:48 ID:Gyrnmso4
>>49
FlashDevelopでは、プロジェクト作ると、一緒にMain.asが出来て、
それがスタートクラスになるみたいなので、問題を解決できました。
プロジェクトを作らず、直にasファイルを作っていたのがダメでした。
55Now_loading...774KB:2008/07/17(木) 21:09:49 ID:8Uy9fTPe
初めまして。ボタンシンボルについて質問させてください。

ボタンシンボル内に配置されているダイナミックテキストのインスタンスが取得できず困っています。
ボタンシンボル内にダイナミックテキストを配置し、
そのダイナミックテキストをメイン側のActionScriptから変更したいのですが…。
 ※使用例としては、ランダムな複数のアイテムを
  アイテム名が表示されたボタンから選択する、というものを想定しています

----------------------------------------------------------------------
環境:Adobe Flash CS3 Pro にて Flash version 9(AS3.0) で作成
プログラム上にて:
 ○ボタンシンボル内にダイナミックテキストを配置、テキストのインスタンス名を "txt_itemname" に設定
 ○メインのアクションで、以下のように記述
[ボタンのインスンス名].txt_itemname.text = "アイテム1";

デバッグ出力結果:
ReferenceError: Error #1069: flash.display.SimpleButton にプロパティ txt_itemname が見つからず、デフォルト値もありません。

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

デバッグ中のボタンインスタンスには"txt_itemname"なるインスタンスが見当たらず・・・

少し例が違うのですが、以下のページに、
"ボタンの中に配置したMovieClipにインスタンス名を設定しても認識されない"
と書かれているのを発見しました。
ttp://www.flash-jp.com/modules/newbb/viewprint.php?topic_id=7494&forum=8&post_id=37556


上記ページのとおり、ボタンシンボル内のダイナミックテキストのインスタンスは取得することが出来ないのでしょうか?
また、こういうことをしたい場合はMovieClipでボタンを作るべきなのでしょうか?
56Now_loading...774KB:2008/07/17(木) 21:36:56 ID:U+BXAqG1
AS3です。

ムービーサイズをAS3上から
コントロールしたいのですが、どのクラスを使えばいいのでしょうか。

stage.stageWidthでサイズは取得できますが、
逆にサイズをコントロールする方法が
わかりません。
そもそもHTMLにはめ込んでいるswfのムービーサイズを、
自在に変更することは可能なのでしょうか。

ムービーサイズというのは、
flashのプロパティパネルの「サイズ」のことです。
57Now_loading...774KB:2008/07/18(金) 10:13:06 ID:j1Ba85R1
ActionScript3.0アニメーションっていう本を読んでます。
角度と移動量から、xとyを計算してENTER_FRAMEでアニメーションさせる
というサンプルが思ったとおりの動きをしないのですが、何か勘違いしてるのでしょうか?

(一部抜粋)
private var ball:Ball;
private var angle:Number = 45;
private var speed:Number = 3;

private function init():void
{
 ballをaddChild
}

private function onEnterFrame(event:Event):void
{
var radians:Number = angle * Math.PI / 180;
var vx:Number = Math.cos(angle) * speed;
var vy:Number = Math.sin(angle) * speed;
ball.x += vx;
ball.y += vy;
}

これで、右下45度に向かってballが移動するのかとおもうのですが、角度が45ではありません。
たとえば90にしても、真下にはいきません。
どっかおかしいですか?
58Now_loading...774KB:2008/07/18(金) 11:54:24 ID:W31UC1S8
>>55
パスが違ってるだけじゃね
ボタンはコンテナじゃないし
>>56
拡大縮小するとか、htmlでは設定できるが本来の表現じゃなくなるからなあ
>>57
>var radians:Number = angle * Math.PI / 180;
radiansってどこで使ってるの?
59Now_loading...774KB:2008/07/18(金) 16:15:09 ID:OGGUuJ9T
クラスのコンストラクタでMCを作成して
stageにaddChildしたいのですがstageへアクセスできないみたいで、できませんでした。
クラスからstageにMCをaddChildするにはどうすればいいのでしょうか。
6057:2008/07/18(金) 21:09:44 ID:j1Ba85R1
>>58
あああ、ほとんだ
サンクス。解決した
61Now_loading...774KB:2008/07/18(金) 22:20:00 ID:ulTCy8U8
こんちわ、最近Flashはじめた厨房です。
一時粘着させてもらいます。

で、早速質問なんですが、asファイルをimportしようとしたら下記エラーが出ます。

1084: シンタックスエラー : identifier が as の前に必要です。

asに書いたのは下の一文だけ
import src.as.*;

これってどういうことなんですか?
6261:2008/07/18(金) 22:31:04 ID:ulTCy8U8
あ、ごめんなさい、環境変数にASのパス入れてなかったorz
またきます。
63Now_loading...774KB:2008/07/18(金) 22:33:58 ID:j1Ba85R1
importはファイル名じゃなくてクラス名だから
import src
だよ

って、もうどっかいなくなったかな?
6461:2008/07/18(金) 22:39:21 ID:ulTCy8U8
>>63
あ、いえ、まだいます。
環境変数でD:\Flash\srcにクラスパスを設定したとします。
で、srcフォルダ配下にas3っていうフォルダを作成したとします。
as3フォルダ内にpackage src.asでパッケージ宣言をした場合、どういった書式になるんですか?
import src.*;
で通るんでしょうか?
6561:2008/07/18(金) 22:40:59 ID:ulTCy8U8
すんません。
package src.as3でパッケージ宣言をしたasファイルを設置した場合、でした。
66Now_loading...774KB:2008/07/18(金) 22:41:49 ID:FX6z5Ir1
通りません
6761:2008/07/18(金) 22:51:51 ID:ulTCy8U8
>>66
ちょwwwテストしたら通ったぢゃないっすかwww

//test.fla
import src.as3.*;
var sample:TestTrace = new TestTrace();

//TestTrace.as
package src.as3{
public class TestTrace{
public function TestTrace(){
trace("test");
}
}
}


あれ?でも返り値としてsample変数を受け取りたくない場合ってどうすればいいんっすかね・・・・。
どなたか教えてください。
68Now_loading...774KB:2008/07/18(金) 22:56:26 ID:FX6z5Ir1
最初の「var sample:TestTrace = 」を書かずに単にnew TestTrace();だけ書くとか?
69Now_loading...774KB:2008/07/18(金) 23:11:02 ID:QA7zb/vg
それでOK
7061:2008/07/18(金) 23:13:07 ID:ulTCy8U8
お、通りましたー!
サンクスです。またきます。
7161:2008/07/19(土) 02:29:05 ID:c8rCFT/w
ちょっとまた質問です。
Loaderクラスをインスタンス化したloaderっていうのを作りました。
で、loaderのプロパティであるloadに引数としてswfファイルのパスを指定してあげて実行したら下記エラーが出ました。

TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。
at src.as3::SWFLoad/loadHandler()

ちなみにコードはこんな感じです。
====================================================================
package src.as3{
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class SWFLoad extends Sprite {
private var loader:Loader;
private var url:URLRequest;
private var mc:MovieClip;
public function SWFLoad(xmlPath:String){
loader = new Loader();
mc = new MovieClip();
url = new URLRequest(xmlPath);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadHandler);
loader.load(url);
}

・・・・・続く
7261:2008/07/19(土) 02:30:32 ID:c8rCFT/w
private function loadHandler(event:Event):void {
addChild(loader);
mc = loader.content as MovieClip;
mc.stop();
}
}
}
====================================================================
mc = loader.content as MovieClip;がいけないんですかね?どういう書き方をすればいいんですか?
どなたか教えてください。
73Now_loading...774KB:2008/07/19(土) 08:38:35 ID:6/557yl0
よくわからんがmcってどこで宣言してんだ?型は?
74Now_loading...774KB:2008/07/19(土) 08:57:42 ID:6/557yl0
あ、わりい宣言してるしOrz
75Now_loading...774KB:2008/07/19(土) 10:57:48 ID:ok6jVTwd
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

attachMovie()でのMCのフレーム指定について質問です。

線型のMC(lineM)を描画用MC(waveBoardM)内に条件によって色を変えつつattachMovieしたく思っています。
つまり、条件1→lineMを青,条件2→lineMを白,・・・ という感じです。

このとき、あらかじめ lineM 内のフレームとして、フレーム1:青色,フレーム2:白 として、条件に
より _currentframe でフレーム選択ができないか?と思ってASを書きましたがうまくいきません。
ASは以下の通りです。

if (条件1) {
lineProp = {_currentframe:1};
} else if (条件2) {
lineProp = {_currentframe:2};
}
this.waveBoardM.globalToLocal(lineProp);
this.waveBoardM.attachMovie("lineM", NewLine, lineDepth, lineProp);

この場合のアドバイスを願います。
76Now_loading...774KB:2008/07/19(土) 11:39:00 ID:AcLa6oK9
>>75
_currentFrameは読み取り専用だからそれだと無理かな。
onEnetrFrameが空いてれば、それを使って移動するのはできると思う。ただ、1フレーム分遅れるけどね。

lineProp={onEnterFrame:function (){delete this.onEnterFrame;this.gotoAndStop(2);trace("初期フレームに移動しました");}}
this.waveBoardM.attachMovie("lineM", NewLine, lineDepth, lineProp);
7761:2008/07/19(土) 12:03:17 ID:c8rCFT/w
おはようです。

うむ、やっぱりmc = loader.content as MovieClip;でmcがnullなのがいけないっぽいです。
traceしてみたらnullってたorz
mc.stop();をコメントアウトしたらエラーは出なくなった。問題はなぜmcがnullなのか・・・ということですが・・・。
ちなみに上のASは外部SWFファイルを読み込むASなんですが・・・。

どなたかどういう書き方なら良いのか教えてくだしあお願いしまう><

[参考にしたサイト]ttp://myactionscript3.blog51.fc2.com/blog-entry-5.html
78Now_loading...774KB:2008/07/19(土) 12:19:19 ID:AcLa6oK9
>>77
変な処理だけど、間違ってはいないんじゃないかなあ

loader.contentはnullじゃないの?
そこがnullだったら、読み込みの問題じゃないのかな

で、nullじゃない場合は。読み込んでるのがAS3.0のswfファイルじゃないんじゃないかな?
昔のswfムービーとか
79Now_loading...774KB:2008/07/19(土) 12:25:06 ID:X5JZ6CsC
>>77
trace(loader.content)は?
入ってたとして、asでnullが返されるということは型変換に失敗している
直接キャストして例外を拾えば何から変換しようとしたか分かるから試せ
あとnew MovieClip()はいらんだろ
よくわかってないやつが書いてるような中途半端なサイトは参考にするな
外部swfのロードなんてlivedocsにもサンプルが転がってるわけだし
8061:2008/07/19(土) 12:36:51 ID:c8rCFT/w
loader.contentもnullでしたorz
ってことは読み込み時に失敗してるってことっすよね。
でもtrace(xmlPath);でtest.swfとちゃんと値は入っているのですが・・・。
ちなみにtest.swfのファイルの設置場所は下記のとおりです。

[AS]
D:\Flash\src\as3\SWFLoad.as
[SWF]
D:\Flash\test.swf
D:\Flash\sample.swf

8161:2008/07/19(土) 12:44:34 ID:c8rCFT/w
>>79
livedocs参考にして書いてみた。
===========================================
package src.as3{
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class SWFLoad2 extends Sprite {
public function SWFLoad2(swfPath:String){
var request:URLRequest = new URLRequest(swfPath);
var loader:Loader = new Loader();
loader.load(request);
addChild(loader);
}
}
}
===========================================
エラーなく通った!!でも外部swf再生されない・・・orz
swfの参照先は>>80と同じなんですけど、このパスの指定方法ってだめなんすか?
よくわからん・・・・・。
82Now_loading...774KB:2008/07/19(土) 21:59:16 ID:OqFtwf1a
>>76
さんきゅう。
う〜ん、1フレずれるのかあ。。。
8361:2008/07/20(日) 00:09:45 ID:w3L7cTKp
質問です。
コンストラクタで返り値を取得したいんですけど、どうすればいいんですか?

package src.as3{
public class testReturn{
public function testReturn():Boolean{
var flag:Boolean = false;
return flag;
}
}
}

回答おね
84Now_loading...774KB:2008/07/20(日) 00:18:37 ID:yt/d2iXa
コンストラクタは戻り値は返さん
コンストラクタ内で処理した値見たかったら
変数に値入れてそれを後から参照しろ

もういいから
本買うなり基本教えるサイトなり
超基本スレ行け
85Now_loading...774KB:2008/07/20(日) 08:18:37 ID:MIJKU1I4
livedocs一度全部読め

86Now_loading...774KB:2008/07/20(日) 11:28:49 ID:Bbd96xxA
俺の予想では、61はコリン・ムック。
87Now_loading...774KB:2008/07/20(日) 15:50:25 ID:86TDyYv4
61はJavaプログラマに1ペソ
88Now_loading...774KB:2008/07/20(日) 19:50:17 ID:3zw84w+O
こんな低レベルでJavaプログラマと言えるのかどうか
89Now_loading...774KB:2008/07/20(日) 21:55:23 ID:8BTeS3fg
Aはこの3通りの繰り返しを持つ
1.空白
2.AA
3.cAc

Aは1〜3をランダムに実行するものとし、全てを合計して20回Aの次をランダムに選んだらプログラムは終了する(もちろんうまく1が選ばれれば20回もいかずに終わる)。



その結果を表示するプログラムをお願いします。
90Now_loading...774KB:2008/07/20(日) 21:57:27 ID:3zw84w+O
その前に文章を日本語に翻訳してからもう一度質問してもらえますか?
91Now_loading...774KB:2008/07/20(日) 21:58:46 ID:8BTeS3fg
20回で自動的にプログラムが終了するので、Aとcの文字列ができる場合があります
92Now_loading...774KB:2008/07/21(月) 00:18:56 ID:Q2//RK2W
AS3でByteArrayのcompress、uncompress以外に圧縮処理をする方法ってありますか?
93Now_loading...774KB:2008/07/21(月) 00:30:04 ID:M7FDRJhn
>>88
書き方がJavaPGあがりっぽかったからなんとなくね
94Now_loading...774KB:2008/07/21(月) 01:04:13 ID:PiCsFE2U
コンストラクタの返り値とか言う人が Java あがりとはこれいかに
95Now_loading...774KB:2008/07/21(月) 01:22:17 ID:M7FDRJhn
>>94
そこに関しては同感
つーかコンストラクタで返り値返せる言語ってないような希ガス
96Now_loading...774KB:2008/07/21(月) 02:53:52 ID:EwyO36/F
コンストラクタの戻り値はインスタンス
97Now_loading...774KB:2008/07/22(火) 23:11:01 ID:BbNzRPpm
>>94
ごめん。
ちょっと「じゅん(^_^)V」の反応を試した。

どっちでもなく中立なのが分かって安心した。
それでも今後反発する人に関しては知らん。
98Now_loading...774KB:2008/07/23(水) 01:12:51 ID:lFK78v7b
as3です。
一枚の巨大な画像があるとします。
横2000px 縦500pxというサイズです。

そのどこでもいいから、クリックしたら、
クリックした場所にズームするという処理をしたい場合、
どのようにしたらいいでしょうか。

一枚ものの画像なので、
中心点だけを毎回クリックするたびにクリックされた場所を
中心点とすれば単純にスケールを変えればうまくいきそうですが、
中心点は常に画像の中で決まっているので、どうしたものかと悩んでます。

何か別の方法はありますでしょうか。
99Now_loading...774KB:2008/07/23(水) 06:05:08 ID:FEFC7t5B
FlashDevelopでflパッケージを使いコンパイルする方法はどうしたら良いですか?
GlobalパスにFlashDevelopのライブラリ内にあるflフォルダを入れてコードアシストは出るようになったのですが
コンパイルで「Error: 定義 fl.transitions が見つかりません。」となります。

教えてエロい人!
100Now_loading...774KB:2008/07/23(水) 07:58:40 ID:oqQeDPIW
101Now_loading...774KB:2008/07/23(水) 08:05:47 ID:oqQeDPIW
そいや,videoでflv使う際にバッファリングする箇所を指定って出来るんですかね?
たとえば,360secの映像のうち,30secから40secまでと120secから150secまで,みたいなカンジ.
102Now_loading...774KB:2008/07/23(水) 08:15:02 ID:JclxLIkJ
特定の部分だけにモザイクをかけたいのですが、
できるでしょうか?

flashでエロゲーを造っていますが、
モザイクをかける必要が出てきます。

ある形を作って、その形だけにモザイクがかかるようにしたいのです。
エロ本とかのモザイクと同じです。

例でいえばこんな感じです。
http://hakuhin.hp.infoseek.co.jp/main/as/raster_efc.html#RASTER_EFC_02
しかし、これだとマウスに反応するモザイクなので、使い物になりません。


知っている人がいるのなら、
ぜひ、教えて欲しいです。



103Now_loading...774KB:2008/07/23(水) 09:02:09 ID:NqIjq0/U
>>101
FLVPlaybackにbufferTimeプロパティってのがあるよ。何ミリ秒バッファリングするのか指定できるプロパティ。
でも、配信専用サーバー用意してないと意味無いんだよね。
普通にflv読むプログレッシブ形式だと、どのみち全部読み込むし、読み込まない部分は動かないし。
104Now_loading...774KB:2008/07/23(水) 09:05:04 ID:NqIjq0/U
>>102
そのページにソースまで乗ってるじゃないの。
それが分からないと無理なんじゃないかな?
モザイク固定だったら、あらかじめ描いておけば済む話なんじゃない?
105Now_loading...774KB:2008/07/23(水) 09:17:04 ID:JclxLIkJ
>>104

当方、素人なのでどの部分を改造したら良いのかが分からないのです。

マウスに反応するのではなく、
 特定の部分だけにモザイクをかけるサンプルがあれば、
何とか理解できると思います。
106101:2008/07/23(水) 09:19:34 ID:oqQeDPIW
>>103
ありがとう.Red5(Flash配信サーバ)使ってるから何とかなると思う.
希望の光が見えてきたよヽ(´ー`)ノ
107Now_loading...774KB:2008/07/23(水) 09:47:59 ID:IjIxoyvR
>>100
FlashDevelopの"FirstRun\Library\AS3\frameworks\FlashCS3\fl"を指定したところ、

「fl\transitions\TransitionManager.as(126): col: 26 Error: 関数にボディを含めることはできません」

とエラーが出てしまいます。

他に色々と試行錯誤してflフォルダをSDK内に入れて相対パスにしたりもしてみましたが全てエラー
もう涙目です。何か間違っていますでしょうか
ちなみにFlashDevelopのバージョンは3.0.0β7です。
108Now_loading...774KB:2008/07/23(水) 09:55:44 ID:oqQeDPIW
>>107
flex-config.xmlの記述ミスではないでしょうか?
参考までに自分のxmlのsource-path部分をコピペしときます.
<source-path>
<path-element>C:\Program Files\FlashDevelop\FirstRun\Library\AS3\frameworks\FlashCS3</path-element>
</source-path>
109Now_loading...774KB:2008/07/23(水) 10:21:19 ID:IjIxoyvR
>>108
FlashDevelopのインスト先が同じなのでそのままコピペさせて貰ったんですがやはりエラーが出てしまいます。
現在SDKのバージョンは3を使用していたので、2でやってもみましたが結果は同じでした。

>>107のエラー箇所は
public static function start (content:MovieClip,
              ^
(↑startの所)
となっていて、同じようなエラーが大量に出ています。


ハマりすぎて仕方ないのでflパッケージを諦めて別の方法で作成することにします。
回答ありがとうございました。
110Now_loading...774KB:2008/07/23(水) 20:31:43 ID:IWw5Vdke
>>98

っ transform.matrix
111Now_loading...774KB:2008/07/24(木) 22:17:04 ID:LKk+wmbL
FlashCS3ProのAS3で質問します。

package {
import flash.display.MovieClip;
public class cMain extends MovieClip {
var strAry:Array;
public function cMain():void {
strAry=new Array("nnn","hoge","hoge");
}
function cStr():String{
var str:String;
str = strAry[0];
trace(str);
return str;
}
}
}

根本的にオブジェクト指向ってのが判ってないという者です・・・
cStr()で上で設定したstrAryの中身をいじりたいんですけど、どうやればいいんでしょうか?
他の外書きクラスからcMain.cStrって呼び出して使いたいのです。
(実際にはstrAryにはRSSのパースしたのが入ってます。)
112Now_loading...774KB:2008/07/24(木) 22:19:39 ID:LKk+wmbL
ようするにstr = strAry[0]; をしたいって事です。
113Now_loading...774KB:2008/07/24(木) 23:40:05 ID:9YFGAhAX
第34回 HTMLからFlashムービーに変数を渡してみよう:ITpro
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20061206/256146/

この解説ページのようにHTMLのフォームからSWF内に変数を使って文字列を送りたいのですが、
上記はAS2での解説で、AS3だとうまくいきません(FlashCS3を使用しています)
どこを変えればAS3でも動くようになりますでしょうか? お願いします
114Now_loading...774KB:2008/07/24(木) 23:44:44 ID:GCBaMxUl
>>111-112
クラス定義の内側で宣言した変数はメンバ変数と言われ、
基本的にクラス内のメソッドからは自由にアクセスできます
var strAryの前にそれぞれ、クラスの外部からもアクセスしたいならpublicを、
内部からのアクセスだけでよいならprivateを付けましょう
115Now_loading...774KB:2008/07/25(金) 00:16:55 ID:GMMixAZ6
>>114
ありがとう。
116Now_loading...774KB:2008/07/25(金) 10:18:43 ID:VnVDP8gP
>>114
ばかっ!外部から参照したいだけならprotectedだろっ!ばかっ!
117Now_loading...774KB:2008/07/25(金) 10:26:46 ID:2orjErp2
落ち付いてマニュアル読み直せw
118Now_loading...774KB:2008/07/25(金) 11:10:12 ID:eDPjqEov
as3でAccordionコンポーネントを使用する方法ってりますか?
普通に考えて無理だと思うし、調べてみても無理っぽい記述しかないが…。
明確な回答は見つかりませんでした。

よろしくお願いします
119Now_loading...774KB:2008/07/25(金) 14:25:36 ID:Gb723wB/
AS3で質問します。
function clicked(event:MouseEvent):void {}
というクリックイベントで呼び出す関数があります。

同じ関数をタイマーイベントでも呼び出したい時に()の中の
Event:○○○をどう書いたら良いんでしょうか?
同じ内容の関数を
function timerHandler(event:TimerEvent):void {}と書いてますが。
なんか違いますよね?


120Now_loading...774KB:2008/07/25(金) 14:52:27 ID:2orjErp2
>>119

function clickAndTimerHandler(event:Event){
trace(event.type)
}

みたいにEventクラスで受けて、必要ならばtypeの値でどんなイベントかを
判定すればいいんじゃないかな?
121Now_loading...774KB:2008/07/25(金) 15:12:50 ID:Gb723wB/
>>120
ああ、なるほど・・・
すげえ助かった。ありがとう。
122Now_loading...774KB:2008/07/25(金) 15:48:00 ID:LWrSDg+Y
//Main.as
package{
 import flash.display.Sprite;
 import flash.text.TextField;
 import flash.text.TextFieldAutoSize;

 public class Main extends flash.display.Sprite{
  public function Main():void{
   var sub:Sub = new Sub();
   addChild(sub);
}}}

//Sub.as
package{
 import flash.display.Sprite;
 import flash.text.TextField;
 import flash.text.TextFieldAutoSize;

 public class Hoge extends flash.display.Sprite{
  public function Sub():void{
   var tf:TextField = new TextField();
   tf.text = "Hoge";
   tf.autoSize = TextFieldAutoSize.LEFT;
   addChild(tf);
}}}

AS3です。
なぜ、文字を表示するのにaddChild(sub)をする必要があるのでしょう。
Subで既にaddChildを行っているのでそれだけで十分だと思うのですが。
Subで音楽を鳴らす場合は、addChild(sub)をしなくても鳴らせます。
123Now_loading...774KB:2008/07/25(金) 15:49:43 ID:VnVDP8gP
>>117
僕が悪かったですごめんなさい
124Now_loading...774KB:2008/07/25(金) 15:50:24 ID:LWrSDg+Y
すいません、↓のHogeはSubです。
public class Hoge extends flash.display.Sprite{
125Now_loading...774KB:2008/07/25(金) 16:24:39 ID:Gw/20vnf
>>122
例えば
Subというウィンドウにテキストが表示されてても、そのウィンドウが画面に表示されてなければテキストは見えないでしょう?

音楽は、その音楽を鳴らしているウィンドウが存在していれば、画面に見えて無くても聞こえるでしょう?


分かりづらいかな・・?w
126Now_loading...774KB:2008/07/25(金) 17:54:37 ID:LWrSDg+Y
>>125
ありがとうございます。
package(class)の違いで、別ウィンドウが存在するんでしょうか。
音楽の方はなんとなく分かりました。
127Now_loading...774KB:2008/07/25(金) 19:02:12 ID:c6UsrShW
表示域は常にひとつです。トップレベル、この場合Mainがその表示域のベースとなります。
表示域とは演劇でいうステージです。意図的に照明(visible)を切り替えない限り常に見えます。
addChildはこのステージに背景や演者を設置する手段です。
newで生成した段階ではまだ舞台袖にいる段階で、ステージ上にはいないので見えません。
しかし音楽はステージ上にいなくても聞こえますよね。

さて、次に文字ですが、この場合Subを木、文字を木の実として考えましょう。
木の実を木に対してaddChildすると、木には木の実が配置されます。
しかし木自体がまだ舞台袖にあり、ステージ上に無いので見えません。
木(Sub)をステージに設置(addChild)して、初めて木の実もステージに登場するわけです。
128Now_loading...774KB:2008/07/25(金) 20:09:06 ID:LWrSDg+Y
>>127
ありがとうございます。
なるほど、すごく分かりやすく理解できました。
129Now_loading...774KB:2008/07/26(土) 00:23:47 ID:l/QqDgBv
AS3swfファイルを起動すると、まず、
スタートパッケージのコンストラクタの処理をするのは分かったのですが、
その後、プログラムの位置はどこにある状態なのでしょう。
C言語のwhile待ちやWin32APIのGetMessageに当たるものです。

スタートパッケージの始めの部分で待っていて、
マウスが押されたりすると、スタートパッケージ内に
mouseDownHandlerなどが無いか探し、
無ければまたスタートパッケージの始めの部分で待っている感じでしょうか。
130Now_loading...774KB:2008/07/26(土) 00:53:58 ID:6N/EnPDD
イベントドリブンを理解しましょう
131Now_loading...774KB:2008/07/26(土) 01:09:41 ID:dygQBh9z
>>129
他の言語から移ってくると気持ち悪く感じるかもしれないけど
メインのループ処理は完全に隠蔽されてる
あえて言うなら FlashPlayer の中だけど
普通の開発者はそれを意識する必要が全くない

もしスレッドループ的なものが必要なら
Event.ENTER_FRAME や Timer のイベントを使う

132Now_loading...774KB:2008/07/26(土) 07:33:41 ID:l/QqDgBv
ありがとうございます。

>>130
Win32APISDKと比べると↓な感じでしょうか。
スタートパッケージ == コールバック関数
スタートパッケージコンストラクタ == WM_CREATEメッセージ
addEventListenerで登録した物 == WM_LBUTTONDOWNなどの各メッセージ

>>131
普通の開発者はそれを意識する必要が全くない
というのはなんとなくは分かっていたんですけど、
new、addChildしたものが開放される(する)タイミングが分からなくて、
プログラムの流れが気になりました。
133Now_loading...774KB:2008/07/26(土) 13:40:41 ID:gkEZz+dm
>>132
イベントドリブンやGCなんてのはActionScript固有のものでもないし、
どちらかというと最近では主流になりつつあるものだから、
そっちについて個別に学んだ方が理解が深まると思うよ。
C使いだったならC#と比較してるサイトいっぱいあると思うから。
134Now_loading...774KB:2008/07/26(土) 14:45:54 ID:l/QqDgBv
>>133
ありがとうございます。
なるほど、C#を少しかじって理解を深めたいと思います。
135Now_loading...774KB:2008/07/26(土) 23:12:25 ID:ujU4TWfq
1・外部XMLファイルをプログレスバーを表示してローディング→2・Tweener等を使ってサイト名表示等のアニメーション演出→3・XMLファイルデータを元に外部jpgを読み込み表示

といったflashをタイムラインを使用せずAS3で作成してあり、2の処理中に3へ処理をスキップする機能を持つスキップボタンを付けたいと思っているのですが
どのように考えれば良いかが上手くつかめません、2のスクリプト処理中の流れを割り込み(2で作られた演出用のスプライト等を削除し)3へ移動させる?というのは
どういった処理を行えばいいのでしょうか?
136Now_loading...774KB:2008/07/28(月) 16:32:11 ID:VNCXamqf
as3です。
同一ディレクトリ内にある別のasファイル(VideoLoader.as)の中の変数(_hoge:uint)を
別クラスのBtnsClass.as内のスクリプトで、「参照&書き換える」には、
どのようにしたらいいでしょうか。

VideoLoader内でpublicで変数を宣言しています。
BtnsClass内のコンストラクタです。
VideoLoader._hoge = 5; では駄目でした。
VideoLoader._hogeにも型宣言するのはおかしい気がするし、
publicで指定しているのになぜアクセスできないのか、、、
かなり悩んでます。
137Now_loading...774KB:2008/07/28(月) 17:44:22 ID:SuSWJ2Co
AS3で静的コンストラクタみたいな
使い方ができるものがありましたら教えてください。
138Now_loading...774KB:2008/07/28(月) 18:09:46 ID:1fUSat/w
139Now_loading...774KB:2008/07/28(月) 19:09:09 ID:QYVJsqYm
マスクの下にあるムービークリップにattachMovieしたオブジェクトがマスクされません
回避方法としてはどういうものがありますか?


140Now_loading...774KB:2008/07/28(月) 20:13:36 ID:Gexl2UAW
aaa.swf内でbbb.swfをloadVariablesで読み込んでいるんですが
bbb.swfで記述しているsendAndLoadに対するonLoadイベントが発生しない状況になっています。

bbb.swfを単体で表示させるときちんとonLoadイベントは発生しているのですが
なにか問題があるのでしょうか?
またonLoadイベントが発生していないだけで表示は問題ありません。

aaa.swf内
_root.loadVariables("../menu/menu.txt");←これにbbb.swfパスが書いている
こんな感じです
&content1=../menu/bbb.swf&

bbb.swf内
var send_lv:LoadVars = new LoadVars();
var recv_lv:LoadVars = new LoadVars();
recv_lv.onLoad = function(){←aaa.swf経由で表示させると、こいつが走らない
trace("data");
};
send_lv.sendAndLoad("http://aaaaa.com/zzzzz.php",recv_lv, "POST");
どなたかすみませんが教えて頂けませんでしょか
141Now_loading...774KB:2008/07/28(月) 21:35:54 ID:TxBAy1NH
var senddata:URLVariables = new URLVariables();
senddata.cmd = "cmd";
senddata.key1 = "001";
senddata.key2 = "002";
trace("##########: "+inkdata.toString());

とやったとき、traceの結果がころころ変わります。

cmd=cmd&key1=001&key2=002
だったり
key1=001&cmd=cmd&key2=002
だったり。

毎回
cmd=cmd&key1=001&key2=002
とサーバー側で受け取る方法ってないですかね?
142Now_loading...774KB:2008/07/28(月) 23:17:43 ID:XO5DuyEj
as2で作ったswfをas3で読み込んだらloader.contentがnullになってしまいます・・・
これってどうすればいいんでしょうか
ちなみにas2のflaファイルはもうないんです
143137:2008/07/29(火) 00:22:15 ID:Z0cq8PeP
>>138
ありがとうございます。
144Now_loading...774KB:2008/07/29(火) 00:58:41 ID:S+kplSAU
>>140
そもそもbbb.swfはどうやってロードしてるの?
145Now_loading...774KB:2008/07/29(火) 09:26:28 ID:DZacUpsR
>>139
マスクはどうやって作ってるの?
attachMovieは正の深度だよ
>>142
fla無いならAS3への移行できんからAS2で読み込んで処理する
146Now_loading...774KB:2008/07/29(火) 17:29:01 ID:Np3YCmwO
質問です。環境:AS3, Flex3
Q:デフォルト値が設定されている引数が複数あるとき、n番目の値だけ指定して、他を省略する事はできますか?

例:function fの呼び出しでarg4の値だけ指定したい
function f(arg1:int=0, arg2:int = 1, arg3:int = 3, arg4:int = 4):void
{
trace(arg1,arg2,arg3,arg4);
}

VBのCall f(arg4:=40)みたいなことは出来ないでしょうか
147Now_loading...774KB:2008/07/29(火) 19:06:49 ID:3ZXx5RAK
>>146
argumentsオブジェクトを使うといいかも。
148Now_loading...774KB:2008/07/30(水) 13:04:03 ID:/jifwed9
AS3です。
addChildの反対のdeleteChildみたいなのがありましたら教えてください。
149Now_loading...774KB:2008/07/30(水) 15:13:37 ID:cdPPc+ee
>>148
removeChild
答えた代わりに一つ聞きたいんだけど、この程度のことググった方が早くない?
どうしてわざわざ聞こうと思ったの?煽りとかじゃなくて。
150Now_loading...774KB:2008/07/30(水) 15:29:53 ID:/jifwed9
>>149
ActionScript3 + addChild + (反対 or 開放 or deleteChild)
あたりではググっていたのですが見つけられませんでした。

また、newに対するdelete、コンストラクタに対するデストラクタ
がない(行われるタイミングが分からない)というのもあって、
addChildの反対のものも無いのでは
という気持ちがいけなかったのかもしれません。
151Now_loading...774KB:2008/07/30(水) 16:28:12 ID:cdPPc+ee
なるほどね。とりあえず今後はLiveDocsのリファレンスガイドを活用するといいよ。
すべてのクラスとそのメソッドについて一覧と説明があるから、
そこを順番に見ていけば基本的なことの大半は解決するはず。

それからGoogleも単なる道具だから、使う側が工夫する必要もある。
「ActionScript3」の部分でAS3の情報に絞ったつもりだったんだろうけど、
ネット上のドキュメントはどちらかというとActionScript 3.0といった表記の方が多いんだよね。
例えばそこを変えただけでも(ActionScript 3.0 addChild)、LiveDocsが最初に引っかかるし。
あとremoveChildのことを「addChildの反対です」と表現してることってほとんどないし、
どういう書かれ方をしてるか予測して検索した方がより正解にたどり着きやすくなると思うよ。
152Now_loading...774KB:2008/07/30(水) 16:43:23 ID:yG5n5h/q
リストに対する追加/削除はadd<->remove
newに対する機能はdispose、ただしgcにまかせていいクラスならdisposeは存在しない

AS3に限らず最近のフレームワークはみんなこんな感じ
153Now_loading...774KB:2008/07/30(水) 17:44:43 ID:s39ND9NC
AIR1.1になって、IME.enabledを設定してもIMEのオン、オフができなくなってしまったのだけど、解決方法を知っている人いませんか?
AIR1.0では問題無くオン、オフできるのだけど。
154Now_loading...774KB:2008/07/30(水) 18:37:00 ID:/jifwed9
>>151>>152
すごく勉強になりました。
次に質問させていただくときには、気をつけたいと思います。
ありがとうございました。
155Now_loading...774KB:2008/07/31(木) 19:29:34 ID:e2PUWTO5
ある日数の範囲(例:20080801〜20080930)と
ある日数の範囲(例:20080815〜20081031)に
重なりがあるかどうかを判定するにはどうしたらよいでしょうか?
156Now_loading...774KB:2008/07/31(木) 20:13:03 ID:ayqNwGZU
Date.timeで数値としての日時が取得できるから、それを比較すればおk
157Now_loading...774KB:2008/07/31(木) 20:16:17 ID:VgsN3smr
>>155
期間A→A1〜A2
期間B→B1〜B2
とすると、重なるのは
■A1------------A2
■    B1------------B2

■A1-------------------------A2
■    B1------------B2

■    A1------------A2
■B1-------------------------B2

■    A1------------A2
■B1------------B2


なので、A1<B1<A2またはB1<A1<B2の時重複してると言える。
if ( (A1 < B1 && B1 < A2) ||
   ( B1 < A1 && A1 < B2 ))
   trace("重複");

これでどう?質問の本質を理解してないかも。
158Now_loading...774KB:2008/07/31(木) 22:57:29 ID:e2PUWTO5
>>156-157
ありがとうございます! なるほど、こういう考え方がありましたか。
これでうまく行きそうです。とても助かりました!
159Now_loading...774KB:2008/08/01(金) 05:06:42 ID:bQNbnEXo
NetStream.onStatusについての質問です。AS2です。
FLV が見つからない場合の"NetStream.Play.StreamNotFound"なんですが、
ローカルでは取得できるのですが、サーバー上だと取得できません。
しかもそのまま放置するとフリーズに近い状態になってしまいます。
よろしくお願いしまいます。

コード:

var connection_nc:NetConnection = new NetConnection();
connection_nc.connect(null);
var stream_ns:NetStream = new NetStream(connection_nc);
my_video.attachVideo(stream_ns);
stream_ns.play("video1.flv");
stream_ns.onStatus = function(infoObject:Object) {
if(infoObject.code == "NetStream.Play.StreamNotFound"){
messageText.text = "NetStream.Play.StreamNotFound";
}
};
160Now_loading...774KB:2008/08/01(金) 06:40:21 ID:bQNbnEXo
すいません自己解決しました。FC2サーバーだと取得できないみたいです。
161Now_loading...774KB:2008/08/01(金) 14:22:38 ID:+cQsqCyi
AirのSQLiteで、人名などの日本語のデータをサーチできなくて困ってます

sql.text = "SELECT * FROM daisy_task WHERE Task == 山田太郎"

みたいにするとエラーが帰ってきてしまいます どうしたらよいですか
162Now_loading...774KB:2008/08/01(金) 14:29:30 ID://GSIzui
SQLiteはよく知らんが普通検索文字列は"とか'で囲むんじゃね
'山田太郎'とか
163Now_loading...774KB:2008/08/01(金) 14:34:31 ID:+cQsqCyi
>>162
はや!助かります
sql.text = "SELECT * FROM all_task WHERE Task == '山田太郎'";

これでやってみてもだめでした
164Now_loading...774KB:2008/08/01(金) 15:18:00 ID:+cQsqCyi
すみません、ご指摘の方法で出来ました
データベースの方がおかしかった模様
ごめんなさい
165Now_loading...774KB:2008/08/01(金) 15:35:58 ID:GEbgJ/jt
二次元配列を利用して、目標の座標へ移動する為に、どのような記述をすれば良いか困っています。
hitTable = [
    [0,0,0,0,0]
    [0,1,1,1,0]
    [0,0,2,0,0]
    [0,1,1,1,0]
    [0,0,0,0,0]

]
上の配列は簡単なものなのですが、0が移動可能領域、1が壁、2が目標座標といった感じです。
移動させる物は四隅([0][0]、[0][4]、[4][0]、[4][4])のいずれかからスタートし、1座標ずつ目標座標へ近づき移動したいのですがスタート位置がランダムな為、記述方法がいくら考えても思いつきません……。
良ければどうか皆さんの知恵を貸して頂ければ助かります。
166Now_loading...774KB:2008/08/01(金) 16:23:32 ID:dROoT5DI
それはASじゃなくてアルゴリズムの問題だよね?
ゲ製作技術とか行った方がいいんじゃないかな
もしくは経路探索アルゴリズムとか最短経路問題でググるといいと思う
167Now_loading...774KB:2008/08/01(金) 17:02:19 ID:WDMpy2el
環境AS3です.
flvを切り貼りするようなソフトを作ろうと思っているんだが,それ系のライブラリってあるぽ?
無いとしたらどうやって編集すればいいんだろ?
RichFLVがある以上は編集不可能ではないと思うんだが・・・.
168Now_loading...774KB:2008/08/01(金) 18:08:59 ID:78kX3edD
>>167
板違いです。
言語は何か知りませんがプログラム板にでもいってみては?
169Now_loading...774KB:2008/08/01(金) 18:19:46 ID:GEbgJ/jt
>>166
そうですね。アドバイスありがとうございました。
170Now_loading...774KB:2008/08/01(金) 18:29:45 ID:ee8nRpht
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

hitTest()動作で質問です。

root上に2つのMC(mc1, boarderM)を置き、mc1はドラッグ移動が可能にしています。
boarderMは線状のMCで、これにmc1がドラッグ移動で右方向から当たった時、mc1の
X座標が増分される、つまり壁に当たって弾かれる動作をしたく思っています。
フレームアクションのASは以下の通りです。

this.onEnterFrame = function() {
if (this.mc1.hitTest(this.boarderM) == true) {
this.mc1._x = +1;
}

しかしこれだと、右方向から当った瞬間、mc1がrootの原点に飛んでしまいます。
アドバイス願います。
171Now_loading...774KB:2008/08/01(金) 18:35:09 ID:rILae5AR
AS2です。テキストフィールドにhtmlを読み込んで表示させています。
画像とテキストがあり、全てセンタリングしたいのですが 画像ができません。
ヘルプにはイメージタグのalignはleftとrightしかないと書いてあるのでalignでは
できないようですが、方法はないでしょうか?
172Now_loading...774KB:2008/08/02(土) 00:42:40 ID:RQJa+joB
>>171
スレチ
173Now_loading...774KB:2008/08/02(土) 15:49:27 ID:1+9B9CRx
>>170
よくわかんないけど、
this.mc1._x = +1;が
this.mc1._x += 1;の間違いなんじゃないか?
174Now_loading...774KB:2008/08/02(土) 19:22:12 ID:PD6WxBMs
同じムービークリップをたくさん複製するとして、
そのムービークリップの1つのフレームアクション内で同じ処理を何度も記述する場合、
その処理をfunctionを使って定義したらしないのよりその分メモリ余計に使いますか?

functionを使って記述した方が見やすくて修正も簡単ですが、少しでも処理が遅くなったりするのなら使わない方が良いしどうでしょう。
175Now_loading...774KB:2008/08/02(土) 19:43:15 ID:NJ437UpZ
>>174
関数呼び出しは確かにオーバーヘッドが生じますが、
コードの量によってそうした方が全体的なコストが下がる場合もあります
結局は内容次第なので、自分で計測してより良い方を選択するのがいいと思います
ただ、正直な話、それを自分で判断できないレベルではどっちにしても大差ない気もしますし、
Cみたいな言語で速度を追求したい場合ならともかく、ASなら普通は関数にまとめた方が良いと思います
176Now_loading...774KB:2008/08/02(土) 20:19:45 ID:PD6WxBMs
>>175
レスありがとうございます。大きな差がないか自分で確かめてみます。

それともう一つ質問なんですが、deleteを使って複数の変数、たとえばa、b、cを削除する場合、

delete a;
delete b;
delete c;

とdeleteを何度も書かずに、1つにまとめて削除する方法はありませんか?
177Now_loading...774KB:2008/08/02(土) 22:40:26 ID:ZZ2Wq4Gj
環境:
OS=Win XP SP3; Soft=Flash CS3 Pro;
パブリッシュ=ver.9+AS3.0; Player=9,0,115,0と9,0,124,0の両方で確認

TextFormatについての質問です。
Font.enumerateFonts(true)を利用して、その環境で使えるデバイスフォントを取得し、
あるTextFieldでそのフォントを使うようにし、その後適当な文字列を打たせて表示させたいのですが、
何故か一部のフォントはMS ゴシックらしきフォントが表示されます。(その現象が起きるフォントは固定)
ver.8+AS2.0環境で似たような処理をさせるとうまく表示できるのにver.9+AS3.0では出来ませんでした。
フォントを入れなおしたり、Playerを入れなおしてみたのですがそれでも駄目でした。
どのようにすれば、うまくデバイスフォントを表示させることが出来るのでしょうか。
次のレスにソースを置いておきます
178177:2008/08/02(土) 22:43:44 ID:ZZ2Wq4Gj
import fl.controls.List;
import flash.text.Font;
var Font_list:List= new List();
stage.addChild(Font_list);
var tmpFontArray:Array = Font.enumerateFonts(true);
tmpFontArray.sortOn("fontName",Array.CASEINSENSITIVE);
tmpFontArray.unshift({fontName:"_明朝"});
tmpFontArray.unshift({fontName:"_等幅"});
tmpFontArray.unshift({fontName:"_ゴシック"});
tmpFontArray.unshift({fontName:"_typewriter"});
tmpFontArray.unshift({fontName:"_serif"});
tmpFontArray.unshift({fontName:"_sans"});
var fontData:String;
var l:uint = tmpFontArray.length;
for each (var item:Object in tmpFontArray) {
        fontData = item.fontName;
        Font_list.addItem({label:fontData, data:fontData});
}
Font_list.selectedIndex = 0;
Font_list.scrollToIndex(0);
var myTextFormat:TextFormat= new TextFormat(Font_list.selectedItem.data,40);
var myTextField:TextField= new TextField();
myTextField.type= TextFieldType.INPUT;
myTextField.border= true;
myTextField.defaultTextFormat= myTextFormat;
myTextField.text= "ここに文字を入力";
stage.addChild(myTextField);
Font_list.addEventListener(Event.CHANGE, changeListener);
function changeListener(msg:Event):void {
        myTextFormat.font = Font_list.selectedItem.data;
        myTextField.setTextFormat(myTextFormat);
}
179Now_loading...774KB:2008/08/03(日) 02:06:02 ID:CWzh0Cgs
変数aの値によって参照する変数を変えたいのですがどのように変数を指定してあげればよいのでしょうか。

変数aに11と入っているとして 〜〜11  aに5が入っていれば〜〜05のようにしたいのです。
配列では〜〜[a]としてやれば出来ることは知っていますが、配列は使いたくありません。
180Now_loading...774KB:2008/08/03(日) 02:41:20 ID:fj3QYjTq
>>179
なんで配列使いたくないんだ?
ま、いいけど、配列アクセス演算子すら使いたくないのか?
181Now_loading...774KB:2008/08/03(日) 02:47:24 ID:Tf1D/DVT
this["hoge"+a]
aをゼロ詰めにする方法は宿題なっ!
182Now_loading...774KB:2008/08/03(日) 14:05:03 ID:CWzh0Cgs
>>180
>>181

亀レスすいません。
配列を使いたくないのは hoge[11]まで作ってしまうと hoge[4]など値を入れる予定の無い所まで作ってしまうので、
無駄が大きくなってしまうと思ったからです。

配列アクセス演算子ですか。勉強になります。

var a:int = 5;
var hoge5:String = "five";
var hoge11:String = "eleven";
var result:String = this["hoge"+a];

こうしてresultをTextFieldで表示。。。
これじゃダメなんですか。

resultを"a"と直接文字列を入れてあげればaが出ますし、
"a "+ this["hoge"+a]としてやると何も表示されなくなります。

Cを少しかじった程度ではオブジェクト指向プログラムは難しい。
183Now_loading...774KB:2008/08/03(日) 14:50:38 ID:qZg6COc7
>>182
>値を入れる予定の無い所まで作ってしまうので
それって設計自体間違ってるってことじゃね
184Now_loading...774KB:2008/08/03(日) 14:57:09 ID:k9av+oUF
>>182
traceしてみたら?
185Now_loading...774KB:2008/08/03(日) 15:02:16 ID:788UyqU8
>>182
trace(result)すると、ちゃんとfiveって出るけど?
何が問題なの?
186Now_loading...774KB:2008/08/03(日) 15:04:59 ID:t7BaF4rW
一通りの事ができるようになってから
無駄な部分を省くようにしていった方がいいな。
色々やってるうちに別の方法が見つかるのは良くあるので。
187Now_loading...774KB:2008/08/03(日) 17:13:24 ID:KKvHJLAf
>>182
結局のところ何がやりたいの?
小出しにせずにやりたいことを書いた上で詰まってるところを書いた方が自分のためだよ
188Now_loading...774KB:2008/08/03(日) 18:45:28 ID:fIylDXIM
>>173
そうでした・・・・ Orz
189Now_loading...774KB:2008/08/04(月) 17:23:30 ID:+RokT2ah
指定した小数の位以下の値を四捨五入する方法ってありますか?
例えば、少数点第二位以下を四捨五入して、0.59721を0.60000にするようなものです。
190Now_loading...774KB:2008/08/04(月) 19:13:48 ID:Uv7AQ0bo
掛け算
191Now_loading...774KB:2008/08/04(月) 23:34:33 ID:wky3oNs6
AS3での正規表現の部分がよく判らないので質問します。

<div>〜</div>のパターンマッチングをしたいんですが
var pattern:RegExp =/<div>*<\div>/
上手くいかないので教えてください。
192Now_loading...774KB:2008/08/05(火) 09:17:55 ID:aJYgCtu2
>>189
var num:Number = 0.59721;
trace(Math.round(num * 10)/10);
>>191
ヘルプの正規表現の部分を読む
サンプルもいっぱい載ってる
193Now_loading...774KB:2008/08/05(火) 10:00:53 ID:+l0TUmad
>>191
正規表現はワイルドカードとは違います
<div>.*</div>
ドットは任意の一文字
アスタリスクは一つ前の文字が0個以上連続する文字列を表します
また\はメタキャラクタと言って、その後ろに続く文字によって意味が変わります(スラッシュを意味するわけではありません)
AS3のヘルプ中バックスラッシュで表記してあるのがこれにあたります。
> <div>*<\div>
の場合、\dは数字の0〜9のいずれかを意味するので、パターン全体としては
"<div"に続いて">"が0個以上連続して続いた後"<"が現れ、続いて0-9の数字の後"iv>"が来るような文字列にマッチします
すなわち
<div>>>>>><0iv>
のような文字列にマッチします

「AS3での正規表現」と書いていますが、正規表現そのものを勉強した方がいいです。
よってスレ違い
194Now_loading...774KB:2008/08/05(火) 18:46:53 ID:wSZFqz11
AS3で、Localにある複数の外部SWFを読み込む処理を作成しています。
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, LoadComplete);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, LoadIOError);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, LoadSecError);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS , LoadProgress);
loader.load(new URLRequest(hoge), new LoaderContext(false, ApplicationDomain.currentDomain));
以上の処理を実行してCOMPLETEまたはERRORが発生したら、次のファイルで同様の処理を繰り返すということをしています。
たいていは上手くいくのですが、たまに(20回に1回程度)処理が止まってしまいます。
PROGRESSイベントを監視すると、データの読み込みは完了しているのに、その後何もイベントが起こっていないようです。
何もエラーらしきものを出さないので途方に暮れています。
考えられる原因はないでしょうか?

195167:2008/08/05(火) 20:27:41 ID:aTLY0McM
返信が遅れて申し訳ありません.>>167です.

>>168
言語はActionScript3.0です.

現在,ActionScriptを用いてFLVを編集するようなツール(ウェブ上のFLVを読み込んで編集し,吐き出しを行う)を制作したいと考えています.
そのために,適切なライブラリがあるのか聞きたかったのです.
インタフェースは後からどうにでもなるとして,FLVの一部を切り取ったり張り付けたりするのに適当なライブラリはありませんか?
すでに自力で調べ尽くして有りそうにない,と感じたので最後の頼みの綱として皆様の知恵をお借りしたいと考え,質問させていただきます.
196Now_loading...774KB:2008/08/05(火) 21:09:29 ID:kPitZFlV
ActionScript2です。
変数「a」に「こんにちは」を含む言葉が入ってる時に、
変数「b」に「おはよう」を代入のようにしたいんですけど、
エクセルのワイルドカード()曖昧検索のような事は出来ませんか?
197Now_loading...774KB:2008/08/05(火) 21:18:53 ID:qOBZSTWn
>>196
String.indexOf()使う
198196:2008/08/05(火) 21:20:59 ID:kPitZFlV
>>197
ありがとうございます。
199Now_loading...774KB:2008/08/05(火) 21:25:26 ID:aWUcR5nV
>>195
ffmpeg等の既存のライブラリを移植する以外に方法はないと思う
オープンな仕様だから仕様書読み漁って新規に作り上げるという手もあるけど、
正直なところ前者も後者も君のスキルでは無理だと思う
200Now_loading...774KB:2008/08/05(火) 23:43:16 ID:unbSDsE5
>>194
都度Loaderをnewしているなら
処理完了後にremoveEventListenerしてやらないと
Loaderオブジェクトが残ったままになるぞ。
それが直接の原因か分からんが
201Now_loading...774KB:2008/08/06(水) 01:25:17 ID:T28867CU
action script3で、
クラス間の変数の送受信は何でやればいいですか?
202Now_loading...774KB:2008/08/06(水) 07:33:38 ID:1Qj0tU1G
>>201
何でやればっていわれてもやり方はいっぱいあるし、やりたいことによって
ベストの方法は変わるから回答しようがないw
203Now_loading...774KB:2008/08/06(水) 11:27:00 ID:GaJWcf/x
>>194
それってFirefoxだけに起きる現象ではないでしょうか。
COMPLETEイベントが発生しないで読み込みが完了する場合があるようです。

PROGRESSイベント内で完了しているか判断してやるといみたいですよ。
204Now_loading...774KB:2008/08/07(木) 01:33:02 ID:AI5Lffy4
------------------------------------------------
mcMother ┬ mcChild1 - mcGrandchild1
      └ mcChild2
------------------------------------------------
上のような親子関係で
removeChild(mcMother)した時に

各子、孫には
this.addEventListener(Event.REMOVED_FROM_STAGE , onRemoveStage )

function onRemoveStage(event){
trace(event.target)
}
で削除を監視させておいた場合

mcChild1はEvent.REMOVED_FROM_STAGEが起きて、Traceされますが
mcChild2 , mcGrandchild1はTraceされません。

removeChild(target)
target以下のすべてにEvent.REMOVED_FROM_STAGEがいきわたる方法
もしくはヒントをいただけないでしょうか。

よろしくお願いします。
205194:2008/08/07(木) 11:26:46 ID:ODepELPj
>>200
意外なところで過去に作ったアプリのメモリリークの原因が分かりました。

>>203
そんなことがあるんですねー。
COMPLETEとERROR関連のリスナーを登録していれば、どれかが必ず呼ばれるという前提で、
ソフトを組んでいたのですが甘かったようです。

ありがとうございました。
206Now_loading...774KB:2008/08/07(木) 13:20:40 ID:KxwulJ5Y
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

ラジオボタンのプロパティ変更(色変更)で質問です。

 ○選択1 
というラジオボタン(MC名:radioBtnM1)で、○内の背景が灰色,「選択1」を赤色に
したく思い、MCのイベントとして下のASを書きましたが色が変更されません。

onClipEvent (load) {
this.setStyle("themeColor", 0xCCCCCC);
this.setStyle("Color", 0xFF0000);
}

ヘルプや、本「Flash ActionScript 逆引き大全550」(秀和システム)などを読みましたが
問題点が分かりません。
アドバイス願います。
207Now_loading...774KB:2008/08/07(木) 13:52:17 ID:V4FzOvxS
>>206
_global.styles.RadioButton = new mx.styles.CSSStyleDeclaration();
_global.styles.RadioButton.setStyle("themeColor", 0xCCCCCC);
_global.styles.RadioButton.setStyle("color", 0xFF0000);

これタイムラインに書いておけばいいと思う
208Now_loading...774KB:2008/08/07(木) 19:58:06 ID:KxwulJ5Y
>>207
さんきゅう。出来ました。

日本負けた・・・
209Now_loading...774KB:2008/08/07(木) 23:35:22 ID:FK5zdC5Z
質問させてもらいます。

private function init(){
var req:URLRequest = new URLRequest(filePath);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadHandler);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progressHandler);
loader.load(req);
}
private function progressHandler(event:Event):void{
trace(event.bytesLoaded);
}

上のような形でロードされたバイト数を表示しようとしたのですが、
bytesLoadedが未定義だといわれてしまいます。

ちなみにeventをtraceすると下のような出力結果が出てきます。
[ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=0 bytesTotal=28302]
[ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=28302 bytesTotal=28302]

どうすればbytesLoadedを表示できますか?
回答お願いします。
210Now_loading...774KB:2008/08/08(金) 00:42:00 ID:Afnpz4ry
>>209
progressHandler(event:Event)じゃなくて(event:ProgressEvent)じゃーい

http://livedocs.adobe.com/flex/3_jp/langref/flash/events/ProgressEvent.html
ここの一番下のサンプルでもみやがれい。

読まず嫌いが多いだろうがどんな本よりサイトより
最終的にはヘルプのリファレンス見ることになるから
リファレンスで調べるクセをつけたほうがいいよ。
元々英語のを翻訳してるようだから時々怪しい日本語とか間違いとかあるけど。
211Now_loading...774KB:2008/08/08(金) 01:08:11 ID:tjd5bG7m
>>210
オーマイガッ

ありがとうございました。
212Now_loading...774KB:2008/08/08(金) 11:46:57 ID:ArlCqhai
環境:FlashCS3
パブリッシュ:ver8、AS2

mcにonClipEvent (mouseDown)でstartDragして、ドラッグできるようにしています。
その中にボタンのmcを置いて、getURLで別ウィンドウに外部リンクを開くようにしているのですが
その際の挙動がおかしくて困っています。

外部リンクを新規ウィンドウもしくは背面のタブで開いた場合には問題ありませんが、前面のタブに開いて
から、そのswfのあるページに戻るとstartDragが働いてしまっていて、解除できなくなります。
(ボタンMCの上にカーソルが乗った状態で、ドラッグされてしまうため、解除しようとクリックすると
 リンクを開いてしまいます)

onClipEvent (mouseUp) でstopDragを指定しているため、前面にリンク先のタブが出てしまうことで、
mouseUpイベントが取得できずにこの現象が起こっていると思うのですが、対処法がさっぱりわかりません


どなたかよろしくお願いします。
213Now_loading...774KB:2008/08/08(金) 13:22:13 ID:3E1Lk/MU
>>212
よくわからんのだけど、
ドラッグできるMCの中にボタンがあるという時点で問題があると思う。
MCの中にドラッグできるMCとリンクボタンという構成がいいんじゃない?
ようはリンクボタンのはじっこつまんでドラッグできるみたいな感じだよね?

で、MCのフレームにこれ書けばいいはず。
dragMC.onPress = function() {
this._parent.startDrag();
};
dragMC.onRelease = function() {
stopDrag();
};
lunkBtn.onRelease = function() {
getURL("http://", "_self");
};

おれの勘違いならすまんです。
214Now_loading...774KB:2008/08/08(金) 15:00:14 ID:f914dON+
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

ラジオボタンの一斉非選択で質問です。

 ●選択1 ○選択2 ●選択3
 ○選択4 ●選択5 ○選択6

最初に、6個のラジオボタンが上の状態であったとき、何らかの操作で、全部を

 ○選択1 ○選択2 ○選択3
 ○選択4 ○選択5 ○選択6

の状態にしたく思っています(全部を一斉に非選択に)。

一応、ヘルプで該当する記述を探そうとしましたが、ラジオボタンの解説記述が
予想以上に多く、探し出すことが出来ませんでした。
アドバイスを願います。
215212:2008/08/08(金) 15:29:47 ID:UozHMj7i
>>213
ありがとうございます。
でもたぶんちがいます…。

ドラッグできるMCの中にボタンがあるという状態はあまり良くないことはわかる
のですが、実は地図の上にポイントがあって、
ドラッグできるMC=地図
リンクボタンMC=ポイント
なので、リンクボタンも一緒にドラッグできないと困るのでこういう作りなのです。

しばらく、_selfにして回避しておいて検討します。
216Now_loading...774KB:2008/08/08(金) 16:42:19 ID:3E1Lk/MU
>>214
clearBtn.onRelease = function() {
for (i=0; i<3; i++) {
for (j=0; j<2; j++) {
this._parent["radioBtn"+i+j].selected = false;
}
}
};


>>215
いやいや、だからいいと思うけど。
これでしょ?
http://uproda11.2ch-library.com/src/11108738.zip.shtml
DLキー:Flash
217Now_loading...774KB:2008/08/08(金) 16:42:46 ID:hDGwMOIe
>>215
だから、地図MCのなかにドラッグ用の透明でも背景でもいいけどMCを置いて
>>212のスクリプトを地図MCのフレームに書けばいいんじゃないのか?
そもそもonClipEvent (mouseDown)は、Flashのどこをクリックしても発生してしまうのだから
こういう場面では使わない方がいい。
どうしてもというなら、マウスがリンクボタンの上にあるときは、ドラッグ開始しないとかの
条件をつけておく。
218Now_loading...774KB:2008/08/08(金) 18:09:53 ID:vvIF8lQR
ActionScript3.0でフラッシュ自体の大きさをスクリプトの実行中に変えるにはどうしたらいいですか
例えばYoutubeの全画面化ボタンは、
以前は全画面ボタンを押すと新しい大きなフラッシュのページに飛んで全画面化を実現していましたが
今のYoutubeのプレイヤーは全画面化を押すとページが切り替わらずにフラッシュのプレイヤーの大きさが大きくなります
こういう事をやりたいのですが検索をしてみても要領を得られませんでした
ご存知でしたらご教示お願いします
219Now_loading...774KB:2008/08/08(金) 18:22:06 ID:h2w3CNeJ
確かにYoutubeのあれはやり方気になるな どうやってるんだろう
220Now_loading...774KB:2008/08/08(金) 18:35:54 ID:jr28n0pH
バイトコード読んで無いけどstage.displayStateだと思うよ
221Now_loading...774KB:2008/08/08(金) 18:36:21 ID:gpeKBz4K
>>216
さんきゅう。
やってみます。
222Now_loading...774KB:2008/08/08(金) 18:37:44 ID:gpeKBz4K
あー、ワタシ221は>>214ね。
223Now_loading...774KB:2008/08/08(金) 18:44:50 ID:3E1Lk/MU
>>218-220
おいおい。本気か?ネタか。
めんどいからActionScript3.0 フルスクリーンでググレ
224Now_loading...774KB:2008/08/08(金) 19:30:30 ID:cmsjT2lO
ページが変わらないってのはjavascript担当だとおも
225Now_loading...774KB:2008/08/08(金) 22:32:51 ID:NY+zwkHw
adobe flash cs3を使用しています。
シークバーのついたflvファイルを制作して
無限にループできるようにしたいのですが、エラーが出たりなどで
できません。
いろんなページを見て試しましたが全てエラーでした。
ActionScript3.0です。お願いします。
226Now_loading...774KB:2008/08/09(土) 01:34:49 ID:0FRGYsQy
>>225
わかりました
227Now_loading...774KB:2008/08/09(土) 02:18:49 ID:HiRyyXNl
お前の人生がエラーだよ
228Now_loading...774KB:2008/08/09(土) 04:18:39 ID:G9CXWAra
>>223-224
貧乏WEB土方さんって情報遅いんですね・・・
229Now_loading...774KB:2008/08/09(土) 15:26:15 ID:4sJJ87jn
>Flashのフルスクリーン
ゴチャゴチャと説明すると誤解とかありそうなので
適切そうな記事を提示しておきます(Screen操作に関しては関連記事も参考になるかと)

ttp://www.project-nya.jp/modules/weblog/details.php?blog_id=649
230Now_loading...774KB:2008/08/11(月) 14:57:34 ID:TsNnBnyt
Flex3、ActionScript3.0です

sprite.graphics.beginFill(0x0000ff,1);
sprite.graphics.drawRect( 0,0,100,100);
のようにして描いたものに対して、
後から特定の座標に描かれている色を調べる方法はありますか?
getObjectsUnderPointで特定座標に存在するオブジェクトを取得できる事はわかったのですが、色を調べる方法がわかりません。

実際実現したい事はspriteオブジェクトをドラッグした時に、その下の表示オブジェクト(dropTarget)の色を調べる事です。
231Now_loading...774KB:2008/08/11(月) 15:44:01 ID:7YGrfVOp
ぱっと思いついたものだとBitmapData.draw(sprite)してgetPixel(x, y)
232230:2008/08/11(月) 16:43:38 ID:TsNnBnyt
>>231
ありがとうございます。
こんな感じで実装しました。
ただこれだと、dropTargetの負の座標に存在するオブジェクトが無視されるので、ちょっと問題がありますが・・。


private var target:DisplayObject
private var usedcolor:String;
private var spriteA:Sprite;

private function onMouseMove( evt:MouseEvent ):void{
target = spriteA.dropTarget;
var bmp:BitmapData = new BitmapData(target.width, target.height, true, 0);
bmp.draw(target);
var pixelValue:uint = bmp.getPixel(target.mouseX ,target.mouseY);
usedcolor = pixelValue.toString(16);
trace(usedcolor);
}
233Now_loading...774KB:2008/08/12(火) 22:36:54 ID:lQlawo36
        ,lllii、                     _,,_
       .,,iilll!゙ll,,,、              __,,,,,,,,,iiiiiillll!!!lll!
      .,,iill!゙°.゙゙!lii,,、         ゙゙゙゙゙゙゙゙゚゙lllll!
     ,,iill!゙°_,,,,,,,,,,l!lllii,,,、           llllll
   ,,iil!゙゙゙'llllllllllll゙゙゙゙゙゙ .゚゙!llllliii,,,,_       __,,,llllll,iiillllliii、
  ill゙゙゛  _,lllll,,,,iiiiiliiil,゙゙゙゙゙゙゙゙゙゙゙"    .lll!ll゙゙゙゙゙lllll ̄,,,,,,__
    'lllllllll゙゙゙゙゙lllll ゙̄,ii,,、               llllll  .゚゙!!llli,
     'lii,,,,  llll ,iill!!゙                lllll|   ゙゙゙,,,,,_
     ゙゙!!ll llllill゙゙’__,,,,,,、       .__,,,,,,,,,,,illlllliiilllllllllll!!llllllll.
   .,,,,,,,,,,,iilllllll!!lll!!!!!!!!!!!!!l!     llll!!l!!゙゙゙゙゙゙゙ ̄
   ゙゚゙゙″
●このレスをみたあなたに金玉潰しの呪いをかけました!
  今夜、あなたが寝るときや、オナヌーするとき、クラスのブサい女子が現れ、
  あなたの金玉をつぶしにやってきます。
  それが嫌ならhttp://game13.2ch.net/test/read.cgi/mmo/1218279556/145- とその他のスレに、
  「ちんぽこマーチ」という言葉と、このコピペを書き込んでください。
  すると、玉潰しが現れません。
  スルーしてもかまいませんが、潰されても知りません。
 
  ・・・・さあ、いざ、あなたのところにも・・・?
234Now_loading...774KB:2008/08/12(火) 22:58:11 ID:dgbleKql
すごい待ってる!!!!ワクワクしてきた!!!!!
235Now_loading...774KB:2008/08/13(水) 01:02:07 ID:VjClvpwj
flex3 で任意のタイミングでstage上のマウスポインタの位置を
取得するのってできますか?
get_mouse_pos()みたいな関数でleaveしてたらエラーを返すようなの。
236Now_loading...774KB:2008/08/13(水) 14:31:04 ID:+xrZIMrU
SoundMixer.computeSpectrum()を使って、グライコやりたいんですが、
何故か音より先にcomputeSpectrum()のほうに値が入ってきます。
というより、音が遅れてるのかなあ?

これを解消する方法とかありませんでしょうか。
それとも、こんなもんだと諦めるしかないのかなあ・・・
237Now_loading...774KB:2008/08/14(木) 02:38:32 ID:NP4Zaa8e
System.useCodepage = true;
すると未定義である可能性が高いプロパティって怒られるんだがどうしてなんだろうか。
238Now_loading...774KB:2008/08/14(木) 03:42:49 ID:L2ZflYIQ
useCodePageだから
239Now_loading...774KB:2008/08/14(木) 09:57:02 ID:BkUavTrf
>>235
stage.mouseX
ではだめ?
240Now_loading...774KB:2008/08/15(金) 01:15:14 ID:jcWbDfb0
>>237
久々に見たこれw
241Now_loading...774KB:2008/08/15(金) 01:50:04 ID:9Wa4Jo7N
DBの内容をPHPで取り込んでFLASHで表示させるということをしたいんですが
PHP→FLASHの部分で躓いてしまいます

<param name="FlashVars" value="$out"> ※$outの内容は『date0=aaa』

でFLASHに投げてFLASHで受け取りたいのですが

oTxtName.text = unescape(_root.name);
oTxtCount.text = _root.count;
zyusin1=date0; ※zyusin1はダイナミックテキスト

と記述したのですがうまくいきません
どうすればよいでしょうか?
242Now_loading...774KB:2008/08/15(金) 03:39:08 ID:0pRjMK/9
ActionScript3.0としてのモーションのコピーをして貼り付けたやつで
複数のインスタンスに同時に同じモーションをさせることは出来ますか?

また同名のインスタンスを
var mc:MovieClip = new MowieClip();
のようにして作ってコピーしてきたモーションをさせることは出来ますか?

243Now_loading...774KB:2008/08/15(金) 06:52:26 ID:Gd9OTTkC
>>241
value="$out"って$outっていう文字列を渡してるんじゃね
あと、ASのバージョンを書け
>>242
複数インスタンスの動作は当然可能
同名のインスタンス名は不可能
244Now_loading...774KB:2008/08/15(金) 12:02:21 ID:ckI0L8Dl
>>241
向こうでも一応レスあったよ
移動したなら移動したって書いたほうがいい
245Now_loading...774KB:2008/08/15(金) 12:05:57 ID:wuR4htyh
はじめて質問させていただきます。

AS2.0で、
ループ再生しているムービーを、クリックしたときに
一定のフレームまで再生をつづけて、
そのあと別のフレームに移動させるスクリプトはありますか?

これによって、ループ再生してるムービーが違和感なく
次の動きに移ったように見せたいのですが、、
246Now_loading...774KB:2008/08/15(金) 12:17:01 ID:Gd9OTTkC
>>245
1つflgを作ってクリックでtrueにするとかの処理を作る
ループ再生している部分の一定のフレーム?の最後に
そのflgをみて、再度ループするか他の処理に行くかのif文入れとく

スクリプト作ってくれってのは無しでw
247Now_loading...774KB:2008/08/15(金) 12:17:31 ID:ckI0L8Dl
>>245
スクリプトがある、というより、そうなるようにAS書くってだけだけど
いくつか方法はあるよ。
クリックした時に、onEnterFrame発動させて、MCの_currentframeが
特定のフレームになるまで監視して別のフレームに移動させるとか
クリックした時に、フラグたてといて、特定のフレームにフレームアクションで
フラグの値がtrueならどこそこのフレームにgotoAndPlayしろって書いとくとか。
248245:2008/08/15(金) 12:27:16 ID:WCkH+01h
>246
>247
ありがとうございます。
いくつか方法があるようですね。
初心者もいいところですが、
FLGのほうはかろうじて調べればわかりそうです。やってみます!

フラグを使えば、例えば他にもクリックごとに違う動きをとらせることも可能ということでしょうか。


249Now_loading...774KB:2008/08/15(金) 15:02:08 ID:ckI0L8Dl
>>248
>フラグを使えば、例えば他にもクリックごとに違う動きをとらせることも可能ということでしょうか

そうそう。
if(){}else{}とかswitchステートメントを使って変数の値に応じて処理条件をわけることができる。
ヘルプで条件演算とか条件の記述といった項目を見ると、解説があるので
書き方はわかると思う。
250Now_loading...774KB:2008/08/15(金) 19:15:59 ID:F0gU4zJt
>>243
$outをdata0=aaaに変更して試してみたのですが
aaaと表示してほしいダイナミックテキストにはundefindと表示されてしまいました
ASは2.0、FLASHのバージョンはMX2004です

>>244
ありがとうございます
こちらに誘導させていただきました
251Now_loading...774KB:2008/08/16(土) 01:02:30 ID:0XeJiUmP
>>250
zyusin1は変数名なのか、インスタンス名なのか、どっち?
zyusin1は_rootにあるんだよね?
252Now_loading...774KB:2008/08/16(土) 01:19:05 ID:qkgMh7ab
>>251
zyusin1は変数名に設定していて_root上に配置しています
253Now_loading...774KB:2008/08/16(土) 01:39:16 ID:0XeJiUmP
>>252
確認はIEでしてるの?
254Now_loading...774KB:2008/08/16(土) 02:35:36 ID:qkgMh7ab
>>253
firefoxで動かしたいのでfirefoxで動作確認をしてます
DBを使うのでxamppで設定したアドレス(http://localhost/〜)で確認してます
ファイルを直接指定(file:///C:/〜)で試してみても結果は変わりませんでした
255Now_loading...774KB:2008/08/16(土) 02:41:32 ID:HnNPoklS
よくわからんが、
DBの内容を取得するPHPを別に用意してechoで出力。
それをLoadするというのはダメなん?
256Now_loading...774KB:2008/08/16(土) 02:42:30 ID:0XeJiUmP
>>254
embedタグでもちゃんと指定してる?
257Now_loading...774KB:2008/08/16(土) 02:57:51 ID:RybIB8F8
>>241
zyusin1=_root.date0;
だろ。

ヘルプ見ればすぐ済む話を
マルチまでしやがって引っ張りすぎだ。
258Now_loading...774KB:2008/08/16(土) 03:08:01 ID:WtQOPKvq
>>255
それもやってみたのですがよくわからなくて…
PHPで取り出したDBの内容をFLASHに読み込むことができれば成功なんです

>>256
bodyタグの間は↓の様に記述しています
<param name="FlashVars" value="date0=aaa">
<embed src="test.swf">

>>257
できませんでした…
259Now_loading...774KB:2008/08/16(土) 03:23:35 ID:RybIB8F8
>>258
paramタグはobjectタグと併用するIE用のものでFirefoxじゃ意味無い。
embedタグは以下のように記述する。
http://support.adobe.co.jp/faq/faq/qadoc.sv?228618+002

embedとobjectのタグの違い
http://allabout.co.jp/internet/javascript/closeup/CU20031212/
260Now_loading...774KB:2008/08/16(土) 03:35:19 ID:0XeJiUmP
やはりembedタグの記述抜けが原因だったか…
261Now_loading...774KB:2008/08/16(土) 04:19:54 ID:5vNWF8eO
>>259
できました!ありがとうございます!

>>260
長々と申し訳ございませんでした。

皆様ありがとうございました!
262Now_loading...774KB:2008/08/16(土) 06:55:25 ID:Oyxvui6A
AS3、FlashDevelopです。

別のフォルダ階層にあるasファイルクラスの使い方を教えてください。
スタートクラスがMain.as、使いたいasファイルがforuda/Hoge.asとします。

ググってそれっぽいのを見つけてMain.asに
import foruda.Hogeやimport com.foruda.Hoge
と書いたのですが、どちらもうまくいきません。

前者は変な長いエラーメッセージ、
後者はcom.foruda:Hogeが見つかりませんと出ます。
263Now_loading...774KB:2008/08/16(土) 07:04:26 ID:a2oJizrF
>>262
そのフォルダをクラスパスに追加汁
変な長いエラーじゃわからんw
264Now_loading...774KB:2008/08/16(土) 07:17:15 ID:Oyxvui6A
>>263
ありがとうございます。

もう一度探していて、Hogeファイルのpackage名に
forudaと付けると(フォルダ名と同じ名前)うまくいったのですが、
これのことでしょうか。

変な長いエラーは、通常はでる行番号が出なくて、↓の感じです。
A file found in a source-path must have the same package
structure 'foruda', as the definition's package, ''.
そのクラスパスの事だと思われます。
265Now_loading...774KB:2008/08/16(土) 13:28:06 ID:2xKUbVYj
YoutubeのようにマウスがFlash上にあるときは、マウスホイールのスクロールを
Flash側で処理する(ブラウザをスクロールさせない)ためにはどうすれば
よいのでしょうか。

なぜかFlash内のコンテンツもブラウザも同時にスクロールしてしまい、
困っています。
266Now_loading...774KB:2008/08/16(土) 15:46:32 ID:hFeGF9f7
>>265
過去ログ、せめてこのスレくらい検索しようと何故思わなかったのでしょうか。
267265:2008/08/17(日) 08:47:35 ID:BJbe5mL8
過去ログではうまく情報を見つけられませんでした。
探し方が下手なのかもしれません。

このスレでは上の方で「wmode="transparent"」の対策を見たのですが、
自分の環境ではこのパラメータを設定してもブラウザとFlashコンテンツが
同時にスクロールしてしまいます。
wmodeを外しても同じです。

またYoutubeのタグを見てみたところ、特にwmodeなどの指定はなかった
ために、Flash/Flex内で完結した対応方法があるのかと思っていました。
もしもご存じでしたら、お教えください。m(_ _)m
268前スレ985:2008/08/17(日) 09:28:54 ID:YOp9Xplr
マウスオーバーしてる場合だけスクロール制御でスクロールさせないようにしてるんジャマイカ?
269Now_loading...774KB:2008/08/17(日) 12:10:11 ID:YOp9Xplr
スクロール制御じゃなくて、ホイール制御でした。失敬。
マウスオーバーに関係なくホイール制御を奪うようにすればok
270Now_loading...774KB:2008/08/17(日) 12:31:29 ID:BfBYh6/6
>>267
本題とは関係ないが、他人に手間を取らせるんだから、
自分が試したことを書いておくのは最低限の礼儀だよ
>>1
●質問する時は自分の環境を書く(AS2,AS3の別も)
●質問はものすごい勢いじゃなくて結構
●できるだけコードも示す
●まず自分がやりたいことを明確に書く。そのために試してみた処理を書く
って書いてあるけど全然守ってない、つまり過去ログどころか>>1も読んでないわけだ
271Now_loading...774KB:2008/08/17(日) 19:03:22 ID:hmHSJau8
AS3です
Sprite(container)が定位置(.x = 200)に来たら分岐条件で元の位置に徐々に.xする、
と言うのをやりたいのですが思ったとおりの挙動をしてくれません。
//移動フラグ
if ( container.x >= 100) //左進行フラグ
{
migi = -1;
hidari = 0;
}
else( 0 >= container.x ) // 右進行フラグ
{
migi = 0;
hidari = +1;
}
var pos_x = migi+hidari;
container.x += pos_x;
実行はTimerで連続処理させてます、
結果はSpriteが右に行ったきり戻ってきませんでした
どの様にするべきでしょうか?初歩的ですが宜しくお願いします。
272265:2008/08/17(日) 19:30:14 ID:BJbe5mL8
>>270さん

失礼しました。
●環境はAS3(Flex Builder3)
●実現したいこと
 1 ブラウザ上のFlash領域にマウスがある場合はマウスホイールの
   操作をブラウザに反映したくない。(ブラウザのスクロールを
   させたくない)。Flashはスクロールさせたい。

 2 マウスがFlash領域の外側に移動、もしくはフォーカスがFlashに
   ある場合は領域の外をクリックすることでマウスホイールの
   動作はブラウザにのみ反映したい(Flashをスクロールさせずに
   ブラウザのみスクロールさせる)
●試してみたこと
 1 このスレで得た情報のwmode="transparent"指定をつけたり外したり
 2 以下のコードのようにマウスホイールのイベントを取得して
   デフォルト動作のキャンセルをしようとしたがダメだった。
   (event.cancelableがfalseでどうもホイールのデフォルト動作は
    キャンセルできない?)
※コードは手元にないため正確ではありません。

scrollArea.addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel);

private function onMouseWheel(event:MouseEvent):void{
event.preventDefault();
}

コードは今手元にありませんので、これ以上はお伝えできません。
ご存知の方おられましたら、よろしくお願いします。
273Now_loading...774KB:2008/08/17(日) 19:45:39 ID:VpRVlqJJ
>>271
else( 0 >= container.x ) // 右進行フラグ
 ↓
else if( 0 >= container.x ) // 右進行フラグ

とまあifが抜けてるだけ
ifが抜けるとelseが掛かるのは
( 0 >= container.x )
の部分だけとなり

{
migi = 0;
hidari = +1;
}
の部分がif else文と何ら関係なく
常に実行されてた訳
274Now_loading...774KB:2008/08/17(日) 20:04:34 ID:VpRVlqJJ
>>272
ttp://f-st1029.noc.toyama.nsk.ne.jp/mt/2007/07/flash.html
詳しくは見てないがこれとサイトのリンク先見る限りでは無理っぽいような
275Now_loading...774KB:2008/08/18(月) 02:44:57 ID:L4D0ELjG
>>273
根本的な部分は解決した、ありがとう
276Now_loading...774KB:2008/08/18(月) 03:34:08 ID:B7mViElF
勉強中です。
onイベントハンドラを使用してイライラ棒的なものを作製しました。
ロールオーバーを使用して境界線を引いていますが
右クリックしたままだとonイベントが発生せずスルーされてしまうことが分かりました。
どうしたらマウスをクリックしたまま触れてもロールオーバーイベントを発生できるのでしょうか?
277Now_loading...774KB:2008/08/18(月) 04:15:59 ID:Wwewy3wd
>>276
dragOver(ボタンの外から内側へ向けてドラッグすると)
併記してみて

278Now_loading...774KB:2008/08/18(月) 04:32:15 ID:B7mViElF
>>277 ありがとうございます。
併記ですが、変な形の動く壁のシンボルに記述しています。

on (rollOver, dragOver) {
gotoAndPlay ("gameover");
}

ではスルーされたので、それぞれの命令を分離させて

on (rollOver,) {
gotoAndPlay ("gameover");
}

on (dragOver,) {
gotoAndPlay ("gameover");
}

のようにしてみましたがやはりClickしたまま状態だと抜けられてしまいました。
書き忘れましたがAS1.0です。


試しに、ボタンシンボルをいっこ作って同じ操作をしてみたんですが
もしかしてFlashの仕様として、クリック状態だとマウスオーバーとは認識されないんでしょうかね・・・
279Now_loading...774KB:2008/08/18(月) 04:32:38 ID:kFg0p1MN
>>276
右クリックでメニューが出てる状態ではロールオーバーとかは制御不能なんじゃないかな???

右クリックされるのが嫌ならゲーム中の右クリックは禁止にするといいかもね。
右クリックしたと同時にゲームオーバー、みたいに。
メニュー欄で出来る設定なんかはゲーム中にいじる必要はないわけだし。

例えば、タイトル画面までは右クリックでメニュー開ける状態にしていつでも
設定を変える事ができるようにしておいて、ゲーム開始と同時に
『右クリック押したらゲームオーバー』イベントを反応するようにしておく。
ゲームオーバーになったら、タイトル画面に戻して、上のイベントは切っておく。
そんな感じで。
280277:2008/08/18(月) 04:38:56 ID:Wwewy3wd
ごめん実際試して見たけどdragOverじゃ駄目だみたいだねorz
マウス座標使うか、hitTest使うかかな?

ここまで書いた時点でリロードwおっとっと
右クリックは誤記だよね?w
281Now_loading...774KB:2008/08/18(月) 04:44:14 ID:B7mViElF
>>280
すいません、左クリックの誤記でした;

左クリック押しっぱなしだとスルーで、
コンテキストメニュー出すとワープになりますねぇ。。。

やっぱり壁の縁にHitTest記載した隠しシンボルをずらり並べるとか
完全に角形化するしかなさそうですね・・・
待ってる間に実際グーグルでいろいろ調べてたんですが大体そうやっているみたいでしたし
・・・
朝早くからありがとうございました。
精進イタします<(_ _)>
282Now_loading...774KB:2008/08/18(月) 17:24:55 ID:XiIEBvpl
Flex/AS3.0です

任意のタイミングで要素を追加、指定した要素を削除、全要素を列挙できるデータ構造として、
Dictionaryを使用したいと考えています。オブジェクトをキーとして、同じ物を値として保存するような・・・。
キーと値が同じなので、直感的に無駄な部分があるように思えて仕方ありません。
キーと値が同じようなDictionaryの使い方ってするものなんでしょうか。

用途のイメージです↓

var dict:Dictionary
public function addObj( obj:Object ){
  if( dict[obj] == undefined )
    dict[obj] = obj;
}

public function rmvObj( obj:Object ){
  if( dict[obj] != undefined )
    delete dict[obj]j;
}

public function traceDict(){
  for each( obj:Object in dict){
    trace( obj.toString() );
  }
}
283Now_loading...774KB:2008/08/18(月) 17:38:00 ID:3rh6DCFZ
>>282

値を取り出すために同じ値を必要とするならば、値を取り出す時点でその値が手元にあることになり、なんのために取り出すのかと
284Now_loading...774KB:2008/08/18(月) 17:45:20 ID:XiIEBvpl
>>283
値の取り出しはfor eachでのみ行うつもりです
用途は買い物カゴに商品を登録するようなイメージです

好きな商品をカゴに入れる→dict[obj] = obj
後で取り消したい場合はカゴから取り出す→ delete dict[obj]
最終的にカゴに入っている商品の総額を求める for each ( obj in dict ){ ...... }

やはり変な使い方でしょうか
285Now_loading...774KB:2008/08/18(月) 17:49:09 ID:nfZWJrk4
長文失礼します。
●環境 Adobe Flash CS3 ProfessionalでAS3.0使っています
●コード(2.swfに書き込んでいるコードです)
import flash.display.MovieClip;
import flash.display.Loader;
import flash.events.EventDispatcher;
var ldr:Loader = new Loader();
this.addChild(ldr);
//Button_btn5をクリックで3.swfを読み込む
this.Button_btn5.addEventListener(MouseEvent.MOUSE_DOWN,func01);
function func01(e:MouseEvent):void {
ldr.load(new URLRequest("3.swf"));
}
//テキストの表示
var theText:String;
theText = "表示するテキスト";
var theTimer:Timer = new Timer(50);//タイマーの設定
theTimer.addEventListener(TimerEvent.TIMER, onTick);
var myTextField:TextField;//以下テキストフィールドの設定
myTextField = new TextField();
※以下x.y座標などの設定(略します)
//フォーマットの設定(略します)
myTextField.defaultTextFormat = myFormat;
addChild(myTextField);
※以下Timerの設定(略します)//end
ページごとにそれぞれswfファイルを作成して、ボタンのクリックによってそれぞれのswfに移動するコンテンツを作成しています。
2.swfを読み込んだとき、「//テキストの表示」以下のコードによって1文字ずつテキストを表示するのですが、Button_btn5をクリックして3.swfを読み込んだとき、2.swfで表示されたテキストが3.swfに表示
された状態となってしまいます。
3.swfやその他のswfを読み込んだときに、このテキストが表示されない状態にしたいのですが、どうすればよろしいでしょうか?swfファイルの読み込み方がまずいのでしょうか?
改善方法をご存知の方、よろしくお願いします。
286Now_loading...774KB:2008/08/18(月) 17:51:05 ID:3rh6DCFZ
>>284
なるほどーそういう使い方なら別に変ではないと思いますよ
287Now_loading...774KB:2008/08/18(月) 17:55:31 ID:XiIEBvpl
>>285
addChild(ldr)をaddChild(myTextField)より後に書くか、
SetChildIndexでmyTextFieldの重なり順を変えるか、
func01でmyTextField.visible = false とするかしてみたらどうでしょうか
288Now_loading...774KB:2008/08/18(月) 18:01:26 ID:3rh6DCFZ
>>285

3.swfを読み込んだLoaderがTextFieldより深度が深くなってしまうという認識でいいですか?
Event.COMPLETEイベントを使って3.swfを完全に読み込んだあとにaddChildしたらいいかも
ムリやり消したいならvisibleをfalseにするとか
289Now_loading...774KB:2008/08/18(月) 18:01:56 ID:nfZWJrk4
とりあえず、addChild(ldr)をaddChild(myTextField)より後に書くことにより解決しました。
お早い回答ありがとうございます。
3つの方法がありますが、どの方法が一番利便性が高いのでしょうか?
290Now_loading...774KB:2008/08/18(月) 18:13:14 ID:nfZWJrk4
>>288
はい。TextFieldが一番前にきてしまうのです。

fanc01にmyTextField.visible = false;を加えたところ、ボタンをクリックすると
TextFieldは削除されたのですが、swfが読み込まれなくなりました…。
291Now_loading...774KB:2008/08/18(月) 18:15:25 ID:RRsF2cli
>>284
アホすぎで泣けたw
1000個のインスタンスのうち1つを選ぶのに
毎回毎回for eachで値を比較するわけだなw
292Now_loading...774KB:2008/08/18(月) 18:40:31 ID:NfD0Qby0
>>291
暑さで脳みそ溶けてないか?
293Now_loading...774KB:2008/08/18(月) 18:43:08 ID:RRsF2cli
>>292
まさか、そんな作りの買い物かご作ってるのか?
ASスレだから言うが、お前は無能だw
294Now_loading...774KB:2008/08/18(月) 21:36:28 ID:69F2CPZ/
ごく普通の考え方だと思うぞ?しかも結構初歩的で教科書的な。
どう勘違いしてるやら?
295Now_loading...774KB:2008/08/19(火) 00:12:43 ID:OnM4YQZu
291の問題点は日本語が読めないところだな
296Now_loading...774KB:2008/08/19(火) 01:16:41 ID:cYnpiDvP
Timerクラスで100ミリ秒前後でループさせているのですが、時間が安定しません。
どうにか安定させる方法はないでしょうか。
297Now_loading...774KB:2008/08/19(火) 01:29:51 ID:qevvbjcQ
>>296
無理。Flashプレーヤーはそのへんかなりいい加減なのよ。
高FPSにして、都度チェックするのと併用するのがポピュラーな手段だけど、それでも安定するとは言えない。
今後に期待するしかないのよ現状は。
298Now_loading...774KB:2008/08/19(火) 02:04:36 ID:cYnpiDvP
>>297

ループする間隔を長くすれば 全体で見たズレは少なくなりますか?
299Now_loading...774KB:2008/08/19(火) 02:27:56 ID:yFXjgqte
>>298

>>297は計測精度的なことをいっているが、
>>296の言い草ではおそらく
時計の表示タイミングのことぐらいの話だろう?

もしそうならTimerクラスじゃなくて
時間計測開始時の起動後ミリ秒を取得してこれを基準ミリ秒として
EnterFrameイベント毎に現在起動後ミリ秒を取得して
そのミリ秒と基準ミリ秒との差分が1000ミリ秒以上なら
1秒経過として時計の表示を更新するとともに
基準ミリ秒を+1000ミリ秒するようにすれば
フレームレートがよほど低く無い限り
見た目でのずれは
人間の目では感じることがなくなるよ。

Timerクラスは「ほぼ」指定したミリ秒間隔で実行するから
適度な遅延などあいまいな処理に使ったりで、
時計などには向かない。
ヘルプにもそう書いてあったはず。
時計の表示の更新に使うと最大で約指定ミリ秒×2の
表示のズレがどこかで生じる。
300Now_loading...774KB:2008/08/19(火) 06:01:21 ID:MNV9t+Mg
>>294
どの教科書に自分自身をキーにして自分自身を索引しましょうって書いてあるの?
普通はキーとデータの組み合わせだが
>>295
日本語が読めても無能では困る
301Now_loading...774KB:2008/08/19(火) 08:14:06 ID:qevvbjcQ
>>300
なにを勘違いしてるか分からんけど、こういうことでしょ?
ごくごく普通。

var cart:Dictionary=new Dictionary()

var item1:Object = {name:"商品A", price:500}
var item2:Object = {name:"商品B", price:300}

function addItem(item){cart[item]=item}
function removeItem(item){delete cart[item]}
function sum(){
var result=0;
for each(var item in cart)result+=item.price;
return result;
}

addItem(item1);
addItem(item2);
trace(sum()); //800
removeItem(item1);
trace(sum()); //300

実際の運用はCartクラスとItemクラスなんかを作って整理するのが多いんじゃないかな?
302Now_loading...774KB:2008/08/19(火) 08:38:47 ID:MNV9t+Mg
カートの中身の順番が不定な通販システム作るのかw
for in やfor eachはもれなく列挙することは保証しているが、
その順番については不定
303Now_loading...774KB:2008/08/19(火) 09:11:16 ID:qevvbjcQ
もう無能でいいよw
つきあいきれんw
304Now_loading...774KB:2008/08/19(火) 12:35:31 ID:6WSTXBPD
>>302

> カートの中身の順番が不定な通販システム作るのかw
> for in やfor eachはもれなく列挙することは保証しているが、
> その順番については不定
305282=284:2008/08/19(火) 12:45:20 ID:Tu77xjM1
自分のせいで荒れてしまってますね。すみません。

>>302
>>284で示した買い物カゴの例はあくまでイメージです。通販システムを作りたいわけではありません。
実現したいことはあくまで>>282に記述した
1.要素の登録
2.指定した要素の削除
3.登録された要素の列挙
です。
特定の要素を必要とする事はないので、ランダムアクセスは必要ありませんし、
中身の順番は不定で構いません。
どのような方法を用いるのが適切でしょうか。是非ご教授下さい。
306Now_loading...774KB:2008/08/19(火) 14:16:10 ID:5kuvsE+n
MNV9t+Mgはかわいそうな子
307Now_loading...774KB:2008/08/19(火) 19:37:08 ID:I9tAL0LM
質問です。少数値の計算は整数値よりも処理に負担がかかると聞いたのですが、毎フレーム少数値の計算を繰り返すとした場合、
それを防ぐために事前にMath.floorを使って整数にするときと少数のまま処理処理し続けるのではどちらの方が負担がかかるのでしょうか?
308Now_loading...774KB:2008/08/19(火) 19:40:59 ID:D4hib965
やってみればいいんじゃないでしょうか
309Now_loading...774KB:2008/08/19(火) 20:07:34 ID:V18lMoZN
D:\Flash\sample.swfがswf、D:\Flash\sample.htmlがhtmlだとします。
これでsample.htmlへアクセスしたときにD:\Flash\sample.htmlというパスを動的に取得したいのですが、どうすればいいでしょうか?
310Now_loading...774KB:2008/08/19(火) 20:43:55 ID:D4hib965
>>309
javascriptを使えばできたと思います
311Now_loading...774KB:2008/08/20(水) 00:03:21 ID:u1zcHG65
この場合は無理だと思います
312Now_loading...774KB:2008/08/20(水) 11:55:36 ID:rtbrbiHF
>>305
いまいちイメージが湧かないんだが、たとえばリストボックスとか、
複数のjpg画像で商品を表示しておいてそれを選択して確定ボタンを押すと
買い物かごエリアにその商品が表示されるとかなのか?
あと、指定した要素の削除にはランダムアクセスが必要だと思うぞ
313Now_loading...774KB:2008/08/20(水) 11:59:37 ID:xRczFEqI
Flash CS3/AS3.0で質問させてください。
Flash CS3にてMCシンボル
oya、koをそれぞれ作成し、oya内にkoを配置、"ko_mc"と命名。
oyaに以下のクラスをリンケージ
public class Oya extends MovieClip{
 //コンストラクタ
 public function Oya():void {
  this["ko_mc"].koMethod();
 }
 //メソッド
 public function oyaMethod():void {
  trace("oyaMethod() called");
 }
}
koに以下のクラスをリンケージしました。
public class Ko extends MovieClip{
 //コンストラクタ
 public function Ko():void{
 }
 //メソッド
 public function koMethod():void {
  trace("koMethod() called");
  //parent.oyaMethod();
 }
}
上記の状態で、Ko側からOyaのメソッドを呼び出したい場合、どのように
すればよいでしょうか。
koMethod()でコメントアウトしている書き方では以下のエラーが出力されます。
未定義である可能性のあるメソッド oyaMethod を、静的型 flash.display:DisplayObjectContainer の参照を使用して呼び出しました。
以上、よろしくお願いいたします。
314Now_loading...774KB:2008/08/20(水) 14:10:22 ID:2osAeMLk
>>313
親をこうして、
public class Oya extends MovieClip {
public var ko_mc:Ko
public function Oya():void {ko_mc.koMethod();}
public function oyaMethod():void {trace("oyaMethod() called");}
}
子をこんなで
import flash.display.MovieClip
public class Ko extends MovieClip {
private var oya_mc:Oya;
public function Ko():void {oya_mc = Oya(parent)}
public function koMethod():void {
trace("koMethod() called");
oya_mc.oyaMethod();
}
}
で、[パブリッシュ設定]の[ActionScript3.0]の「ステージのインスタンスを自動宣言」
のチェック外せばいけるんじゃないかな?
parentは使わないで、Oya型のプロパティを用意して、そこにparentをOyaでキャストしたのを入れて置いて使う感じ
315Now_loading...774KB:2008/08/20(水) 14:30:51 ID:xRczFEqI
>>314
教えていただいた方法で意図した動作が可能になりました。
キャストという方法があるんですね。
後、「ステージのインスタンスを自動宣言」というパブリッシュ設定項目に
ついてもまったく認識してませんでしたので、キャストとともに
ちょっと勉強しようと思います。
ありがとうございます。
316Now_loading...774KB:2008/08/20(水) 16:31:47 ID:RIt+z6DK
AS3.0です。contents.flaとControll.asを作りcontents.swf内のボタンを押したときの動作(再生と一時停止)をControll.as内に定義したいと思ってます。
contents.flaのフレームアクションは以下のとおりです。

import Controll;
var obj:Controll = new Controll();
addChild(obj);
bt_play.addEventListener(MouseEvent.CLICK, bt_playClick);
bt_pause.addEventListener(MouseEvent.CLICK, bt_pauseClick);
function bt_playClick(eventObj:MouseEvent)
{
obj.Play();
}

function bt_pauseClick(eventObj:MouseEvent)
{
obj.Pause();
}
続きます。
317316:2008/08/20(水) 16:34:40 ID:RIt+z6DK
Controll.asの中身は以下のとおりです。
package {
import fl.motion.Animator;
import flash.display.*;
public class Controll {
static var animeobj = new Animator();
//一時停止
public static function Pause():void {
animeobj.pause();
}
//再生
public static function Play():void {
animeobj.resume();
}
}
}
以上を実行すると
ArgumentError: Error #2012: Controll クラスをインスタンス化することはできません。
at _fla::MainTimeline/_fla::frame1()
とエラーが出ます。どのように直したらよいでしょうか。
よろしくお願いします。
318Now_loading...774KB:2008/08/20(水) 16:51:52 ID:YfXV1Gub
おれはAS3は全く解らないから聞き流してくれかまわない。

勘で、addChildいらない。といってみる。
319Now_loading...774KB:2008/08/20(水) 17:32:02 ID:XCrjyQ50
addChildももちろんいらないけどstatic関数呼ぶならインスタンスから
関数呼んじゃだめ。Controll.Play() Controll.Pause() とか。
320Now_loading...774KB:2008/08/21(木) 03:48:05 ID:yiuNeS3H
質問します。エクリプス+ASDTで作成環境を整えたいのです。
mtascで文法チェックすると警告・エラーは英語で出されますが、
これを日本語化できるのであればヒントをください。
もしくは、Flash8basicを持っているので、
これのコンパイラを利用して文法チェックできないものでしょうか。
というかどんな環境で制作していますか。

windowsXP、エクリプスはv3.2、ASDTはv0.0.8ビルド5、mtascは1.0.0
プレアデス最新版(1.2.2p3)で日本語化しています。
321Now_loading...774KB:2008/08/22(金) 00:06:05 ID:zkeJO+ji
MX2004で質問
トップから二階層目のMCにon(release)でトップの他のフレームに飛ぶ様にしてるんですが全く動作しません…
記述自体は間違ってないと思います。
MX2004って二階層目に記述しても無効みたいなルールがあるんでしょうか?

宜しくお願い致します
322Now_loading...774KB:2008/08/22(金) 00:54:38 ID:jW57sSMW
>>321
そんなルールはないよ
323Now_loading...774KB:2008/08/22(金) 00:56:06 ID:w9VqVE9w

『君の担当地区の商品の売り上げが
 伸び悩んでいると聞いたが』

「僕の売り方は間違って無いと思います。
 この地域は商品が売れない雰囲気みたいなものがあるんでしょうか?」

『おめーのせいだよ!』
324Now_loading...774KB:2008/08/22(金) 09:57:37 ID:5tNfiIZj
>>321
>記述自体は間違ってないと思います
まずはソースを書けwその上で先生方に間違いを指摘してもらうんだ
325Now_loading...774KB:2008/08/22(金) 10:56:49 ID:X14a+UCt
多分記述の間違いじゃないと思うから書かなくていいよ。

てか一番の間違いはマルチポスト
http://pc11.2ch.net/test/read.cgi/swf/1075877681/927
326321:2008/08/22(金) 12:56:09 ID:zkeJO+ji
なぜか二層目以降全く動作しないんですよね…(>_<)
記述自体は他の階層でも試したので問題ないはずです。

入れ子になってるMCを動かしてるからいけないんですかね?
327Now_loading...774KB:2008/08/22(金) 13:23:38 ID:cMsFsw4M
わざわざこのスレで俺の記述は問題ないから動かない原因を教えろというのはおかしな話だな
328Now_loading...774KB:2008/08/22(金) 13:26:24 ID:5tNfiIZj
>>326
問題ないなら動くだろwどうせ、path違うとかだろw
ソースと階層を正確にうpするかflaうp汁(2度目)
329Now_loading...774KB:2008/08/22(金) 14:13:47 ID:JjVXPpyP
このスレにエスパー様はいらっしゃいませんか?
330Now_loading...774KB:2008/08/22(金) 14:19:39 ID:c7ZxEblZ
>>321の一番の間違いというか問題はコミュニケーション能力の圧倒的不足
相手に理解してもらおうという意思が微塵も感じられない
331Now_loading...774KB:2008/08/22(金) 15:25:00 ID:WtXBlOy9
パソコン初心者によくある
『何が分からないのか分からないので教えて』
ってのに良く似ているな。

ソース書けよ。おまいのソースなんて隠すほどのレベルじゃないぞ?
332Now_loading...774KB:2008/08/22(金) 16:11:50 ID:CeeCXtCJ
どうやら321はソースとマルチポストの意味が解らないみたいだな?w

てかこれ超基本的質問スレとかでちょくちょく出てくるアレだろ?
onハンドラ入れ子にしてるとかだろ?十中八九。
333316:2008/08/22(金) 16:48:57 ID:z22XAMEC
>>318-319さん
どうもありがとうございます。結論から言うと解決しました。
addChildを無くし、static関数を正しく呼び出しました。
さらに、メインタイムラインの再生と停止は
クラス名.Play(root);で呼び出し、呼び出す関数にメインタイムラインを引数として渡しました。
Play(TimeLine:Object){
TimeLine.play();
}
ありがとうございました。
334326:2008/08/23(土) 13:31:00 ID:OkbceWQc
2ちゃんやってるキモオタ共うるせんだよw

無事一人で解決できました(^^)
妄想する事くらいしかできないオタクに聞いたのが間違いだったww
335Now_loading...774KB:2008/08/23(土) 14:54:02 ID:KlaUc0rO
しょうがないよ
妄想しないと何言ってんのかさっぱりわからなかったし
336Now_loading...774KB:2008/08/23(土) 17:18:43 ID:tVCkIdTa
321は結局なにも学ばなかったようだ。
337Now_loading...774KB:2008/08/23(土) 17:45:24 ID:L9gNpKx4
>>334
記述間違い以外が原因だったなら
どう解決したか書いてほしいです
338Now_loading...774KB:2008/08/24(日) 00:02:57 ID:OkbceWQc
原因は僕の頭にありました。フハ…フハハ ヒィー!
てか2ちゃんって思ったより誰ものってこないんですね(ToT)
339Now_loading...774KB:2008/08/24(日) 12:34:17 ID:SkLYaNjg
いろんな意味で残念だ
340Now_loading...774KB:2008/08/24(日) 13:41:34 ID:osdZAY+r
>>334
質問したときは、最終的に解決した方法を書くのが礼儀な
341Now_loading...774KB:2008/08/24(日) 21:28:24 ID:AwhjOw8M
Windows Flash Pro 8 AS2.0 の環境で、
外部テキストファイル(内容:1_name=テスト)から値を読み込みたくて、
1フレーム目:
_global.ranking = new LoadVars(); //宣言
_global.ranking.load("ranking.txt"); //ロード
3フレーム目:
if(ranking.loaded == false) //ロード終了まで待機
{
gotoAndPlay(2);
}
とし、その直後(4フレーム目)に、その値を確認しようと、
trace(_global.ranking.1_name);
とするとシンタックスエラーが発生してしまいます。
--------------------------------------------------
')' または ',' が必要です。
trace(_global.ranking.1_name);
--------------------------------------------------
ダイナミックテキストボックスを用意し、変数に_global.ranking.1_nameを
設定すると、テキストボックスには"テスト"と出てくれます。

解決方法、お分かりの方おられましたらよろしくお願いします。
342Now_loading...774KB:2008/08/24(日) 22:58:24 ID:qy+0FvkH
>>341
変数名は数字からはじまっちゃダメ。
ヘルプなどで識別子についてのルールを読むように。

それと、せっかくLoadVars使ってるんだから、フレームループじゃなく
リスナーで読み込み完了を検知して処理するほうがいいと思う。
343Now_loading...774KB:2008/08/24(日) 23:08:42 ID:USMKZNWk
最初の読み込み中に何%読み込んだかゲージが伸びていくようにしたいんですが、
これは別のフラッシュを用意すればいいんでしょうか?
実装方法が書いてあるページが見つけられませんでした・・・。
344Now_loading...774KB:2008/08/24(日) 23:38:54 ID:AwhjOw8M
>>342
おお どうもありがとうございます。
基本的な所でのミスで、ご迷惑をお掛けしました。

リスナーについては、また調べてみます。
本当にありがとうございました。
345334:2008/08/24(日) 23:48:59 ID:f8zvjK33
>340
礼儀なって・・・・てめーら何も教えてくれてねーだろwww
あつかましすぎんだよww
前も色々教えてやったのに礼の一つもなかったし2ちゃん住人には教えたくないわ
346Now_loading...774KB:2008/08/25(月) 00:38:48 ID:af0FzEDU
2ちゃんどうこうに限らず、こういう所は基本的にボランティアなんだから、
こっちが何かをあげたから何かを貰うというような考えは通じないんだよ。
お礼がないと何もしないのはボランティアじゃないし、行為を強要するのもボランティアじゃない。
そういうことがしたいなら、有料で答えが返ってくるサービスがあるから、
これからはそちらを利用するといいんじゃないかな?
347Now_loading...774KB:2008/08/25(月) 00:59:59 ID:ncTXIUtK
>>343
プリローダー flash で検索。
パーセントテキスト表示が出来てるならそんなに難しくないと思う。

>>345
>>321の質問には>>322が正確に解答してるんだがw
それ以前にzkeJO+jiはマルチポストしたまんますっとぼけてるんだがw
2chにも一応ルールがあるからルールを理解する気がないやつは来なくていいぜ。
348Now_loading...774KB:2008/08/25(月) 01:42:28 ID:T7/OLNTl
>>347
ありがとうございます!
調べてみます

読み込みバーで検索してました
349Now_loading...774KB:2008/08/25(月) 09:26:09 ID:AqR+AMLl
AS3で開発しています。
1秒に1回、URLLoaderでデータをダウンロードするアプリを作成しているのですが、
1回ごとにURLLoaderをnewしているので、使用メモリがガンガン上がっていきます。
物理メモリを食いつくしたぐらいのタイミングでガベージコレクションされるのですが、
その間CPU使用率が100%になり、処理が止まってしまいます。
URLLoaderをnewしないで再利用しようとしましたが、load関数を呼んでもリスナーは呼ばれませんでした。
何か良い方法はないでしょうか?
350Now_loading...774KB:2008/08/25(月) 12:46:13 ID:WXO+iNXi
>>349
設計からして間違ってるだろw
1秒に1回DLしなければならないって仕様は必要なの?
351Now_loading...774KB:2008/08/25(月) 16:15:32 ID:9n6bela/
配列に入れといてロード完了したのから使いまわせば?
352Now_loading...774KB:2008/08/25(月) 19:34:29 ID:iY8PIZ+U
flaファイルを開かなくても、swfファイルの縦横サイズが簡単にわかる方法はありませんか?
353Now_loading...774KB:2008/08/25(月) 20:27:41 ID:GvVA7x4R
>>352
このスレで聞くって事はASで縦横サイズ調べたいってこと?
354345:2008/08/26(火) 00:11:28 ID:BFdvFxed
お前ら俺のちんぽしゃぶれやウヒィ

ワイは猿や…
355Now_loading...774KB:2008/08/26(火) 00:19:34 ID:9jrVTYM2
ここで聞くことじゃないかもしれませんが、AS3のソースを難読化するツールを作ってます
文字列部分をてっとり早く難読化するにはどうしたらいいのでしょうか?
356Now_loading...774KB:2008/08/26(火) 01:07:42 ID:2E+5wvcW
352ですが、スレ違いでした。失礼しました。
357Now_loading...774KB:2008/08/26(火) 01:56:41 ID:+z2Qjr20
>>355
手っ取り早くやるなら文字コードの数値表現に置き換えるとかじゃない?
\u00xxみたいな
358Now_loading...774KB:2008/08/26(火) 05:20:42 ID:GNdAwumD
>>355
ちょうど自分も作っているとろこだ。
ひとまずは、コメント、改行、スペース消し辺り。
ファイル、関数、変数名変換は少し苦労しそう。
関数の内容展開も実装したい。
359Now_loading...774KB:2008/08/26(火) 07:42:24 ID:feXkVyDS
>>355
たしかニコニコ動画で難読化ツールを作る動画が上がっていたような希ガス
難読化というよりかは、デコンパイラ(というのが正しいのか解らんがその手のツール)
を騙すような仕組みになっていた。

その辺を作れる人はバイトコードでいぢれるそうで、正直ついていけんw
360Now_loading...774KB:2008/08/26(火) 08:33:23 ID:9jrVTYM2
>>357
ありがとうございます!
やってみます

>>358
おお、仲間が!
簡単だと思ってはじめたら継承とか配列からのメンバ呼び出しとかで
けっこう大変ですよね

>>359
ぬは、そんなものが・・・
バイトコードでいじれるとはすごい
361349:2008/08/26(火) 11:07:57 ID:b+xqqrEg
>>350
サーバ上のDBにたまっていくログをリアルタイムに表示するアプリなので、
他に手段が無いのです…

>>351
使い回してもload関数を呼ぶだけでメモリを消費するみたいです。
362Now_loading...774KB:2008/08/26(火) 12:57:52 ID:BFdvFxed
みそっぱちツールって知ってます?
あれ使ったらASなんて覚えなくても一発ですよ
363Now_loading...774KB:2008/08/26(火) 15:47:15 ID:c8bqOL8i
AS2でかいてます
外部読み込みのテキストのx行目からy行目までを表示させたいの
txt.text.split("¥r")とかで総行数とか調べれるのはわかったけど
結局どうしていいのかわからんです
たちけて
364Now_loading...774KB:2008/08/26(火) 16:33:04 ID:Kyx4ztpd
text1〜text10までの変数に一度に代入したいのですが記述がうまくいきません。

for(i=1;i<=10;i++){
eval("text"+i)=a;//この部分が駄目でした
}
左辺のevalが原因と思いますが、他に良い方法が思いつきません。
text1=a;
text2=a;
……
とやっても良いのですが行が増えるのであまりしたくないんです。分かる方がいれば是非お願いします。
365Now_loading...774KB:2008/08/26(火) 16:36:11 ID:mbrVPtgS
>>364
「配列アクセス演算子」でぐぐる。
366Now_loading...774KB:2008/08/26(火) 16:46:06 ID:Kyx4ztpd
>>365
即レスありがとうございます。おかげさまでできました!
this["m"+i]=a
上の記述でできました!ありがとうございました。
367Now_loading...774KB:2008/08/26(火) 16:58:45 ID:GpaeuEGq
>>320です。みなさんのAS作成環境について教えてください。
もう一度お願いします。
368Now_loading...774KB:2008/08/26(火) 17:05:57 ID:A4l4OPRU
>>363
gaibuTxtLoad = new LoadVars();
gaibuTxtLoad.load("gaibu.txt");
gaibuTxtLoad.onData = function(dat) {
if (dat.indexOf("\r\n") != -1) {
gaibuTxtLine = dat.split("\r\n");
} else if (dat.indexOf("\n") != -1) {
gaibuTxtLine = dat.split("\n");
} else if (dat.indexOf("\r") != -1) {
gaibuTxtLine = dat.split("\r");
}
trace("2行目から3行目まで:"+gaibuTxtLine[2]+"\n"+gaibuTxtLine[3]);
trace("総行数:"+gaibuTxtLine.length);
};
369368:2008/08/26(火) 17:07:42 ID:A4l4OPRU
trace("2行目から3行目まで:"+gaibuTxtLine[1]+"\n"+gaibuTxtLine[2]);

だった
370Now_loading...774KB:2008/08/26(火) 17:37:44 ID:xVCJ80hp
>>369
それじゃ何百行と取り出したいようなとき酷いことになるし、
普通にsliceしてjoinの方が楽じゃない?
371368:2008/08/26(火) 18:27:12 ID:A4l4OPRU
こうですね

//2行目から3行目まで
startLine = 2;
endLine = 3;
out = gaibuTxtLine.slice(startLine-1, endLine);
trace("2行目から3行目まで:"+ out.join("\n"));
372Now_loading...774KB:2008/08/26(火) 18:29:25 ID:BFdvFxed
みそっぱちツール使ってみました!
こんなツールあったんですね
373Now_loading...774KB:2008/08/26(火) 19:23:59 ID:jdjggU2P
共通関数(common.as)を作りました。
↓↓↓↓↓↓

public class common {
 public static function hoge():uint {
  return 123;
 }
}

利用する側(同じフォルダ)でimport common;って書いて
hoge();したんですが、
「未定義である可能性が高いメソッドhogeの呼び出しです。」
と出ます!! どこがおかしいのでしょうか!?
374Now_loading...774KB:2008/08/26(火) 19:37:04 ID:k74bQ8KG
>>373
パッケージって知ってる?
375Now_loading...774KB:2008/08/26(火) 20:12:04 ID:jdjggU2P
>>374
package {
 public class common {
  ・・・・・
 }
}

って書いてますが・・・・
同じフォルダならこれでいいのかなって思って・・・
376Now_loading...774KB:2008/08/26(火) 20:44:38 ID:a5iQ1ZnH
common.hoge();ってやった?
377Now_loading...774KB:2008/08/26(火) 20:55:24 ID:jdjggU2P
>>376
common.hoge();で出来ました!

でもできればhoge();ってやりたいなあ〜!??
getとかsetとかって書けばできるんのかな・・・・・
378Now_loading...774KB:2008/08/26(火) 20:58:55 ID:9jrVTYM2
1つのファイルで1個の関数しか出来ないけど
Hoge.asってファイルで

package {
public function Hoge():uint {
処理;
}
}

とやれば
Hoge();の呼び出し出来るようになるよ
379Now_loading...774KB:2008/08/26(火) 21:00:15 ID:9jrVTYM2
↑classにせずに関数だけのファイルってことです
380Now_loading...774KB:2008/08/26(火) 21:11:36 ID:jdjggU2P
>>378
できた〜!! な・なるほど〜・・・

関数沢山ある場合はその数分ファイル
作らなきゃいけないってことですね・・・・!?
381Now_loading...774KB:2008/08/26(火) 21:12:53 ID:a5iQ1ZnH
>>377
getter/setterはメソッドをプロパティのように扱えるようにするためのものだよ
382Now_loading...774KB:2008/08/26(火) 21:23:25 ID:a5iQ1ZnH
>>378

ロジック的にそれはどうなんだろうか・・・w

>>380
そもそもなんでcommon.hoge()と書きたくないの? (ちなみにクラス名の最初は大文字で書くこと)
確かにタイプ量が多くなってイヤとか、コードが長くなるとかあるけど
あとから読み返したときに突然hoge()なんてでてきたらわけわからなくなるよ?
common.hoge()と書くことによって一発でcommonクラスのstaticメソッドだと判断することができる
可読性ってのは結構大事だよ

あと、FlashCS3はカスだからできないけど、FlexBuilderやフリーのFlashDevelopなんかは
カスタムクラスのコード補完機能がついてるからタイプ量はあんまり変わらないはず
383Now_loading...774KB:2008/08/26(火) 21:31:23 ID:YS2tUzSn
http://www.coedobrewery.com/swf/index.html
上でやってる、写真の出方ってどうやるんでしょうか?
384Now_loading...774KB:2008/08/26(火) 22:54:51 ID:9jrVTYM2
>>382
た、確かにw
でも頻繁に使う関数(可変引数を渡すTrace)とかはこうしちゃってる
385Now_loading...774KB:2008/08/27(水) 06:50:04 ID:25in53zB
>>361
そういうのはソケットつかうんじゃねーのか?
386Now_loading...774KB:2008/08/27(水) 11:15:46 ID:J/nr7fkD
actionscript3.0を使用しています。
コード(0.swfに記述しています)
import flash.display.MovieClip;
import flash.display.Loader;
import flash.events.EventDispatcher;

var ldr:Loader = new Loader();
this.addChild(ldr);
this.stop();

this.start_btn.addEventListener(MouseEvent.MOUSE_DOWN,func01);
function func01(e:MouseEvent):void {
ldr.load(new URLRequest("1.swf"));
}
//end

このとき、startボタンをクリックすると0.swfの上に1.swfが重ねられて表示されますが、1.swfを読み込んで表示した後に、1.swfの下にある0.swfを消去する方法はありませんでしょうか?
ご存知の方、よろしくお願いします。
387Now_loading...774KB:2008/08/27(水) 11:22:55 ID:dVidHVDW
>>383
Flash使ったこと無いけど、
全面白いオブジェクトを手前に表示(透明状態)させておいて、
そのalpha値を画像の切り替え前後で急激に変化させてるんじゃないかなあと想像

             画像:  画像A → 画像B
白いオブジェクトのalpha値:  0→0.5→1→0.5→0

想像なので試してもないし保証も無し
388Now_loading...774KB:2008/08/27(水) 11:35:28 ID:nKJjPubh
>>383
プロパティのカラー 詳細でアルファとRGBの値を弄ってるだけなんじゃ?
389Now_loading...774KB:2008/08/27(水) 12:08:20 ID:MK9Vk3wy
blendとalphaっぽいね
390Now_loading...774KB:2008/08/27(水) 12:32:30 ID:Z00E6Rmg
なるほど。。。
前者の方法だと例のサイトのように抑揚がつかないんです。
後者だとFPSがかなり下がってしまって。。。
391Now_loading...774KB:2008/08/27(水) 12:43:45 ID:nMjtOeRo
ActionScript3.0で質問させてください。

16進数を扱う場合には0xFFFFFFのように
先頭に0xをつけることで16進数であることをあらわしますが
2進数を扱いたい場合はどういった表記ルールがありますでしょうか。
FlashCS3のヘルプを見てもそれらしい記述が見当たりませんでした

初歩的な質問で申し訳ありませんがお教えいただけないでしょうか。
392Now_loading...774KB:2008/08/27(水) 12:55:56 ID:MK9Vk3wy
>>390
キャッシュみると別ファイルだから、スクリプトでリアルタイムに変化させずに
単にムービーに変換したのを流してるぽい

>>391
ないんじゃない?
AS3から8進数の0表記もなくなったって書いてるし。
393Now_loading...774KB:2008/08/27(水) 13:13:40 ID:g2p94euP
>>383
ブレンドの加算だと思うよ
394391:2008/08/27(水) 14:22:10 ID:nMjtOeRo
>>392
やはりないんですね。
チョット別の方法を模索してみます。
レスありがとうございました。
395Now_loading...774KB:2008/08/27(水) 17:09:54 ID:Z00E6Rmg
383です。
加算やブレンドで表現出来ました。
例のサイトの様なトランジションをつけて背景に読み込んだんですが、サイズをステージの大きさに合わせて可変させるようにすると、かなり処理が重くなって染まします。
AS2で書きました。

リサイズ処理
this.onResize = function() {
boxResize();
};
Stage.removeListener(this);
Stage.addListener(this);
function boxResize():Void{
var boxRate:Number = imgBox._height/imgBox._width;
enterBtn.posY = Math.floor(Stage.height-320);
enterBtn.posX = Math.floor(Stage.width-122);
imgBox._width = Stage.width;
imgBox._height = Stage.width*boxRate;
if(Stage.height>imgBox._height){
imgBox._height = Stage.height;
imgBox._width = Stage.height/boxRate;
}
};
imgBoxというのに作ったムービーを読み込んでます。
他のちょっとした動きのメニューなどがかなり重くなってしまいます。
396Now_loading...774KB:2008/08/28(木) 00:16:56 ID:HIPE1BF0
フラッシュでおまんこに肉棒がつきささるフラッシュをつくりたぃんですがどうしたらいぃんですか?
あふれ出すマン汁もリアルに表現したいです
397Now_loading...774KB:2008/08/28(木) 04:25:46 ID:rdqOZFTz
>>394
むしろ2進数表記しなくちゃいけない場面ってどんなの?
何がしたいかが分かれば違う解決法も普通に提示できるかもしれない

>>395
AS3に切り替えるってのはだめ?
少なくともAS2で同じ処理書くより断然速いよ
398394:2008/08/28(木) 10:37:29 ID:D4/u9BBw
>>397
AS3.0の学習を兼ねてゲーム的なものを作ってます。
やりたかったことは、キー入力に対応したキャラの移動処理の部分で
斜め移動(2キー以上同時入力)の検出に2進法をつかった以下のような
処理を考えてました。
var val:Number = 0;
if(右キー押下なら){
val += 0001;
}
if(上キー押下なら){
val += 0010;
}
(中略)
swith(val){
case 0001:
右移動処理
break;
case 0011:
右上移動処理
break;
(後略)
同様の処理は10進数でも可能だったので、現在はそのようにしております。
他にスマートな方法がありそうにも思えるのですが…。
399Now_loading...774KB:2008/08/28(木) 11:10:26 ID:sCtlFI1r
>>398
こんなのはどうでしょうか
参考程度にどうぞ

const up:int = 1;
const right:int = 1 << 1;
const left:int = 1 << 2;
const down:int = 1 << 3;

var val:int;

//例1:左下同時押し
val = left | down;

//例2:右キー単独押下
val = up;

//例3:上キー押下追加
val |= right;

switch(val)
{
  case right:
    //右移動処理
    break;
  case right | up:
    //右上移動処理
    break;
}
400Now_loading...774KB:2008/08/28(木) 11:11:05 ID:/ttrGSMI
if(右キー押下なら && 上キー押下なら){
上移動処理;
右移動処理;
}
じゃだめなん?
401399:2008/08/28(木) 11:11:48 ID:sCtlFI1r
すみません訂正

//例2:右キー単独押下
val = right; //upになってました

//例3:上キー押下追加
val |= up; //rightになってました
402Now_loading...774KB:2008/08/28(木) 11:48:23 ID:D4/u9BBw
>>400
レスありがとうございます。
その方法だと斜め移動時と上下左右移動時を比較したときに
1フレームあたりの移動距離が変わってしまう(斜め時の方が速くなる)のが
今作成中のものでは問題となるため、今回は採用できませんでした。

>>399
レスありがとうございます。
ビット演算については正直放置してたのですが、調べてみたところ
もともとの処理のイメージに近い記述が可能なようですね。
ビット演算の用法についてチョット学習をすすめていこうと思います。
403Now_loading...774KB:2008/08/28(木) 22:35:54 ID:rtj/VMTN
>>397
AS3は書けないんですよね。。。これを機に勉強するようにします。。。

404Now_loading...774KB:2008/08/29(金) 04:41:10 ID:XbYxuVwl
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

PCへの負荷で質問です。

ある処理を0.05秒毎にやりたいとき、その処理をフレームアクションで書いて20fpsと
する時と、setInterval()で50ms毎に行う場合とでは、どちらがPCの負荷として軽く
なるのでしょうか?

Flash開発用PCはCore2Duoの3GBなので多少の負荷には耐えられますが、そうで
ないPCの動作を考え、質問しました。
405Now_loading...774KB:2008/08/29(金) 07:49:41 ID:g253lIgq
>>404
負荷自体は変わらんが、ある処理が重い画面描画を伴うとかだと
当然fpsの数値が影響する
406Now_loading...774KB:2008/08/29(金) 14:16:15 ID:067/jyDZ
>>404
負荷がかかった場合を考えるなら、どちらが軽いかなんてどうでもいいことではなく、
実際に負荷がかかっても問題ない動きにするにはどうしたら良いかを考えた方がいいよ
想定する低スペックなPCがなくても、重い処理の代わりに適当な待機処理を時間を変えながら挟んで、
長くかかってもちゃんと動くかどうかシミュレートすればOK
407Now_loading...774KB:2008/08/29(金) 16:36:15 ID:ubRo66Sb
>>405-406
なるほど。さんきゅうです。
408Now_loading...774KB:2008/08/30(土) 01:12:05 ID:PuG3gNuJ
WindowsXPでFlash8-Proを使っています。

ランダムな値を監視して、それが基準値を超えたら音が鳴るようなASを書きたいの
ですが上手くいきません。下は基準値を80にして、Beep音を鳴らすようにしています。
(すいません、一応ASの全文を貼りました)

Sound0 = new Sound();
Sound0.attachSound("beep.wav");
//
this.onEnterFrame = function() {
volume0 = Math.random()*100; //0〜100の間のランダム値
//
if (volume0>80) {
trace("Sound0");
Sound0.setVolume(volume0); //音量はそのときのランダム値
Sound0.start();
}
};

どうしたら良いでしょうか?
beep.wavのリンケージは確認しています。
409Now_loading...774KB:2008/08/30(土) 01:34:34 ID:6t+3clUJ
>>408
やってみたけど上手くいったよ
410408:2008/08/30(土) 02:50:49 ID:PuG3gNuJ
>>409
レス有難うございます。

原因が分かりました。リンケージ確認が不十分でした。
AS上では Sound0.attachSound("beep.wav");  と書いていますが、
識別子の方に拡張子「.wav」を書いていませんでした。

411Now_loading...774KB:2008/08/30(土) 16:04:46 ID:alZNorf2
よくRPGの戦闘突入にガラスが割れた感じで戦闘に入るエフェクトがあると思いますが、あれをAS(SWF7)で再現することはできますか?検索の仕方が悪いのかいくら検索してもでません。分かる方がいればお願いします。
412Now_loading...774KB:2008/08/30(土) 20:50:33 ID:k46PNrWv
それはASの問題ではないと思いますが?
ゲーム製作技術等で聞いて下さい
413Now_loading...774KB:2008/08/30(土) 20:55:47 ID:alZNorf2
ASが分からないからこのスレで聞いているんですが・・
414Now_loading...774KB:2008/08/30(土) 20:57:37 ID:DBikczHq
>>412は頭悪杉

ゲームのエフェクトをFlashで
やりたいってことだろうよ
415Now_loading...774KB:2008/08/30(土) 21:36:48 ID:CPmq3bky
あんなエフェクト、AS使わなくても出来るじゃん
ASよりマスクを活かしたほうが楽だと思う
416Now_loading...774KB:2008/08/31(日) 01:36:36 ID:jDjmDkpi
アルゴリズムの問題だからそういうスレで聞いた方が早いだろ
>>415のいうようにASじゃなくてもできるし、どちらにしてもスレ違い
>>414は頭悪杉
417Now_loading...774KB:2008/08/31(日) 02:16:45 ID:z86i8kxI
マスクでどうやってやるんだ?
複数のMCが置いてある状態から
全体をガラスが割れる感じにするんだろ?
BitmapとMatrix使って、
計算速度を考えるとAS3でやるのが一番で
SWF7じゃBitmap使えないから無理だと個人的に思うのだが
418Now_loading...774KB:2008/08/31(日) 03:10:48 ID:kEwlxsqo
てかソフト自体のエフェクト機能にそういうのあった気がするぞ
419Now_loading...774KB:2008/08/31(日) 13:31:58 ID:oCTpVupL
良く分からんがパーティクル表現のこと?
検索が下手なのは、質問が下手ってのと同じだろうから、
語彙力身に着けるのが近道。
420Now_loading...774KB:2008/09/01(月) 00:10:48 ID:RNNFq7ev
リアルタイムでレンダリングしたものを
テクスチャにして飛ばすなら
Flash8でないと無理。

>>417
AS1でもAS3でもAPI内部の処理速度は同じだろ。
421Now_loading...774KB:2008/09/01(月) 02:08:16 ID:S42pfC23
>>420
AS1,2とAS3とではplayerのエンジンが違う
422Now_loading...774KB:2008/09/01(月) 08:44:11 ID:sqP7dL9d
質問です。
フルFlashサイトを作っているんですが
Flashファイルの1フレーム目にnoborderを記述し、htmlファイルには縦横100パーセントで設定しているんですが、自分のブラウザでみたらちゃんと縦横きれいに100パーセントで表示されてるんですが、他のブラウザで見たら大きく拡大して表示されてしまいます。
どなたかこの様な現像の解決方法をご存じないでしょうか?
宜しくお願い致します
423Now_loading...774KB:2008/09/02(火) 14:01:00 ID:P0oI6p2k
actionscriptのインクリメントで2ずつ増やす方法
424Now_loading...774KB:2008/09/02(火) 16:53:33 ID:ThoXrYs6
for(i=0;i<2;i++)n++;
425Now_loading...774KB:2008/09/02(火) 17:55:09 ID:INqlUf3c
>>422
Flashのバージョン
自分の使っているブラウザ名
うまく表示されない他のブラウザとはどれか
ちゃんと書こうね
426Now_loading...774KB:2008/09/02(火) 17:59:31 ID:P0oI6p2k
424どういう事ですか?nの値??
i=++i; ←こんな感じでお願いします。
427Now_loading...774KB:2008/09/02(火) 18:21:22 ID:ekR0fb/p
i += 2;
↑こうゆう事?
428Now_loading...774KB:2008/09/02(火) 23:09:14 ID:oiCr7SLs
427ありがとうそんな感じ( ^∀^)
429Now_loading...774KB:2008/09/03(水) 02:32:49 ID:GoFVdVhF
質問です。Flex 3 SDK+AS3でやっています。
public static const list:Object =
{
a:"xx",
b:"yy",
c:"zz"
};
これをa->b->cの順でfor文で走査したいです。
arr:Array = ["a", "b", "c"];という配列を作って、list[arr[i]]としたら出来るのですが、
この配列を定義するのが冗長な感じがします。
何か他のやり方があれば、ご教授いただきたいです。
よろしくお願いします。
430Now_loading...774KB:2008/09/03(水) 04:54:35 ID:Hu7fuEpR
>>429
キーの部分の順番付けが無いとどういう順番で表示するかわからんだろ
連想配列使うのなら冗長では無く必須
431Now_loading...774KB:2008/09/03(水) 08:46:21 ID:GoFVdVhF
>>430
そうでしたか・・・。お馬鹿な質問をしてしまってすいません
ありがとうございました
432Now_loading...774KB:2008/09/03(水) 10:42:24 ID:ciIfMOKQ
import flash.display.BitmapData;
var MainBmpData:BitmapData= new BitmapData(100,100);
var main:MovieClip = this.createEmptyMovieClip("MainMC", this.getNextHighestDepth());

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

433432:2008/09/03(水) 10:44:37 ID:ciIfMOKQ
すいません。書き忘れましたがAS2.0です。
434Now_loading...774KB:2008/09/03(水) 11:12:38 ID:Hu7fuEpR
>>432
何故といわれてもそのまま「タイプが一致しないから」と返すしかないだろw
引数の型をチェックするとか、traceしてちゃんと値が入ってるか調べるとか汁
435Now_loading...774KB:2008/09/03(水) 11:17:40 ID:QPp3ylWS
環境)OS:WinXP-Pro,Mem=2GB,ソフト:FlashCS3-Pro(Player9)

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

質問です。
この ENTER_FRAME のイベントを removeEventListener することって可能ですか?
436432:2008/09/03(水) 11:38:13 ID:ciIfMOKQ
>>434
trace(main);
//_level0.MainMC
trace(typeof(main));
//movieclip

とくに問題ないような気がするのですが
おれは何か勘違いしてるんでしょうか
437Now_loading...774KB:2008/09/03(水) 13:10:56 ID:YfC11098
>>435
つarguments.callee
438Now_loading...774KB:2008/09/03(水) 20:14:37 ID:QPp3ylWS
>>437

ありがとうございました。助かりました。
439Now_loading...774KB:2008/09/04(木) 20:34:32 ID:xNkMf3ka
AS3の文法について質問ですが、以下のようなスクリプトが例文で良く出てきます。

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

この関数名の次の引数「e:MouseEvent」について、その関数内で変数(e)を使っていないのに
ほぼ毎回必ず記述されていますが、これは文法上の決まりなんでしょうか?
これを書かないことで(使わないのに)、何か整合性が取れなくなるんでしょうか?
440Now_loading...774KB:2008/09/04(木) 20:38:57 ID:xNkMf3ka
あと、これはどうでも良いことなのかもしれませんが、変数の宣言でintとuintだけ
頭文字が小文字なのは何か理由(とか逸話)があるんでしょうか?
NumberとかBooleanとかStringとか全部頭文字が大文字なのにこの2つだけ小文字なのが気になります
441Now_loading...774KB:2008/09/04(木) 21:19:08 ID:2QekdjO0
軽く答えようと思ったけど、うまい説明が浮かばなかった
普通にAS3を使いこなしてるつもりでいたけど適当にやっていたようだ・・
442Now_loading...774KB:2008/09/04(木) 21:42:03 ID:Y9QIAA7S
ECMAScript 準拠でそうなってるんだよ


うん。適当に言ってみた
443Now_loading...774KB:2008/09/04(木) 21:48:47 ID:TWqANbo2
AS3.0がそういう設計だからっていうこと意外に説明できるかな

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

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

>>440
伝統的なものです。AS3に限らず大抵の言語が何らかの言語の影響を受けて作られています。
完全なオブジェクト指向でない言語ではintやuintはクラスではありませんでした。
現在でもこれらはプリミティブ型と呼ばれ、他の型とは振る舞いが異なる場合があります。
intやuintのように伝統的な理由で小文字となってる型は、他にvoidがあります。
voidはundefinedという値のみを持つ特殊な型ですが、これも由来は他言語です。
445439=440:2008/09/04(木) 23:28:48 ID:xNkMf3ka
レスくださった方ありがとうございます。
慣習や伝統的な意味合いが強いんですね。勉強になりました。
確かに使わなくても引数を書いておいた方が、その関数がどこから
呼ばれているのかを探すときにわかりやすいような気もします。
446Now_loading...774KB:2008/09/05(金) 00:46:40 ID:eL48yTkR
>>444
書かなくてもコンパイルは通った
でもイベント起きなくなった
447Now_loading...774KB:2008/09/05(金) 03:15:41 ID:emEZhJKX
いいオチだw
448Now_loading...774KB:2008/09/05(金) 03:22:36 ID:L+1/upAK
そりゃイベントディスパッチャに渡すeventがなければ
メッセージ走らんだろう。

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

>>448
この場合、関数定義での仮引数はあくまで仮引数であって、
EventDispatcherに渡すeventオブジェクトの実体作ってるわけじゃないですよ。
450Now_loading...774KB:2008/09/05(金) 06:15:43 ID:vaVogdaU
ついでに書けば>>444に書いてあるように引数のない関数を登録しても、
値はちゃんと渡されるのでargumentsを使えば普通にeventにアクセスできます。
・・・わりと一般的な知識だと思ってたので>>446見てちょっと焦ったw
451Now_loading...774KB:2008/09/05(金) 11:11:36 ID:eL48yTkR
>>446
なんか書き方悪いのかな・・・?俺も動きそうな気はするんだけど
これではイベント起こらない。e:MouseEventって書いたら起きる
ちなみにFlex SDK 3.1 AS3.0

public class Main extends Sprite
{
public function Main():void
{
var sp:Sprite = new Sprite();
sp.graphics.beginFill(0xaaaaaa);
sp.graphics.drawRect(100, 100, 200, 200);
sp.graphics.endFill();
sp.addEventListener(MouseEvent.CLICK, spClickHandler);
addChild(sp);
}
private function spClickHandler():void
{
FlashConnect.trace("mouseclick");
}
}
452Now_loading...774KB:2008/09/05(金) 12:00:01 ID:q/gLz4Ls
as1での質問です。
変数を含むムービークリップのフレーム数を取得したり
指定したフレームへジャンプさせたりしたいんですが

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

こういった書き方では出来ないんでしょうか?
初歩的な質問で申し訳ないですが、どういう事を
勉強すればいいかなどでも教えていただければと思います。
今まではthisを使っていたんですがflashlite1.1用なので
使えないみたいで…よろしくおねがいします。
453452:2008/09/05(金) 12:52:47 ID:q/gLz4Ls
452の質問をした者です。
もしかして、flash4の段階では
telltargetのターゲットに変数を入れることは出来ないんでしょうか…。
454Now_loading...774KB:2008/09/05(金) 15:07:56 ID:Sp68lRAI
FlexBuilder3でFlex3での質問です。

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

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

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

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

FlashLiteはよく知らんけど、試したところ一応これで動いた
456Now_loading...774KB:2008/09/05(金) 16:25:57 ID:0c6OXxbY
>>454
よくわからんけど単純にparentでは駄目なの?
親の方でaddChildしてからじゃないとnullだけど。
457Now_loading...774KB:2008/09/05(金) 17:19:00 ID:hym4ZNm2

親の表示リストに含まれている場合は
" 子オブジェクト.parent "で親オブジェクトが呼ばれるはずだけどね
458Now_loading...774KB:2008/09/05(金) 17:32:07 ID:Sp68lRAI
>>456,457
返答ありがとうございます。

parentでもだめなんですが、何か根本的な勘違いをしていそうな気がしています。
もう少し調べてみます。
ありがとうございました。
459Now_loading...774KB:2008/09/05(金) 18:00:24 ID:vaVogdaU
>>451
それがダメなのは登録しているのが関数ではなくクラスに所属するメソッドだからです。
ただの関数として宣言したものや、無名関数は引数がなくてもイベントが起きます。
Functionクラスにも書いてありますが、メソッドと関数は厳密には別物です。
460454,458:2008/09/05(金) 19:02:33 ID:Sp68lRAI
自己解決しました。

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

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

ありがとうございました。
461Now_loading...774KB:2008/09/05(金) 21:37:53 ID:JJ6BJ8bT
Math.min(64, a << 1 )

の << はどういう意味ですか?
462Now_loading...774KB:2008/09/05(金) 21:44:02 ID:Sp68lRAI
aを1ビット、レフトシフトしたものと、64とを比べて小さい方を返す
463Now_loading...774KB:2008/09/05(金) 21:47:04 ID:Sp68lRAI
うう、ごめん。<<だけでいいのか。

<<は左側にビットシフトする。
普通は倍になるけど、32ビットからあふれたビットがどうなるかは知らん
464Now_loading...774KB:2008/09/05(金) 22:10:53 ID:eL48yTkR
>>459
動きました。ありがとうございます
理由がいまいち分からないので勉強してきます
465Now_loading...774KB:2008/09/05(金) 23:20:54 ID:db5vsGq7
キャリーフラグが立つ
466Now_loading...774KB:2008/09/05(金) 23:33:19 ID:JJ6BJ8bT
>>463
俺の入っちゃいけない領域だってことは分かったw
Tks
467Now_loading...774KB:2008/09/07(日) 23:01:08 ID:xVVDcg5n
携帯ゲームやデコメアニメが作りたいんですが、
何かお勧めの本ってありませんか?
468bgcolor:2008/09/08(月) 01:31:50 ID:/E5TQ3To
こんばんは、質問です。
ActionScriptでHTMLの背景色を変更したいと思っています。
外部のJavaScriptファイルをGetURLで
読み込んでくるところまで解り、
試したのですがうまくいきません。
JavaScriptファイルの記述の仕方は下記で合ってますでしょうか?
(すごく短いので絶対足らないと思いますが・・・)
ちなみに、FlashMX、WINDOWS XPです。
すみませんが、お教えください。

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

}

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

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

これで出来ませんかね
470bgcolor:2008/09/08(月) 13:19:20 ID:UGN1o8eb
>>469さま
ありがとうございます!できました!!
ここ何日か、本やネットを探しまくってましたが、やっと解決できました。
それで、情報が錯綜して勝手に外部のjavascriptファイル.jsファイルを
作ると思い込んでいました。ありがとうございました!
471Now_loading...774KB:2008/09/08(月) 16:55:48 ID:1nbwiOuH
ずっと引っかかってる事があるんですけど

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

これと

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

これは同じですか?
使い分けとかありますか・・・?
472Now_loading...774KB:2008/09/08(月) 19:04:13 ID:MKRMzHnB
>>471
内部実装がどうなってるか分からないから確実なことは言えないけど、
普通に考えたらpushの方が実行速度は速いと思う
添字アクセスの場合、iがlengthの範囲内かチェックする処理が入った後に領域の拡張が行われると思うけど、
pushであれば範囲チェック無しで拡張が行えるわけだし
ただ、配列の長さがわかってるならnew Array(100)とした後に添字アクセスした方がより良い書き方だと思う
pushは数がわからないような場合に使えばいいんじゃないかな
473Now_loading...774KB:2008/09/08(月) 21:20:10 ID:rwcJevZ1
そりゃ他言語の知識だろ
474Now_loading...774KB:2008/09/08(月) 22:00:53 ID:o/QDWrOl
>>473
うそつけ
475Now_loading...774KB:2008/09/08(月) 22:59:37 ID:VB6m8COM
ASの配列なんてObjectのhashを再利用してるだけだし。
476Now_loading...774KB:2008/09/08(月) 23:23:02 ID:rwcJevZ1
その通り。領域なんて考えねーし。lengthなんてチェックしねーし。
クラステーブルにアクセスしない分速いし。
つーか速い遅いで論じてる時点でおかしな話だ。
477Now_loading...774KB:2008/09/09(火) 00:13:14 ID:FxLxuCwE
クリックした時に変化(A→B)するボタンを
マウスを離してからも、Bのままでいるには、どうすりゃいいんですか?
478Now_loading...774KB:2008/09/09(火) 00:36:20 ID:q5dEo94n
マウスボタンを押したまま、その領域を離れた場合ってことか?
479471:2008/09/09(火) 00:46:33 ID:95Ww71Pl
>>472
Tks. パフォーマンステスト検証してみます。
480Now_loading...774KB:2008/09/09(火) 00:55:53 ID:hSXn0beI
>>476
>配列エレメントに値を割り当てるとき (my_array[index] = value など)、index が数値でかつ index+1 が
>length プロパティよりも大きい場合、length プロパティが index+1 に更新されます。
って書いてあるよ
あなたが公式ドキュメントより正確な知識を有してるというなら、その通りかもしれないけど

>>479
気になったから今ソース見たけどやっぱりlengthチェックして拡張処理やってた
しかも添字アクセスがネイティブ(C++)で実装されてるのに対して、
pushは実装がASレベルでされてたから、直接アクセスの方が実は速いかも
ソースはtamarin
481Now_loading...774KB:2008/09/09(火) 01:13:19 ID:Omu1X1w5
ああ、そうか。lengthプロパティの値をチェックしなきゃならんのね。
それは配列っ「ぽく」見せるためのASの独特の処理。拡張してるわけじゃない。
もっと言えばASのArrayにとって添え字の1は文字列の「1」と対して変わらん
>>475が全て

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

arr = [0,1,2]
arr[10]=1;
trace(arr.length);//11
for (o in arr)trace("hoge"); //4回表示
482Now_loading...774KB:2008/09/09(火) 01:28:13 ID:hSXn0beI
>>481
たぶんそれは今まで信じられてきた噂ってだけじゃないかな?
もしくは昔のバージョンがそうだったか。
現在のArrayの内部実装はObjectで使われるものとは別に、
数値インデックス専用のm_denseArrというプライベート配列を別に持ってて、
添え字が0以上の場合は恐らく高速化のためにそっちを使ってるみたい
ま、自分も今ソース見て初めて知ったけどw
483Now_loading...774KB:2008/09/09(火) 01:31:34 ID:hSXn0beI
ああ、ちなみに高速化されるのは>>471みたいな場合ね
>>481みたいにインデックスが飛ぶ場合とかマイナスの場合は従来通り
484Now_loading...774KB:2008/09/09(火) 02:14:00 ID:Omu1X1w5
>>482
お、そうなの?
プリミティブと一緒に頑張ってくれてたのか
そりゃ朗報だわ

ちなみに信じられてる噂じゃなくて、思いっきりリファレンスにObjectを継承してる事書いてあるからw
485Now_loading...774KB:2008/09/09(火) 02:36:54 ID:Ty7wfbmp
継承してる=動作が同じ、じゃないぞ?
そんなんじゃオブジェクト指向の意味ないじゃん
継承先で動作が変わってるなんてよくあること
ましてやこの場合C++で書かれてる部分じゃ形式上の継承とか関係ないし
486Now_loading...774KB:2008/09/09(火) 12:38:53 ID:hgoyihFv
Arrayで盛り上がってますな

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

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

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

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

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

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

暇な人は上から順にtraceの出力がどうなるか当ててくれ
487Now_loading...774KB:2008/09/09(火) 14:13:22 ID:bLVyBvDv
自分でやれよw
488Now_loading...774KB:2008/09/09(火) 18:15:47 ID:zUyIkZud
>>486
マイナスのインデックスで高速化が働かないことは>>483に書いてあるけど、
他にMAX_INTEGER_MASK(0xF0000000)と論理積とって引っかかるものも除外される
つまりこれらは添え字に文字列を指定したのと同じような効果になる
lengthはこれら文字列インデックスの数と>>482にあるm_denseArr.lengthの合計値が返される
こんな回答でいい?
489Now_loading...774KB:2008/09/09(火) 19:13:48 ID:YFM1Sy0D
変数の_btnNameにbtn00, btn01・・・と連番ボタン名を入れていって、
それらのbuttonModeをtrueにしてやりたいだけなのですが、
_btnName.buttonModeとすると、
_btnNameという変数自体が、プロパティ名と解釈されてしまい、
btn00.buttonMode = true;
のように出来ない状態です。

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

for(var i:uint=0; i < 6; i++){
var _btnName:String = ("btn0" + i) as String ;
_btnName.buttonMode = true;
}
490Now_loading...774KB:2008/09/09(火) 19:25:29 ID:zUyIkZud
this["btn0"+i].buttonMode = true;
491486:2008/09/09(火) 19:54:26 ID:hgoyihFv
>>487
質問ではなく、個人的に意外な結果になったので聞いてみただけっす。すんません。

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

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

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

>>488
> lengthはこれら文字列インデックスの数と>>482にあるm_denseArr.lengthの合計値が返される
上記だとarray[-1]してもlengthが増えないので、文字列インデックスとして使われる部分はカウントされないのでは?
492Now_loading...774KB:2008/09/09(火) 20:10:25 ID:zUyIkZud
>>491
lengthの実装がreturn m_denseArr.getLength()ではなくreturn m_lengthだったから、
その辺も足したものになってると勝手に勘違いしてた
ハッシュ周りは上位のScriptObjectクラスに丸投げしてArrayObjectクラスでは触ってないね
0xffffffffが使えない理由は、↓のようにコメントで書いてあった
// We can NOT use 0xFFFFFFFF for this since x[0xFFFFFFFE] is a valid prop
// which would make our length 0xFFFFFFFF
493Now_loading...774KB:2008/09/09(火) 21:18:03 ID:E9N+ZKV7
すみません、いろいろググってみたのですが、方法がわからなかったので教えてください。

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

例えば、3、136、369フレームのどれか一個に飛ぶ、という具合です。
教えていただければ幸いです
494Now_loading...774KB:2008/09/09(火) 21:28:27 ID:FxLxuCwE
>>478
すみません。質問に補足させていただきます。
例えば「押すとAからBに変わる」というボタンを作ります。
そのボタンを押している間は”B”になっているのですが、
離すとまたAに戻ってしまいます。
一度クリックすると、変化したままでいるスクリプトを教えてください。
495Now_loading...774KB:2008/09/09(火) 22:52:12 ID:YFM1Sy0D
489です。
>>490
動きませんでした。
この[]という表記方法は何なのでしょうか。

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

for(var i:uint=0; i < 6; i++){
var _btnName:String = ("btn0" + i) as String ;
_btnSet._btnName.buttonMode = true;
}
496Now_loading...774KB:2008/09/09(火) 22:53:48 ID:u4lZQ3fW
flvファイルのプログレッシブダウンロードが時々途中で止まってしまう事があるのですが、
どのような対処が考えられますでしょうか?
AS2です。
497Now_loading...774KB:2008/09/09(火) 22:54:37 ID:YFM1Sy0D
489です。
補足です。

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

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

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

for(var i:uint=0; i < 6; i++){
_btnSet["btn0"+i].buttonMode = true;
}
500Now_loading...774KB:2008/09/09(火) 23:46:24 ID:q5dEo94n
>>494
Flex3+AS3の俺がアドバイスできるのは
SimpleButtonクラスとかButtonクラスを使えば出来る、と言うことぐらいだ
501Now_loading...774KB:2008/09/10(水) 00:26:21 ID:uaunU19J
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

getRGB()で質問です。

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

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

と書いたところ、 Color= undefined, undefined の表示になりました。
問題点はどこでしょうか?
502Now_loading...774KB:2008/09/10(水) 00:36:16 ID:f39TfBvC
>>493
var array:Array = new Array(3, 136, 369);
var rndFr:uint = array[Math.floor(Math.random()*3)];
trace(rndFr);
503Now_loading...774KB:2008/09/10(水) 01:31:04 ID:xMzCU6+I
>>495
>この[]という表記方法は何なのでしょうか。
配列アクセス

>>496
止まってしまう原因を解明する
504Now_loading...774KB:2008/09/10(水) 01:38:44 ID:xMzCU6+I
>>501
原因はMovieClipクラスにgetRGBってメソッドがないから。
getRGBがあるのはColorクラス。

だけどgetRGBで取得できるのは
最後のsetRGB() 呼び出しで設定されたRGB値だけだから、
一度setRGBで設定しないと取得できないと思う
505493:2008/09/10(水) 01:46:39 ID:7T/b55CI
>>502
御早いご返答ありがとうございます。
しかし、私はCS3は使っていますが、AS2.0の設定にして制作しておりますので、unitがエラーで表示されてしまいました。
AS3.0の設定にして、もう一度パブリッシュをすると、今度は
「警告 : ActionScript 3.0 では、ボタンインスタンスまたは MovieClip インスタンスのアクションはサポートされていません。オブジェクトインスタンスのすべてのスクリプトは無視されます。」
と表示されてしまいました。

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

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


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

on (press) {

var array:Array = new Array(3, 136, 369);
var rndFr:Number = array[Math.floor(Math.random()*3)];
gotoAndPlay(rndFr);
}
507Now_loading...774KB:2008/09/10(水) 02:32:19 ID:uaunU19J
>>504
さんきゅう
508Now_loading...774KB:2008/09/10(水) 10:54:42 ID:qB/ZNCv0
489、495,497,です。
>>499
>>503
_btnSet["btn0"+i].buttonMode = true;では駄目でした。
配列アクセスを使用したときのプロパティとして当たらないということでしょうか。

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

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

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

が駄目で、、、

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

も駄目でした・・・。いずれも同様のエラー、「条件は未定義であり、プロパティがありません」お助けください
509Now_loading...774KB:2008/09/10(水) 11:08:09 ID:KqdSTiA8
>>508
とりあえずこうしたらダメでしたが延々続くだろw
AS3.0の本一冊読むか、ヘルプ一通り見るかしてから来い
オブジェクト指向なAS3.0は付け焼き刃じゃ何も出来ないよ
510Now_loading...774KB:2008/09/10(水) 11:15:06 ID:6r2RrxdQ
AS3.0なの?
_btnSet.btn00.buttonMode = true;
だったら意図したように動くの?
511Now_loading...774KB:2008/09/10(水) 11:47:46 ID:qB/ZNCv0
>>509
すみません、いけました!
指摘の内容、仰るとおりです。本は読んでいますが、理解がまだ追いついていません。

>>510
勘違いでした。エラーは次の行で起きていたようで、
ここのループはばっちり配列アクセスで設定できました。
大変失礼しました。ありがとうございます。
512Now_loading...774KB:2008/09/10(水) 14:29:08 ID:raTDs9XY
AS3.0にて外部から読み込んだテキストを使ってリンクを貼りたいのですが、どうしたらいいでしょうか?
513Now_loading...774KB:2008/09/10(水) 14:37:16 ID:raTDs9XY
補足
読み込むテキストは下記のようにテキストファイルにひとつにまとめるようにして。。。
date.txt

url0=http://www.google.co.jp/&url1=http://www.yahoo.co.jp/&url2=http://www.live.com/&url3=http://ask.jp/&
514Now_loading...774KB:2008/09/10(水) 17:19:27 ID:lqrF0YFV
>>513
private function loadCompleteHandler(e:Event):void
{
var loader:URLLoader = URLLoader(e.target);
var vars:URLVariables = new URLVariables(loader.data);

var tf:TextField = new TextField();
tf.htmlText = "<a href=\"" + vars.url0 + "\" target=\"_blank\">link</a>";
this.addChild(tf);
}
515Now_loading...774KB:2008/09/10(水) 17:47:03 ID:raTDs9XY
>>514
ありがとうございます。

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

申し訳ございません。
516Now_loading...774KB:2008/09/10(水) 18:42:44 ID:f39TfBvC
>>514を見てふと思い出したけど、波カッコ“{”を改行するコーディングスタイルを
よく見かけるようになったんだけど、何か理由があるのかな?
AS3のIDEであるFlashDevelopも途中のバージョンから改行するスタイルに変わってて、
違和感を感じたんだけど、元々あるものか、最近どこかで提唱されたとか、知ってる人
いたら教えてほすぃ
517516:2008/09/10(水) 18:55:25 ID:f39TfBvC
> AS3のIDEであるFlashDevelopも途中のバージョンから改行するスタイルに変わってて

これだとちょっと誤解を与えちゃうか。波カッコを改行するかしないかは設定で変えられるんだけど、
デフォルトの設定が改行しないスタイルから改行するスタイルに途中で変わった、ということです。
518Now_loading...774KB:2008/09/10(水) 19:06:36 ID:McByLcsR
Flexのコーディング規約がそうなっているから。

http://blog.dclick.com.br/2007/02/13/adobe_flex_coding_guidelines_english/pt/
519Now_loading...774KB:2008/09/10(水) 19:14:22 ID:f39TfBvC
>>518
あーそうなんだ、情報ありがとう。もっと大きな流れか何かかと思ったけど、AS内だけの決まり事なんだね
520Now_loading...774KB:2008/09/10(水) 19:20:50 ID:DYCDIn9X
言語の開発元が提唱した規約は十分大きな流れだと思うが
521Now_loading...774KB:2008/09/10(水) 19:29:35 ID:Li8Y4T1n
スコープでブレースを使う多くの言語の中で、改行を推奨する言語なんてAS以外にあるっけ?
522223.4.100.220.dy.bbexcite.jp :2008/09/10(水) 19:48:16 ID:uNHkqmF5
最近の Microsoft の規約は大体そうでしょ
何故そこだけ Sun Java 的にならなかったのか謎だけど
523Now_loading...774KB:2008/09/10(水) 19:51:14 ID:f39TfBvC
>>520
あーそんな深い意味で言った訳じゃ無いんだけど、>>521が言うようなプログラミング業界(?)全体的な意味でw
この改行すんごい違和感あるんだけど、改行するメリットって見やすさかしら
524Now_loading...774KB:2008/09/10(水) 20:03:15 ID:AJTMLu9R
なんだろね?ブロックを把握しやすくするとかかね?
525Now_loading...774KB:2008/09/10(水) 20:09:56 ID:e6nacen+
慣れなんだろうけど、昔からこの書き方違和感あって読み辛いし馴染めなかったなあ
526Now_loading...774KB:2008/09/10(水) 20:48:37 ID:McByLcsR
改行を好む人と好まない人がいるよね。

for (var i = 0; i < 10; i++) {

// comments
trace(i);
}

こう書く人と

for (var i = 0; i < 10; i++) {
// comments
trace(i);
}

こう書く人がいるのね。規約に従うと万人がこうなって、
コミット時に精神衛生上よろしくなりました。

for (var i = 0; i < 10; i++)
{
// comments
trace(i);
}

527Now_loading...774KB:2008/09/10(水) 21:02:16 ID:f39TfBvC
>>526
おぉ〜かなり納得できる理由だっ! ちょっと規約に従う気になれました。
528Now_loading...774KB:2008/09/10(水) 22:23:28 ID:lqrF0YFV
>>515
TextFieldの画像表示でハマッてました・・・
解決したけど、画像なら素直にnavigateToURLの方がいいかな?

private var url:String;

private function imageClickHandler(e:MouseEvent):void
{
if (url != null)
{
var request:URLRequest = new URLRequest(url);
navigateToURL(request, "_blank");
}
}

private function urlLoadCompleteHandler(e:Event):void
{
FlashConnect.trace("urlLoadComp");
var loader:URLLoader = URLLoader(e.target);
var vars:URLVariables = new URLVariables(loader.data);
url = vars.url0;
}
529Now_loading...774KB:2008/09/11(木) 01:03:47 ID:r5skrcaQ
AS3で、MovieClipやSpriteのオブジェクトの「中心点」を操作できるプロパティってありますか?
Livedocで調べたりしてみたんですがそれっぽいのが見つかりませんでした
今は以下のように中心を計算して操作してるんですが、書いてたらそれ用のプロパティがあるような気がしてきて・・・

var xx:Number = stage.stageWidth / 2;
var yy:Number = stage.stageHeight / 2;
var mm:MovieClip = new MovieClip();
mm.x = xx - (mm.width / 2);
mm.y = yy - (mm.height / 2);
addChild(mm);
530Now_loading...774KB:2008/09/11(木) 06:29:16 ID:13AYJM+Q
画像を外部から読み込んでいるフラッシュがあるのですが、
特定の日付以降になると、その日付のファイル名の画像ととりかえたいのです。
531530:2008/09/11(木) 06:39:58 ID:13AYJM+Q
途中送信してしまった…
たとえば、8月12日までは main.loadMovie(image/0711.png)
8月13日になったら main.loadMovie(image/0813.png)にきりかわるようにしたいのです。

月と日付を取得してそれを以下ので4桁にして、
today = ("0"+mm).substr(0, 2)+("0"+dd).substr(0, 2);

0123,0222,0309 …と、必要な分の日付を,で区切ったテキストファイルを読み込み,で分割、
todayよりその数字が大きくなったら、その部分を取り替えて新しい日付の画像を読み込ませたいのですが、if文がよくわからなくなってしまいました。
お手数おかけしますが、よろしければご教授ください。
532Now_loading...774KB:2008/09/11(木) 07:21:27 ID:tcBQ2exE
>>531
日付の比較はDate自体ですればいんじゃないかな
var targetDate:Date = new Date(2008,9-1,12);
var today:Date = new Date();
trace(targetDate < today);
533Now_loading...774KB:2008/09/11(木) 07:24:23 ID:tcBQ2exE
あ、こっちだなw
trace(targetDate.getTime( )<today.getTime());
534Now_loading...774KB:2008/09/11(木) 15:26:55 ID:eKrSoIzd
>>531
あなたの書いた文だとよくわからんところがあるが

>0123,0222,0309 …と、必要な分の日付を,で区切ったテキストファイルを読み込み,で分割、
この0123とか0222は、それぞれ1月23日、2月22日ってことかな?
で、今日が1月30日だとすると、0123.pngを表示したいってことだよね?
ま、そうだと仮定すると、こんな感じかなぁ

var dtArr:Array = [ "0123", "0222", "0309", ...];
var today:Date = new Date;
var result:String = "";
for each( var dtStr:String in dtArr ) {
    var showDate:Date = DateField.stringToDate( dtStr, "MMDD" );
    if ( showDate.getTime() < today.getTime() ) {
        result = dtStr;
    } else {
        break;
    }
}
trace ( "result:" + result );
535Now_loading...774KB:2008/09/11(木) 15:46:35 ID:eKrSoIzd
ちゃんと実行してみたら、まちがってた・・・・。
正しくは

var today:Date = new Date;
var result:String = "";
var fm:DateFormatter = new DateFormatter();
fm.formatString = "YY";
for each( var dtStr:String in dtArr ) {
    var showDate:Date = DateField.stringToDate( fm.format(today)+dtStr, "YYMMDD" );
    trace( fm.format( showDate ) + " " + fm.format( today ) );
    if ( showDate.getTime() < today.getTime() ) {
        result = dtStr;
    } else {
        break;
    }
}
536Now_loading...774KB:2008/09/11(木) 18:23:58 ID:vCS/oIpm
初歩的な質問ですが、下のような記述はやってもいいのでしょうか

if(A && B || C)
{

}

これだと、条件が「AかつB、または、C」なのか「A、かつ、BまたはC」なのか定まらない気がします…。説明が下手ですいません。
ちなみにAS1.0です。
537Now_loading...774KB:2008/09/11(木) 18:40:15 ID:Bo2l1Y+f
>>536
定まらないってことはないです。
それだけの事をなぜ試してみないのでしょうか。
また、なんでそれをやりたいのか理解に苦しみます。
538Now_loading...774KB:2008/09/11(木) 19:08:32 ID:5JiCGQfN
>>536
普通のプログラミング言語なら,演算子には
優先順位と(同一順位での)実行順序が決められています。
必ず結果は一意に定まります。
539Now_loading...774KB:2008/09/11(木) 19:09:05 ID:ucNAtdoc
>>536
演算子には優先順位や結合性といった規則があります。
これは、異なる演算子が同時に表記されたときに、どのような順番で実行されるのかを決めるものです。
例えば 5 + 3 * 6 という式ではまず 3 * 6 を実行しますよね?
これは+よりも*の方が優先順位が高いからなのです。

この優先順位は全ての演算子に決められていて、&&と||の場合は&&の方が優先順位が高いことになっています。
(詳しくはリファレンスを読めば載ってる・・・・はず)

よって A && B || C と書いた場合は必ずA&&Bが先に評価され、
> AかつB、または、C
となります。

というわけでそのような記述はして構いません。
ただ、慣れないうちは括弧をつけた方がわかりやすいかもしれませんね。
Ex. if( (A && B) || C )
540Now_loading...774KB:2008/09/11(木) 20:37:29 ID:Xp0IiQNA
AS3の質問です。

ドキュメントクラスので宣言したオブジェクトに
メインのタイムラインからならアクセスできると思うんですけど
メインタイムラインにインスタンス名をつけて設置したムービークリップからは
どうやってアクセスするんですか?

そのムービークリップの1フレーム目にキーフレームをセットして
アクションにroot.hoge.func();ってやってもアクセスできないです。

rootってドキュメントクラスとは違うんですか?
541Now_loading...774KB:2008/09/11(木) 22:10:18 ID:DWF+Q7IN
AS3で質問です。
あるswfファイルから他所のswfファイルを呼び出すとき

test.swf?param=abc

みたいに、GETパラメータみたいにデータを渡す事って可能ですか?
それとも もっと良い方があるのでしょうか?
542536:2008/09/11(木) 22:38:08 ID:vCS/oIpm
>>537
確かに、試せば済む事でした。すいませんでした。

>>538 >>539
なるほど、優先順位という物があるんですね。分かりやすく説明していただきありがとうございます。
543540:2008/09/12(金) 00:27:12 ID:K/AgP6Fb
すみませんスルーしてください。
rootはドキュメントクラスでした。
544Now_loading...774KB:2008/09/12(金) 01:30:03 ID:Gp7WZnSK
>>541
可能です。
LoaderInfo.parameters
あたりでググってみてください。
545Now_loading...774KB:2008/09/12(金) 06:22:50 ID:44hRgaAX
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

Matrixクラスで質問です。

インスタンスを傾斜を加えながら回転させるため、Matrixクラスの変換機能を使う
ことにしました。
ここで参考にしたサイトは、ttp://www.flashiroha.com/script/matrix/as68.html
なのですが、Flash8-Proのヘルプと照らし合わせたところ不明な点が浮かんだの
で質問することにしました。

サイト中に var myMatrix:Matrix = new Matrix(a, b, 0, 1, 200, 200); という記述
があります。一方ヘルプでは、傾斜用のマトリックスの要素と、コンストラクタが

 0 SKy 0
 SKx 0 0
 0  0  1

 Matrix([a:Number], [b:Number], [c:Number], [d:Number], [tx:Number], [ty:Number])

になっており、a → 0, b → SKy, c → SKx, d → 0 (平行移動は省略)になる筈で
すが、サイトのMatrix(〜)定義と異なっています(例:0になるべきaの値がサイトでは
「var a」で定義されている)。

※SKx,yはx,y軸方向にスライドする量です

自作のMCでもサイトのASで目的の動作は出来ましたが、何故この記述で可能なの
でしょうか?
546Now_loading...774KB:2008/09/12(金) 08:26:21 ID:3Moz3j0n
Flashデザインラボ -プロに学ぶ、一生枯れない永久不滅テクニック
http://www.sbcr.jp/books/products/detail.asp?sku=4797348521

この本買ってただいまAS3を勉強中なんですが
AS2と3のサンプルが混在してます。AS3に作り直したいんですが
AS2→3変換するのに参考になるようなサイトありますか?

3をマスターしてからやればいいんだけど、ちょっと急いでまして・・・
547Now_loading...774KB:2008/09/12(金) 11:36:01 ID:A7U1lIF/
>>546
急いでるならプロに頼めばいんじゃね
548Now_loading...774KB:2008/09/12(金) 14:37:55 ID:tSCrohbh
それ捨ててAS3の本を買えばいい
549Now_loading...774KB:2008/09/12(金) 15:00:28 ID:QUgAVx+L
>>545
ASの話じゃなくて行列計算の話じゃん
数学板でも行くか数学の入門書でも買って読めばいいよ
550Now_loading...774KB:2008/09/12(金) 17:29:24 ID:eTsVjFLg
ボタンアクションで全く同じ処理で押すボタンだけを複数したいのですが良い方法が思いつきません。

例えば上キーか下キーを押したとき同じ処理をする場合
on(keyPress"<Up>") {
 //長ーい記述
}
on(keyPress"<Down>") {
 //上と同じ記述
}
上のやり方しか思いつきません。記述が長いのでできれば一つにまとめたいのですが……。分かる方がいましたらお願いします。SWF7です。
551Now_loading...774KB:2008/09/12(金) 18:24:43 ID:MhCs3KCg
>>550
一言で言うと

functionを使うべし
552545:2008/09/12(金) 21:37:48 ID:Pm1dpESb
>>549
すみません、紙上で演算しても、本(行列・ベクトルの本)
を読んでも分かりません。

解説をお願いします。
553Now_loading...774KB:2008/09/12(金) 22:18:10 ID:jBiyDvgh
>>545
いまちょっと確認できないけど、ヘルプはバージョンによって行列の記述が間違ってるから、
結果から正しい定義を見出したほうが良いよ。
554Now_loading...774KB:2008/09/12(金) 22:31:46 ID:QUgAVx+L
>>552
サイトに書いてあるのは回転と傾斜をするためのパラメータ
あなたが引っ張ってきたのは傾斜だけのパラメータ
違ってて当たり前なんだけど、紙上で演算しても気づかなかったの?
本当に計算できるなら気付いて当たり前だから、入門書読んだら?と勧めたんだけど
Matrixクラスの使い方ならともかく、その動作原理なんてスレ違いもいいとこだし
555Now_loading...774KB:2008/09/13(土) 02:08:58 ID:vGrTszC3
>>550
function

ルートのフレーム1にでも書いておく↓

function botandetukau() {
//長ーい記述
}

これで botandetukau() というアクションがセットされたことになるので、使いたい場合は

on(keyPress"<Up>") {
botandetukau();
}
とか

on(keyPress"<Down>") {
_root.botandetukau();
}

などで最初に定義したのと全く同じ処理をたった一行の命令でさせられます。
functionの使い方の詳細はググれ。
556545:2008/09/13(土) 06:36:47 ID:qsfxqZIr
>>553-554
さんきゅうです。

「回転と傾斜をするためのパラメータ 」
ああそうか、回転作用を見落としていた。
557Now_loading...774KB:2008/09/13(土) 06:50:33 ID:89RRUaTA
理系の大学入れば1年の最初で線形代数習うよ
558Now_loading...774KB:2008/09/13(土) 11:29:05 ID:8H2ps9gO
>>523
1行目をコメントアウトするだけでスコープになるからデバッグしやすい。
559Now_loading...774KB:2008/09/13(土) 11:41:08 ID:8H2ps9gO
>>556
行列の3*3それぞれのパラメータの意味分かってる?
とりあえず、aとbだけマウスの座標にあわせてグリグリ動かしてみな。
560Now_loading...774KB:2008/09/13(土) 14:10:43 ID:RB9oiSHO
すみません教えてください!
tmpArrayという配列に、10個のMovieClipを格納しました。
その中でvisible=trueのものを1つだけx=100にしたいのですが、

for each (var m:MovieClip in tmpArray) {
 if (m.visible) {
  m.x = 100;
  break;
 }
}

と書いたのですが、一件も処理されません。
ちなみにbreakを外すと、全部のMovieClipがx=0になります。

どこがおかしいのでしょうか!?
561Now_loading...774KB:2008/09/13(土) 16:58:06 ID:FYlNsvuR
>>551
>>555
遅レスになりましたが初心者級の質問に答えてもらいありがとうございました!そんな便利な関数?(関数を作る関数ってことですかね)があったんですね。おかげさまでできました!
562Now_loading...774KB:2008/09/13(土) 18:42:24 ID:Awdzv9Mo
>>560
どこにもxに0を代入する文がないのに
全部0になるの?
563Now_loading...774KB:2008/09/13(土) 18:48:06 ID:yuty1s/G
>>560
>ちなみにbreakを外すと、全部のMovieClipがx=0になります
デフォが0じゃないのに0になるってこと?
俺のエスパー能力は他の場所に問題があるってよ
564Now_loading...774KB:2008/09/13(土) 19:24:07 ID:RB9oiSHO
>>562
>>563
すいません、「全部x=100になる」の間違いです!!!!
565Now_loading...774KB:2008/09/13(土) 19:43:33 ID:yuty1s/G
>>560
書き方に問題はないっぽい。
tmpArrayの一つ目が処理されてることに>>560が気づいてないんじゃないかな。
breakの前にtrace入れるとかして確かめてみたら?
566Now_loading...774KB:2008/09/13(土) 20:16:47 ID:p6C70/Cx
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/

↑の検索ボックスからの検索って正常に行えます?
567Now_loading...774KB:2008/09/14(日) 01:17:49 ID:SmmHzNmF
稀に検索できることがある
568Now_loading...774KB:2008/09/14(日) 13:37:20 ID:bkvVbWVJ
AS3のコンポーネント ComboBoxのリスト部分の文字をでかくしたい!
選択されているところは、

var tf:TextFormat = new TextFormat();
tf.size = 50;
InstanceName.labelField.textField.setStyle("textFormat", tf);

でいけるのに。。。
ComboBox内のListがReadOnlyだから?
どうにかならん????
569Now_loading...774KB:2008/09/14(日) 16:17:58 ID:pqCIPrSB
リスト項目全部に設定すりゃいんじゃね
570Now_loading...774KB:2008/09/14(日) 21:00:12 ID:kUfVg168
>>560

”一件も処理されません。 ”ってのは、m.x=100 にならないってこと?
どうやって確かめた?
571Now_loading...774KB:2008/09/15(月) 02:41:16 ID:5uJPuCG3
指定座標を中心に地図を拡大縮小するにはどうしたらいい?
地図をクリックする場所はユーザーが自由に決めれたらいいんだが。
matrixで画像を動かしたりはできるけど、、
もう一つまだ掴めてないっす。
572Now_loading...774KB:2008/09/15(月) 02:54:24 ID:28GbVigF
>>571
予め元の地図の下にに(深度を下に)もう一枚おく。
→ 下の地図はマウス座標に追従するようにして、クリックしたら上下が入れ替わる。
→ このとき下の画像の拡大縮小もする。

ではどう?
573Now_loading...774KB:2008/09/15(月) 02:56:35 ID:UyWqr5ne
入れ子MCの消去で質問です。
ソフトはFlash8-ProのAS2.0で、OSはWinXP-Proです。

親MC(mcA)の入れ子MCとしてmc1, mc2, ab1, ab2・・・ があったとき、これらを
一括して消去する方法はありますでしょうか?

for文で指定すれば良いのですが、状況により入れ子MCが細かく変わるので、
インスタンス名に関わらずclear()の様に消したく思っています。
574Now_loading...774KB:2008/09/15(月) 03:29:49 ID:N6tdtdpv
>>573
・親MCを消す
・for in で消す
575Now_loading...774KB:2008/09/15(月) 03:34:25 ID:5uJPuCG3
571っす
>>572
マウスに追従してきてたら、指定の箇所をクリックして、
拡大にはなんないよ。
中心座標を毎回計算しないとダメだと思うので、
マトリックスを使わないとダメみたいで、
その正しい使い方がいまひとつわからないです
576Now_loading...774KB:2008/09/15(月) 04:25:56 ID:yAUknH1/
AS2のswfからAS3のswfをloadMovieした場合、
子のAS3swfから親のAS2swfの関数を呼ぶのは
どうしたらよい?displayObject.rootとかやってみたけど
だめなんだ。
577573:2008/09/15(月) 04:39:54 ID:UyWqr5ne
>>574
あんがと。
578Now_loading...774KB:2008/09/15(月) 04:55:39 ID:DFR6R1mV
>>576

AS2とAS3は互いにアクセスできなかったような気がするけど
579Now_loading...774KB:2008/09/15(月) 07:45:53 ID:2QoVj6ou
>>532-535
ありがとうございます!
説明わかりづらくて申し訳ない。
580Now_loading...774KB:2008/09/15(月) 12:50:10 ID:eOmUEHkg
test
581Now_loading...774KB:2008/09/15(月) 15:41:00 ID:cwMsq1Cf
flash8、AS2に関する質問です。
フレームでmenuとmainに分けたサイトのmenu部分にflashを置いて、flash内のボタンを押すと
main部分が切り替わるようなものが作りたいのですが、

getURL("top.html", "main");

のように自サイト内のページを開くときは問題ないんですが

getURL("http://blog.xxxx.com", "main");

みたいに外部サイトを参照したときのみ、なぜか画像やスタイルシートが読み込まれません。文章は表示されるんですが・・・
getURL("http://blog.xxxx.com", "_blank");で外部ウィンドウで表示させれば問題なく読み込まれました。
allowscriptaccess="always"とかも関係ないっぽいですし、解決策が分からないです。
ご指導お願いします。
582Now_loading...774KB:2008/09/15(月) 18:48:30 ID:nQYCYh1u
わざわざフルパスにする必要ないからいいんじゃないの?
583Now_loading...774KB:2008/09/15(月) 20:47:33 ID:mbaHHWXi
As2.0 WIN XPです。
マウスが近づくとMCが拡大するというスクリプトをMCに書いて
実行させています。
これをrootのタイムラインにfunctionとして定義して、
MCにはfunctin();にて実行させる場合、
rootにはどのように書けばいいのでしょうか?
多分、xm、ymあたりの変数あたりに工夫をしなければならない
と思うのですが、迷路に入り込んでいます。
よろしくお願いいたします。
//
onClipEvent (enterFrame) {
xm = _xmouse;
ym = _ymouse;
span = Math.sqrt(xm*xm+ym*ym);
if (span>100) {
mcScale = 80;
} else {
mcScale = 80+(span-100)*-20/100;
}
this._alpha = this._xscale=this._yscale=mcScale;
}
584Now_loading...774KB:2008/09/16(火) 00:11:38 ID:GSu0om6T
>>583

//onEnterFrame
onClipEvent (enterFrame) {
  _root.HOGE(this)
}

//_root
function HOGE(mc:MovieClip) {
  xm = mc._xmouse;
  ym = mc._ymouse;
  span = Math.sqrt(xm*xm+ym*ym);
  if (span>100) {
    mcScale = 80;
  } else {
    mcScale = 80+(span-100)*-20/100;
  }
  mc._alpha = mc._xscale=mc._yscale=mcScale;
}
585Now_loading...774KB:2008/09/16(火) 00:39:42 ID:6xqxL9rV
>>582
サイトの構造的に、どうしても新規ウインドウを開かずに表示したい
586Now_loading...774KB:2008/09/16(火) 02:27:25 ID:K06s6cYa
AS3でSpriteやMovieClipオブジェクトの基準点を指定(変更)する方法ってありますか?
FlashCS3でシンボル変換時に出るウィンドウの9つの点で指定出来るやつです
587Now_loading...774KB:2008/09/16(火) 10:59:51 ID:Wsjd8HP6
>>584
お陰様で無事実装できました。
ありがとうございました m(_)m
588Now_loading...774KB:2008/09/16(火) 19:41:29 ID:bK4IUF1/
>>581
問題の絞込みはどこまでやってる?
ちょこっと試して見たけど問題ないみたいだった。
ASの問題じゃないだろ?
その他の環境によるもんじゃないのかな?

つか>>582は解決策暗示してんじゃないの?
>フルパスにする
まぁ、パクリサイトだったらいじれないから無理だろうけど、
589Now_loading...774KB:2008/09/16(火) 20:39:18 ID:s2/Veykc
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

入れ子MC内のテキストフィールドのハイパーリンクで質問です。

URLが指定されたテキストをクリックすると当該HPにジャンプするようなムービーを作るため、
あらかじめ空のテキストフィールドを含んだMCをfor文とattachMovie()で10個生成しました。

確認のため、TextFormat()で太字になるように設定したところ、テキストフィールドの文字列
は狙い通りに10個全て太字になりましたが、生成されたテキストフィールドにマウスポインタを
重ねてもリンク動作をしません(下はASの抜粋です)。

fmt_name.url = "http://www.yahoo.co.jp/"; //URL設定
fmt_name.html = true;
fmt_name.bold= true;
//
this["textM"+id].txt = id; //idは0〜9で、縦に0〜9が表示
this["textM"+id].txt_ins.setTextFormat(fmt_name); //太字にはできる

どうしたら良いでしょうか?
590Now_loading...774KB:2008/09/16(火) 21:04:53 ID:ujAwUn32
Flash8です。

loadMovieで外部のフラッシュを
完全に読み込んでから次のフレームに進みたいです。

完全に読み込んでから次のフレームに進むスクリプトを
教えてください。
591Now_loading...774KB:2008/09/16(火) 22:15:54 ID:SavpeRG8
>581
自分が言ってるように、
フレームの場合のCSSの定義をもう一度確認した方がいいんじゃないかな。
スタイルシートは外部ファイルだよね?

592Now_loading...774KB:2008/09/16(火) 23:31:56 ID:N0mY7K2a
なんだかクソスレ化してきたなw
593Now_loading...774KB:2008/09/17(水) 00:43:50 ID:JKJE719G
今までどんだけ良スレだったんだよw
594589:2008/09/17(水) 00:49:09 ID:MlH37Gk0
すいません。目標とは若干違いますが、TextFormat()をMCの
フレームアクションとして指定し、getURL()で表示出来るように
なりました。

つまり、MCで
this.onPress = function() {
フォーマット指定
getURL("http://〜");
}
という感じです。

これでクリックすると目標のHPが表示され、数字の太さや色も
指定できました。
595Now_loading...774KB:2008/09/17(水) 04:39:56 ID:FCyk1IHm
WinXP-ProでFlash8を使用。

指定したディレクトリ(パス)にあるファイル名の一覧を得るにはどうしたら良いでしょうか?
よくソフトなどで、フォルダを階層毎に開いて、目的のフォルダの中身を表示する感じです。
出来ればAS2.0以下で願います。

先ずは、trace()表示をしたく思います。
596Now_loading...774KB:2008/09/17(水) 10:02:09 ID:tnMIb4Rw
>>595
import flash.net.FileReferenceList;
import flash.net.FileReference;
var listener:Object = new Object();
listener.onSelect = function(fileRefList:FileReferenceList) {
trace("onSelect");
var list:Array = fileRefList.fileList;
var item:FileReference;
for (var i:Number = 0; i<list.length; i++) {
item = list[i];
trace("name: "+item.name);
}
};
var fileRef:FileReferenceList = new FileReferenceList();
fileRef.addListener(listener);
fileRef.browse();
597Now_loading...774KB:2008/09/17(水) 12:17:51 ID:MRmnZX1b
>>592
クソが言うなら間違いないでしょww
598Now_loading...774KB:2008/09/17(水) 13:57:51 ID:p+3YDTsR
質問です

ボタンで外部swfを空mcに読み込み、表示されるコンテンツを切り替えたいのですが
初期でロードするムービークリップにリンケージで識別子を設定して読み込んでいる
モノがあり、ボタンで他のに切り替えても、残ってしまいます。

完全に他のswfに切り替えたいのですが、どなたかよろしくお願いします。
599Now_loading...774KB:2008/09/17(水) 13:58:26 ID:MTrr1q0f
mcBoxを、シフトキーを押しながらクリックした場合は
onShiftClickというファンクションを呼び出したいんだけど、
それはどのようにaddEventLisntenerしたらいい?

mcBox.addEventListener(ここがわからない);
600Now_loading...774KB:2008/09/17(水) 14:54:16 ID:a0YqYiNg
>>599
試してないけど、多分こう。

mcBox.addEventListener( MouseEvent.MOUSE_CLICK, onClick );

public function onClick( e:MouseEvent ):void{
  if( e.shiftKey == true ) trace( "shiftキーを押しながらクリックされました。" );
}
601Now_loading...774KB:2008/09/17(水) 14:58:16 ID:QPxJsoy0
>>596
レス有難うございます。
早速、試してみます。
602595:2008/09/17(水) 17:43:56 ID:QPxJsoy0
(ファイル名一覧の取得)
>>596さんの方法を元に、browse()のヘルプを参照し、JPGのみを選択するように

fileRef.browse(); → fileRef.browse([{description:"Images", extension:"*.jpg"}]);

と加工しました。
しかし出来れば、任意のパスを指定して、そこにある全てのJPG名を自動的に取得
したく思っています。一応、考えられる箇所を細工しましたが駄目でした。

どうすれば良いでしょうか? 再度アドバイス願います。
603Now_loading...774KB:2008/09/17(水) 18:00:10 ID:MNJurFNW
そんなんできたらローカル環境のファイルリストを勝手にどっかに送られんだろ
ユーザーが手で選択するしかできないようになってんだよ
604Now_loading...774KB:2008/09/17(水) 19:23:22 ID:MTrr1q0f
>>600
ありがとうございます。
バッチリできました〜!!
605595&602:2008/09/17(水) 23:41:44 ID:xbqfJnCv
>>603
有難うございます。
確かにそうですね。
606Now_loading...774KB:2008/09/18(木) 03:14:55 ID:VObT4N/z
煮詰まってしまったので質問させて下さい。

ボタンなんですが、上レイヤーのボタンを押すと下レイヤーの
ボタン(…といっても、わけあってhitTestで作ってます、しかも大量)まで反応します。
#タイムラインを使えばいいんですが、再ロードさせたくないので、単に無効になってくれるのが理想です。

一般的なenabledや空ボタン程度だとダメっぽいのです。
何とか簡単に下レイヤーのhitTestを無効化出来ないでしょうか。
607Now_loading...774KB:2008/09/18(木) 05:19:51 ID:MnhKerfn
>>606
要は、100個位あるMC型のボタンの1個を押すと、その1個のみを
Onの状態にしたいということ?

attachMovie()でインスタンス生成(ボタンMC生成)すれば、レイヤーを考慮せずに
好きな数だけ好きな位置に配置できるが・・・ 
(ただし、この場合には、各深度に注意)

タイムラインも、gotoAndStop()で制御すれば、各ボタン単位で有効/無効が設定
できるよ。これじゃ駄目?
608606:2008/09/18(木) 09:46:19 ID:av1fhiPK
>>607
いえ、その方法が使えません…
具体的には塗り絵Flashで、100個くらいあるシンボルにhitTestで色付けする方法を採っています。
で、その上に「○○しますか?はい いいえ」的なダイアログを出したいんですが、下の
シンボルが反応してしまうので困っている次第ですw
609Now_loading...774KB:2008/09/18(木) 10:15:01 ID:O4g/dmhW
どう作ってるのか知らないけど、
それならダイアログだしたらhitTestの処理なくせばいいんじゃない?
610Now_loading...774KB:2008/09/18(木) 13:54:46 ID:kq5/cFrH
ドキュメントクラスの中で
public宣言して作成した関数hoge()を、
ムービー内の一つのmcBtnがクリックされたときに呼び出したいけど
うまくいかないです。
普通に
mcBtn.addEventListener(MouseEvent.CLICK, hoge);
と書くだけじゃ駄目ですか?
611606:2008/09/18(木) 15:53:14 ID:Rh63+pHt
>>609
有り難うございます。
結局for++iで100個のMC全部指定するか各MCにひたすらhitTestオフ条件を書き込む
ベタな方法でしか回避できないんですかね…
612Now_loading...774KB:2008/09/18(木) 17:33:52 ID:gWGFd90t
>>610

引数の型をMouseEventにした?
613Now_loading...774KB:2008/09/18(木) 17:36:25 ID:1tHlJm9w
>608
シンボルクリックしたら全体を覆うMCを表示させる
614Now_loading...774KB:2008/09/18(木) 17:57:41 ID:kq5/cFrH
>>612
610です。
すみません、省略し過ぎました。
もう少し詳しく書きます。

ドキュメントクラスmain.as内で、
public function hoge():void{
trace("きてます");
}

としておいて、

ムービークリップの、mcBtnのフレームアクション上で、

mcBtn.addEventListener(MouseEvent.CLICK, onJump);
function onJump(e:MouseEvent):void{
hoge();
}

としています。これを実行すると、
「1180:未定義である可能性が高いメソッドhogeの呼び出しです」
となってしまいます。root.hoge()でも駄目でした。
何が駄目なんでしょう?

※ドキュメントクラス内からの命令でhoge()は普通に呼び出せます。

615Now_loading...774KB:2008/09/18(木) 18:13:19 ID:gWGFd90t
>>614

MovieClip(root).hoge();
616Now_loading...774KB:2008/09/18(木) 18:27:53 ID:O4g/dmhW
>>611
AS2だけど、こんな感じでフラグたてればいいだけじゃない?

http://www.uploda.org/uporg1677159.zip.html
Pass : swf
617Now_loading...774KB:2008/09/18(木) 18:38:50 ID:qqfvG/t6
教えてください
タイムラインのMcPageの1フレーム目にTOPページ、
2フレーム目に2ページと置いて、各ページの中に
mc001、その中に入れ子にしてBtn001というボタンが
いくつかあり、ボタンをロールオーバーするとswapDepthsにて
最上層に出てくるような感じにしています。
(ロールオーバすると吹き出しが出るようになっていて、重なり防止のため)
rootには
var depth:Number = 0;
と書き
外部Asには
Mcpage.mc001.Btn001.onRollOver = function() {
this._parent.swapDepths(_root.depth++);
と書いて、TOPページ内ではSwapDepthsが効いているのですが
2ページ目になるとSwapされていません。
ご教授よろしくお願いいたします。

フラッシュ8使用です
618Now_loading...774KB:2008/09/18(木) 21:44:49 ID:kq5/cFrH
>>615
610です。
ありがとうございます。
無事できました!!思いつきませんでした・・・!
感謝いたします。
619Now_loading...774KB:2008/09/19(金) 17:44:00 ID:fb6qmjPM
AS3で、TextFieldの文字の色を赤→緑→青と変えたいのですが
上手くいきません。以下コードです。

var f = new TextFormat("Arial", 12, 0xFFFFFF, false, false, false);
var t = new TextField();
t.defaultTextFormat = f;
addChild(t);

Tweener.addTween(f, {color:0xff0000, time:0, delay:0.0});
Tweener.addTween(f, {color:0x00ff00, time:0, delay:1.0});
Tweener.addTween(f, {color:0x0000ff, time:0, delay:2.0});
...

なんとなく書き方自体ダサい気がするんですが何か方法はないでしょうか。
620619:2008/09/19(金) 18:35:13 ID:fb6qmjPM
自己レスです、MovieClipでフレームアクションさせたらうまくできました。
お騒がせしました。
621Now_loading...774KB:2008/09/19(金) 19:56:23 ID:a7Md/rG7
突然ながら質問が。

AS2.0の_url(絶対パスをとるやつ)から最後のファイル名を除いたフォルダパスだけとるにはどうしたらいいんですか?

できるだけRegExpとかは使いたくないです。
622sage:2008/09/19(金) 23:32:49 ID:O0Pn9FxL
>>621
trace( str.lastIndexOf( "/" ) );出力10
trace( str.substr( 0, 10 ) );
623Now_loading...774KB:2008/09/19(金) 23:57:13 ID:Q1m+63Rt
>>622

最後のファイル名の長さを調べてそれ以外を抜き出すのですね。

回答ありがとうございます。
624Now_loading...774KB:2008/09/19(金) 23:58:27 ID:Q1m+63Rt
最後の/の位置ですね。
625Now_loading...774KB:2008/09/20(土) 10:02:27 ID:3vGib9u4
>>617
全ての深度をしっかり紙に書いて把握してみれ
いい加減に作るとわけわかんなくなるよ
626Now_loading...774KB:2008/09/20(土) 11:33:40 ID:4Os7R83x
現在パー速クリエイタースレで人員募集中です。
現行スレ&テンプレ
http://ex14.vip2ch.com/test/read.cgi/news4gep/1221872491/

・html、CSS、SNSを作れる言語が書ける人(一番大変な部分です。数人必要かも。)
・Flashができる人(お絵かき、通信等)
・aiやpsdをいじれる人
・宣伝活動に長けている人
・ちょっとしたスキルがある方(動画作成等)

他にもどしどし募集中。
勉強中の方からプロの方まで、気軽にお願いします。
627Now_loading...774KB:2008/09/20(土) 22:22:26 ID:TTTyQOrz
Flashのゲームが作りたくて、本を読んで勉強しています
ある本のサンプルにジグソーパズルの作り方が載っていて
その本ではjpegをライブラリに入れて、ジグソーパズル全体の大きさの四角
を「塗りのカラー」をビットマップとしてjpeg画像を塗り込み、それを線で切って
ピースとしています。
この方式は理解出来たのですが、Jpeg画像の枚数を増やすとSWF自体が
大きくなってしまうので、画像を外部から読み込めないか考えています。
外部Jpegの読み込みに関しては理解していますので、どなたかヒントを
よろしくお願いします
628Now_loading...774KB:2008/09/20(土) 23:01:56 ID:7XsEm7lK
>>627
バージョンは?
何がわからないの?
629Now_loading...774KB:2008/09/21(日) 00:39:54 ID:O2iVbcSU
ローカルの画像を取り込んで、それを変形させるものを作りたいのですが、
ローカルの画像を読み込ませる方法についてヒントをください。
おおざっぱな流れとして、
1.ボタンとかでダイアログを開いて、画像を選択。
2.読み込み開始
3.BitmapDataとかに入れる
を考えているのですがどのように出来るでしょうか?
とりあえず、埋め込みで画像を変形できるところはできているので、
とにかくBitmapDataに入れられればこっちのものと考えているのですが…。
開発はFlashDevelopで、AS3書いています。
630Now_loading...774KB:2008/09/21(日) 00:44:59 ID:NRPdhyww
それはプレーヤー10から実装される機能だから無理
http://weblogs.macromedia.com/akamijo/archives/2008/07/flash_player_10_5.html
個人でテストしてみる分にゃ問題ないんじゃね?

普通は画像DBサーバー用意してそこにアップロードしてもらったのをムービーに読み込む
631Now_loading...774KB:2008/09/21(日) 00:55:11 ID:O2iVbcSU
なるほど…。9までは一旦サーバ側に保存して、そこから読み出すのが定石なんですね。
あくまで趣味程度なんで fileReference に手を出してもいいかもしれません。
ありがとうございます。
632Now_loading...774KB:2008/09/21(日) 08:06:50 ID:Op68wWqx
基本的な質問になるかもしれないですがどなたか教えていただければ。。。

シーン1の1フレーム目にAというムービークリップがあり
Aの中にplayというフレーム名を設定しているとします、
同じくシーン1の2フレーム目にBというムービークリップ
があり(この時同じ2フレームにAはありません。)、
Bの中にあるボタンをon(release)でAのplayというフレーム
には飛ばせないのでしょうか?

同じフレーム内になければ_root.A.gotoAndPlay("play");
では動かないことまではわかったのですが、その場合の
動かし方がわかりませんでした。

ちなみに、playから動かしたいので、シーン1のフレーム1
に飛ばす方法は取れない状態です。

FlashCS3のAS2で記述しています。
633Now_loading...774KB:2008/09/21(日) 09:33:51 ID:ExkPAyGw
・1フレームにA(タイムラインを持ちフレーム名"play"がある)、2フレームにB
・Bを押して1フレに戻ると、Aが"play"へ飛んでいる
ってことに置き換えていいなら、フラグを用意するといい

//1フレームアクション
this.stop();
this.A.stop();
if (flg == undefined) {//flgが定義されていなければ初再生
flg = 0;
}
this.A.onRelease = function() {
this._parent.gotoAndStop(2);
};
if (flg) {
this.A.gotoAndStop("play");
} else {
this.A.gotoAndStop(1);
}
//2フレームアクション
this.B.onRelease = function() {
flg = 1;
this._parent.gotoAndStop(1);
};
634Now_loading...774KB:2008/09/21(日) 10:01:27 ID:Op68wWqx
>>633
632です、
ありがとうございます!
早速設置してみます!
635Now_loading...774KB:2008/09/21(日) 12:29:52 ID:w4Dwe9YB
最近「FLASH CS3&AS3.0」を勉強しはじめた初心者です。

「タイトル画面」→「ゲーム画面」→「ゲームオーバー画面」→「タイトル画面」・・・
という流れの、簡単なシューティングゲーム作りを通してAS3.0を覚えようとしています。

スクリプトは全てasファイルに書きたいと思っているのですが、「addFrameScript」を使うのが一般的なのか、
「addFrameScript」を使わないで書くのが一般的なのか、いまいちよくわかりません。

「addFrameScript」を使ったほうが簡単のような気もするのですが・・。
どちらが一般的なのでしょうか?

ちなみに、手元にあるAS3.0の本には載っていませんでした。。


以上、よろしくお願いします。
636Now_loading...774KB:2008/09/21(日) 12:35:58 ID:eAUhmQ4X
>>635
ASオンリーでいくなら使わないのが一般的
addFrameScriptはリファレンスに載ってない隠しAPIだから
これを使うと流れがわかりにくくなってしょうがない
637Now_loading...774KB:2008/09/21(日) 14:26:07 ID:w4Dwe9YB
>>636
あ、かえってわかりにくくなるんですね。
ではaddFrameScriptを使わずに作ってみます。

ありがとうございました!
638Now_loading...774KB:2008/09/21(日) 17:11:44 ID:P37WDfX1
質問です。

スペースで区切られた文字列を分解する方法を教えてください

"abc def ghi" -> ["abc","def","ghi"]
639Now_loading...774KB:2008/09/21(日) 17:14:48 ID:P37WDfX1
自己解決しました。

split関数を使えば良いですね
640Now_loading...774KB:2008/09/21(日) 20:43:59 ID:tEegqrXh
教えてください!
A_mcのフレームに
onClipEvent (load) {
var imgFlder:String = "mein/sub/img/BtnImage";
//
loadMovie(imgFlder+"1.jpg", this.sum_01_mc.board);
loadMovie(imgFlder+"2.jpg", this.sum_02_mc.board);
loadMovie(imgFlder+"3.jpg", this.sum_03_mc.board);
と書いて外部から画像を読み込ませています。
これを外部テキスト、もしくは外部XMLに書いて読み込ませ、
実行させる場合にはどのようにしたらよいのでしょうか???

今日、朝からやってて疲れました・・・・
641Now_loading...774KB:2008/09/21(日) 21:30:57 ID:f4CJrqyl
>>640
LoadVarsクラスでテキスト内容を読み込む
642Now_loading...774KB:2008/09/21(日) 21:34:55 ID:P37WDfX1
actionscriptの質問なのですが、ブラウザでflashを実行したとき、
そのswfファイルが置かれていたサーバのIPを取得するにはどうすればいいですか?
643Now_loading...774KB:2008/09/21(日) 21:46:07 ID:/2CLYRzH
>>642マルチ
644Now_loading...774KB:2008/09/21(日) 21:49:36 ID:P37WDfX1
>>643
質問は放置する癖にそういうことだけは素早いですね。
645Now_loading...774KB:2008/09/21(日) 22:02:29 ID:/2CLYRzH
>>644
テンプレ読んでな
掲示板のルール理解してな
ルール理解する気がないならromってるかどっか行ってな
646Now_loading...774KB:2008/09/22(月) 01:04:46 ID:MeHJvrfG
>>644
逆切れw
647Now_loading...774KB:2008/09/22(月) 12:40:57 ID:BkvG6UuJ
var my_lv: LoadVars = new LoadVars();
my_lv.onLoad = function(success: Boolean) {
if (success) {
trace(this.toString());
} else {
trace("Error loading/parsing LoadVars.");
}
};
my_lv.load("http: //www.helpexamples.com/flash/passvars.php");
648Now_loading...774KB:2008/09/22(月) 15:17:08 ID:Em2KzTUV
flash上で書き込んだデータを同じflashに保存するには(ニコ動みたいな感じ)
どうすればいいかわかる人、教えてくださいませんか?
649Now_loading...774KB:2008/09/22(月) 15:29:56 ID:dTXx/bN6
>>648
> flash上で書き込んだデータを同じflashに保存する
こういう事はできません。
データを保存するためには別途サーバーサイドのプログラムを用意して、それにデータを渡すしかありません。
ニコ動のコメントは外部のデータベースにアクセスしてます。

ただし、保存場所がローカルで良ければSharedObjectで実現可能です。
(この場合保存したデータに他の人からはアクセスできません。)
650Now_loading...774KB:2008/09/22(月) 17:13:31 ID:8HHf2bZX
526 名前:Now_loading...774KB[sage] 投稿日:2008/09/22(月) 14:06:59 ID:Em2KzTUV
ニコニコ動画みたいに、動画とコメントを同期させて表示させるにはどうするんでしょうか?
だれかわかる人います?
651Now_loading...774KB:2008/09/22(月) 19:36:36 ID:dTXx/bN6
>>648
マルチポストって知ってます?
複数の場所で同じ質問をする事です。
これってインターネット上で共通のマナー違反なんです。次からやめましょうね。
652Now_loading...774KB:2008/09/22(月) 19:44:44 ID:lApgHlK/
すぐに知りたいことだからここに書き込むんです。
すぐに情報が引き出せないなら別のところに移ります。
マルチポストかどうか判定されるまでに情報が引き出せなければあきらめるだけです。
そして次の新しい質問は別のIDでポストすればいいですからね。
653Now_loading...774KB:2008/09/22(月) 19:45:27 ID:lApgHlK/
マナー違反?知ったこっちゃない。
すぐにレスポンスが返せないやつが悪いんだよw
654Now_loading...774KB:2008/09/22(月) 20:01:13 ID:96vD5jSN
まぁ結果を急ぐあまり解答が貰えなくなる君が一番損をするからどうでもいいんだけど
655Now_loading...774KB:2008/09/22(月) 20:03:27 ID:WVP9KMKi
>>653
他力本願の人間が言う言葉ではないなw
頭悪過ぎてまともな質問文も書けないみたいだから
どこいったって駄目だと思うよ
自分で解決しなさい。
656Now_loading...774KB:2008/09/22(月) 20:24:17 ID:lApgHlK/
俺がここに書くことは20分以内に解決しろ。
20分あれば大抵解決するからな。
657Now_loading...774KB:2008/09/22(月) 20:27:05 ID:P8JVubbf
>>656
自分で解決しろ。
658Now_loading...774KB:2008/09/22(月) 20:28:44 ID:lApgHlK/
お前らに解決させて、その時間で俺は別の問題を解決する。
いわば並列処理
659Now_loading...774KB:2008/09/22(月) 20:55:26 ID:8Z1q56Lc
NGID登録:ID:lApgHlK/
これですべて解決
660Now_loading...774KB:2008/09/22(月) 20:58:37 ID:lApgHlK/
別のIDを使って、もっとおしとやかに質問するので無問題
661Now_loading...774KB:2008/09/22(月) 21:20:17 ID:FL13m+We
(´・ω・`)おっぱい
662Now_loading...774KB:2008/09/23(火) 03:34:42 ID:gHzMX3Uq
あれ?夏休みってもう終わったんじゃ・・・
663Now_loading...774KB:2008/09/23(火) 05:50:57 ID:0qFcPSYw
なんか無能な奴がまた湧いてるなw
単位落としたぐらいでやけになるなw
664Now_loading...774KB:2008/09/23(火) 12:35:40 ID:pJ+lVFAH
お決まりのセリフ 「何の役にも立たないクソスレだな」
665Now_loading...774KB:2008/09/23(火) 17:35:35 ID:2Q9R5tXZ
ここみると自信がつく
666Now_loading...774KB:2008/09/24(水) 09:01:47 ID:TCcpr8Vv
下を見るな上を見ろ
667Now_loading...774KB:2008/09/24(水) 10:36:26 ID:tv0R1bAh
665<>666
教えてください。
obj = _root.attachMovie("side_obj","str" + i,i,〜
深度が10以上は、visibleプロパティを変更したいです。
668Now_loading...774KB:2008/09/24(水) 10:58:58 ID:HjFrBIgV
obj = _root.attachMovie("side_obj","str" + i,i,{visible:i < 10});
669Now_loading...774KB:2008/09/24(水) 11:25:27 ID:tv0R1bAh
>>668
,{visible:i < 10}
iが10より小さければvisible = true
という意味でしょうか?
670Now_loading...774KB:2008/09/24(水) 13:02:52 ID:E+4wGvaE
648です。マルチポストっていうんですね。マナー違反とは知らず、失礼いたしました。以後気をつけます。

また、ご回答ありがとうございました。また困ったときに助けていただければ幸いです。それでは失礼します。
671Now_loading...774KB:2008/09/24(水) 22:13:54 ID:Iv49WfgF
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

ピクセル単位の色の取得

白黒の10*10ピクセル程のBMPをMC化し(bmp_mc)、このピクセル単位の白黒の
位置をBitmapDataクラスを使って把握しようとしていますが、うまく出来ません。

目的の動作の前段階としてBMPサイズを取得しようと思っています。動作を書いた
bmpPixcelFunc() をボタンアクションで呼び出すことはできるのですが、肝心の高さ
と幅が undefined になります。 
フレームアクションに書いたASは以下の通りです。

import flash.display.BitmapData; //BitmapDataクラスをインポート
var bmpData:BitmapData = new BitmapData(bmp_mc._width, bmp_mc._height, true); //新規ビットマップデータのインスタンス
//
function bmpPixcelFunc(bmd:BitmapData) { //ビットマップデータを解析
trace("bmpPixcelFunc"); // bmpPixcelFuncは表示される
trace("高さ= "+bmd.height);
trace("幅= "+bmd.width); // bmp_mc._heightなら、10などと出ますが・・・
//
var pixelColor:String = bmd.getPixel(0, 0).toString(16); //試しに位置(0, 0)の色を取得
}

ボタンの方は、on (release) で bmpPixcelFunc(bmd); です。
すいませんが、アドバイス願います。
672Now_loading...774KB:2008/09/25(木) 01:23:48 ID:IOgy4g0T
bmdって渡してるけど、それどこにもなくね?
673Now_loading...774KB:2008/09/25(木) 10:14:33 ID:HQvuZ209
>>671
ボタン押下時
bmpPixcelFunc(bmd);

bmpPixcelFunc(bmpData);
では?
674Now_loading...774KB:2008/09/25(木) 21:34:32 ID:qvFstGVn
CS3のAC2で書いています。
attachMovieで増やしたmcをステージ上のmcに追わせ、
ヒットしたら、当たったmcが変化するというのをやりたいです。

_root.mca = "mc_a"+_root.adep;
this.attachMovie("mc_a",_root.mca,_root.adep);
_root.adep++;

こうやって増やしているのですが、hitTestで当たった先のmc名をどうするかで困っています。
相手は連番で無限に増えて行くので、どう指定したらいいのか解りません。

どなたか宜しく御願いします。
675671:2008/09/25(木) 21:41:00 ID:nS8BIz8Q
>>672-673
レス有難うございます。

bmpPixcelFunc(bmpData); を試しましたが、駄目でした。
あと、「bmdを渡す」とはどういう意味でしょうか?
676Now_loading...774KB:2008/09/25(木) 21:53:24 ID:iRc54cLX
>>674
逆に考える。
増加するMCのフレームアクションに、追跡するMCに当たったら変化を生じるようにする。
つまり、100匹のネズミを追う猫の場合、ネズミMCをダブルクリックして上のようなASを書く。
677Now_loading...774KB:2008/09/25(木) 22:21:43 ID:qvFstGVn
>>676
有り難う御座います!そうですね…気づきませんでした。なんという馬鹿…。
とりあえず試してみます!
678Now_loading...774KB:2008/09/26(金) 15:28:26 ID:THIGXRlX
as3です
Loaderオブジェクトで外部からサムネイル画像を100枚ぐらい読み込むとします。

そのために、forループ文で、
・Loaderオブジェクトを梱包するスプライト(Wrapper)
と、
・写真を読み込むLoaderオブジェクトそのもの
を作り、100枚の写真がずらりと横に並ぶまではうまくいきました。
※一つのスプライトの中に一つのLoaderオブジェクト(写真)が入っているということです

ですが、traceで、Loaderオブジェクトの横幅を調べると、
ゼロになっています。

さらにLoaderオブジェクトを梱包するスプライトの横幅も、
traceするとゼロになっています。

Loaderオブジェクトの横幅は読み込んだ写真の横幅に関係なく、ゼロになるんでしょうか?

スプライトのWrapperのwidthを仮に100pxとすると、
写真がすべて見えなくなってしまいました。
横幅はどうやって設定したらいいでしょうか。
679Now_loading...774KB:2008/09/26(金) 16:36:50 ID:F8YDLd+O
いや普通に読み込んでからwidthでいいだろ
Spriteでラップする意味もわからん

var l:Loader = addChild(new Loader()) as Loader
l.contentLoaderInfo.addEventListener(Event.COMPLETE,function(){trace(l.width)})
l.load(new URLRequest("hoge.jpg"))
680Now_loading...774KB:2008/09/26(金) 23:04:59 ID:eDty70e3
sendAndLoadのことで現在悩んでおります。お助け下さい。

name1というテキスト入力とresultというダイナミックテキストがあり、ボタンに次のようなスクリプトを書きました。

on (release) {
System.useCodepage = true;
var send_lv:LoadVars = new LoadVars();
var load_lv:LoadVars = new LoadVars();
send_lv.name1 = name1.text;
load_lv.onLoad = function(success) {
if(success==true){
result.text=this.name2;
}else{
result.text="通信失敗";
}
};
send_lv.sendAndLoad("PHP絶対パス", load_lv, "POST");
}

そして、PHPは次のようにしました。

<?php
print('name2='.$_POST['name1']);
?>

このswfを直接動かしても、HTMLの中に埋め込んでもうまく動作しますが、そのHTMLファイルをホームページにアップすると
「通信失敗」となってしまいます。
この原因がわかりません。どなたかお知恵をお貸し下さい。
681Now_loading...774KB:2008/09/27(土) 00:43:44 ID:EZpr8eQE
"PHP絶対パス"って何を指定してるの
682680:2008/09/27(土) 00:50:32 ID:FzKvB/W5
眠れないので、一応開いてみたら、レスがあったのでびっくりしました。
ありがとうございます。

PHP絶対パスとは、http://cgi.movie.geocities.jp/../sndAndLd.phpというような
PHPファイルのホームページ上の絶対パスです。

683Now_loading...774KB:2008/09/27(土) 01:07:31 ID:6SdSMo/P
>>682
crossdomain.xmlはあるの?
684680:2008/09/27(土) 07:53:36 ID:FzKvB/W5
>>683さん、「crossdomain.xml」というのは初めて聞きました。

私は、http://www.1art.jp/を参考に勉強しているのですが、FLASHからPHPにデータを送ったり、
データを保存したり、データを読み込んだりすることは問題なかったのですが、このsendAndLoadが
どうしてもうまくいかないのです。

crossdomain.xmlはおそらく無いと思いますが、今から調べてみたいと思います。
ありがとうございました。
685Now_loading...774KB:2008/09/27(土) 08:00:27 ID:Vaav7MB0
Airでキーロガーみたいなのって作れますか?
アプリケーションのウィンドウがアクティブじゃなくても
キー取得できるみたいなのです。
686Now_loading...774KB:2008/09/27(土) 08:40:57 ID:6u5xdhJN
できない。
一時期それでユーザー名とパスワード抜き取るクラックが流行って、
できないように修正された。
687Now_loading...774KB:2008/09/27(土) 09:56:11 ID:+pZF67nb
ランタイム共有用に書き出しの際に入力する URL って
どんな意味があるの?

読み込む側が必要なのは判るんだけど…
688Now_loading...774KB:2008/09/27(土) 11:34:04 ID:DkWrR+XD
Away3Dなどのライブラリを試そうと思って、サンプルを漁っていたのですが
ほとんどがflaファイルで提供されていました。
フリーでflaファイルを扱えるソフトはないのでしょうか?

開発にはflexSDKとエディタのみでちまちま作るつもりなので、サンプルの中味さえ見れればいいんですが
689Now_loading...774KB:2008/09/27(土) 11:52:50 ID:0ok+QN84
super()でスーパークラスのコンストラクタの引数をサブクラスのコンストラクタ引数で書き換える方法はやった事があるのですが
スーパークラス内のメゾットの引数をサブクラスから書き換えるという事はできるのでしょうか?

スーパークラス側で
protected function goMove(x:Number, y:Number, w:Number, h:Number):void {
このx,y,w,hをサブクラス側で指定するという事は可能なのでしょうか

actionscript3です、よろしくお願いします
690680:2008/09/27(土) 12:27:21 ID:rd6K8L3s
crossdomain.xmlを試してみましたが、どうもうまくいきません。

そもそも、swfとPHPは同じフォルダにアップされているので、crossdomain.xmlは要らないのでは?

>>682に書いたことには少し誤りがあって、PHPファイルの絶対パスはttp://movie.geocities.jp/../sndAndLd.phpなのですが
Yahooジオプラスでは、cgiをリクエストする際にttp://cgi.movie.geocities.jp/../sndAndLd.phpとcgiを付ける必要があるのです
こういう場合でも、crossdomain.xmlが必要なのでしょうか?
691Now_loading...774KB:2008/09/27(土) 17:14:03 ID:Kr6MFw+j
>>689
super.goMove(1,2,3,4);
692Now_loading...774KB:2008/09/27(土) 21:31:24 ID:s4wheZgr
>>690
ホスト名がぴったり一致しない限り必要だよ。
IPアドレスなんかが同じだったとしても。
693689:2008/09/27(土) 23:09:13 ID:dT4DedqN
>>691
super.メゾットで試した所値を渡す事ができました
ありがとうございました!
694690:2008/09/28(日) 04:37:36 ID:Y0qa1f5w
>>692さん、ありがとうございます。
もう一度やってみます。
695Now_loading...774KB:2008/09/28(日) 10:05:04 ID:2gqkkW7m
WinXP-ProでFlash8-Pro(AS2.0)を使っています。

ヘルプを参照し、Matrixクラスを使ってMCを歪ませたいのですが、うまく出来ません。

下のASでは、root上にあるmc1というMCを、ボタンで関数disorting()を呼び出すことに
よって、元の正方形の上辺を移動させて(スライドさせて)ひし形を作ることを目的に書
きました。(MCの基準点は左下の角です) 

import flash.geom.Matrix;
//
Tx = this.mc1._x;
Tx = this.mc1._y; //位置はそのまま
//
function disorting() {
var skX = 1; //仮に1を入れています
var skY = 1;
//
var myMatrix:Matrix = new Matrix(0, skY, skX, 0, Tx, Ty);
//
_root.mc1.transform.matrix = myMatrix;
//
}

skXの値を色々変えましたが、MCが回転してしまいます。
どうしたら良いでしょうか?
696Now_loading...774KB:2008/09/29(月) 10:52:37 ID:aC09E/Gj
CS3 AC2.0を使っています。
先頭のMCを頭にして、後ろに小さいMCがしっぽのように付いてくるようにしたいです。
配列に記憶した先頭MCのx,y座標に移動してくるようにはできたのですが、
思っていたような動きになりませんでした。
こちらのFlashにある、マウスを追尾する生物のような動きにしたいです。
ttp://intihuatani.usc.edu/cloud/flowing/core.html
どうすれば良いでしょうか、お願いします。
697Now_loading...774KB:2008/09/29(月) 11:57:32 ID:ejpryKDp
698Now_loading...774KB:2008/09/29(月) 19:31:41 ID:DstKV62m
SEFファイルからサーバにデータを送る方法を探してます。SWFで書き込んでファイルとしてサーバに飛ばしたいのですが、
(その逆も)わかる人いたら教えてください。
699695:2008/09/29(月) 19:40:01 ID:szGcbCaQ
>>697
Thx。出来ました(座標値変数の間違いを併せて修正)。

紹介のサイトの行列要素はFlash8のヘルプの並びと違っていますね。
(b⇔c)
そのせいか、歪の方向がXYで入れ替わっています。
700Now_loading...774KB:2008/09/30(火) 00:04:02 ID:JnRCOEdp
インポート文でワイルドカード使わずに個々にインポートする事が推奨される理由って、
厳格さ的な意味合いでですか?

import flash.events.*;
ってした方が楽ですし、FlashDevelopなんかではコード補完も効いて使いやすいんですが、
こういう指定(使わないものも読み込む)すると何かデメリットありますか?
701Now_loading...774KB:2008/09/30(火) 04:12:12 ID:+mrElHkH
AS3.0で
if文の条件に「MovieCripが特定のフレームになったとき」
というのを使いたいのですが、どういった記述になるのでしょうか?
702Now_loading...774KB:2008/09/30(火) 05:38:14 ID:T4EzoT/y
>>700
コンパイルするときにコンパイラがライブラリを検索する時間が短縮できる
あとは、ソースとして明示的にとかだけど、大量にある場合は*でもいんじゃね
>>701
一番簡単なのはそのフレームにAS書く
あとはEnterFrameイベントでcurrentFrameをチェックする
703Now_loading...774KB:2008/09/30(火) 08:53:02 ID:+mrElHkH
>>702
currentFrameがまさにそれでした。
ありがとう
704Now_loading...774KB:2008/09/30(火) 12:52:52 ID:5LAmHauj
FlexBuilder3.0, Flex3.1 AS3です。

FlexBuilderのヘルプから、リファレンスを見ると、
flash.ui.Keyboardの静的定数に、AとかBとかのキーコードの定数があるのですが、
FlexBuilder上でKeyboard.Aと記述すると、
「1119: 未定義である可能性が高いプロパティ A に静的型 Class の参照を使用してアクセスしています。」
というコンパイルエラーになってしまいます。
でも、Keyboard.DELETEという定数は、普通に使用可能です。

なぜ、この定数が使えないんでしょうか?
少し調べてみるとWeb上の記述だと、その定数はないのですが、
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/ui/Keyboard.html
私のFlexBuilderのヘルプから見ると、その定数は存在します。
こっちにはありますね。
http://help.adobe.com/ja_JP/AIR/1.1/jslr/flash/ui/Keyboard.html

どうすれば、この定数が使用できるのでしょうか?

試したコードはこんな感じです。
private function myKeyDown(eventObj:KeyboardEvent):void
{
  if (eventObj.keyCode == Keyboard.A)
  {
    //
  }
}
705704:2008/09/30(火) 12:57:06 ID:5LAmHauj
書いてから、読み返してみて気づきました。

ランタイムバージョン: AIR 1.0

と書いてあるから、AIRじゃないと使えないんですね。
Flashでも使えてもよい定数だと思うんですが、
仕様みたいなんであきらめます。

#リファレンスのランタイムバージョンも注意して読まなきゃいけなんだな。
706Now_loading...774KB:2008/09/30(火) 13:27:51 ID:FqpjVlmo
actionscript2です。ご教授お願いします。
インスタンスを複数生成してそれらのインスタンスを一まとめに
して大きさや座標を変更したいのですが、お願いします。
707Now_loading...774KB:2008/09/30(火) 13:31:15 ID:BXj7572w
>706
attachMovie()
インスタンス名._x
インスタンス名._y
インスタンス名._xscale
インスタンス名._yscale
708Now_loading...774KB:2008/09/30(火) 13:56:16 ID:FqpjVlmo
>>707
個々に設定するのではなく、別の方法はありますか?
709Now_loading...774KB:2008/09/30(火) 14:15:48 ID:YMCRFJr0
ひとつのMCに全部入れてMCのサイズ、座標変更
710Now_loading...774KB:2008/09/30(火) 14:16:25 ID:BXj7572w
>708
for()
while()
711Now_loading...774KB:2008/09/30(火) 14:25:31 ID:FqpjVlmo
>>709
スクリプトで実装させる方法を教えてください。
ひとつにしてマスクを設定しようと思っております。
712Now_loading...774KB:2008/09/30(火) 15:16:42 ID:YMCRFJr0
>>711
this.createEmptyMovieClip("MC", this.getNextHighestDepth());
for (i=0; i<10; i++) {
MC.attachMovie("instance", "instance"+i, MC.getNextHighestDepth(), {_x:Math.random()*100, _y:Math.random()*100});
}
MC._xscale = 50;
713Now_loading...774KB:2008/09/30(火) 15:18:02 ID:FqpjVlmo
>711ご意見を参考にいろいろ試すことによりうまく実装できました。
ありがとうございます。
714Now_loading...774KB:2008/09/30(火) 15:20:02 ID:FqpjVlmo
>>712
ありがとうございます。
まさに思い描いた感じです。
参考にしてみます。
715Now_loading...774KB:2008/09/30(火) 16:30:03 ID:BXj7572w
とことん無視されたわ
くるんじゃなかった
716Now_loading...774KB:2008/09/30(火) 17:52:43 ID:ChXMi9Da
flahs版はコピペして動く物しか受け付けない
礼儀知らずばかりだよ
717Now_loading...774KB:2008/09/30(火) 17:57:01 ID:JnRCOEdp
>>702 返事遅れました それほど違いは無さそうなんですね ありがとう
718Now_loading...774KB:2008/09/30(火) 19:07:03 ID:J/cIXyN9
コミュニケーションスキルがゼロの奴が何やっても何も動かんさw
プログラムと同じでルールってもんがあるわな
719Now_loading...774KB:2008/10/01(水) 00:18:06 ID:gA2ThXqQ
質問の本音は完成品クレクレ
720687:2008/10/01(水) 07:18:28 ID:rL4gLnc1
回答無しか…
721706:2008/10/01(水) 09:39:01 ID:MpIpYHyP
>>715
すいませんでした。

またよろしくお願いします。
722Now_loading...774KB:2008/10/01(水) 13:53:20 ID:t7kKbmo9
ActionScriptでTweenerを使って色を赤→白とトゥイーンさせたい場合、
0xff0000 を 0xffffff までTweenerで変化させると
その間にある赤以外の色も表示されてしまいます。

うまく他の色を表示させずに変化させることはできませんでしょうか?
723Now_loading...774KB:2008/10/01(水) 14:42:08 ID:wEJ1qrZw
>>722
背景に白いオブジェクト用意して
Tweener.addTween(myMovieClip, {_alpha:0});
で、出来る予感。
724Now_loading...774KB:2008/10/01(水) 15:29:10 ID:KPLLzcxS
>>688
flaのASはヌル文字を取れば(あるいはUTF-16として読めば)大体は読めますし
swfからASを抽出するツールもいくつか存在するようです。
が、Away3Dに関していえばここでソースが見られます。
ttp://away3d.com/examples.php?api=Away3d&searchterm=;
725Now_loading...774KB:2008/10/02(木) 23:41:38 ID:2uQUyDG+
質問です。

getChildren() や getChildAt(x) などで取得したオブジェクト(配列)が,
どんな種類のコンポーネントかを判別する手段はありますでしょうか?

ご教示願います。よろしくお願いします。
726Now_loading...774KB:2008/10/03(金) 03:43:43 ID:5RCjUr5y
AS3.0で、
画面全体を揺らすエフェクトが必要になり

画面上にある各mc名.y

の変化で、画面を揺らしているように見せているのですが
画面に出るmcが増えるたびにどんどん行が増えてしまいます。
もっと効率的な指定の方法などありませんでしょうか?
727Now_loading...774KB:2008/10/03(金) 04:29:52 ID:ycAKmgpt
>726
入れ物としてのmcをつくって全部中に入れる
このmcを揺らすだけで済む
728Now_loading...774KB:2008/10/03(金) 08:11:37 ID:7PfOZSpT
>>725
どういう目的か解らんがisとかasとかtypeof使えばいんじゃね
729704:2008/10/03(金) 16:55:25 ID:0HNTJGKW
Flash CS3でグラフィカルなコンポーネントを作って、Flexから使いたいと思っていますが、
やりたい事は、プロパティの変更によって見た目が変わるといったことです。
どのようにしてFlash CS3で作成したコンポーネントに、プロパティやメソッドを定義すべきか分かりません。

自分で確認できたのは、
・Flex Component Kit for Flash CS3を使うのは分かりました。
・Flash CS3で書いたMovieClipを、swc化して、Flexで貼り付けられたところは確認しました。
この段階では、操作できないただの絵です。

Flash CS3でメソッドやプロパティを用意してあげるべきだと思うのですが、
どこにクラス定義を書いたらよいのでしょうか?
730Now_loading...774KB:2008/10/04(土) 00:41:09 ID:1d+hAd5v
>>728
isを使ったら思い通りのことができました。
ありがとうございました!
731Now_loading...774KB:2008/10/04(土) 14:08:03 ID:9sn63Vep
FlashCS3&AS3での質問です。
メインタイムラインの1フレーム目にMCを設置したとします(インスタンス名:testmc)
そしてtestmcはaddEventListener(Event.ENTER_FRAME,hoge);
のようなイベントを実行していたとします。

そこで、メインタイムラインの100フレーム目とかでそのMC(testmc)を削除したとします。
(この場合メインタイムラインからtestmcがremoveChildされたという解釈でいいのかな?)
この場合removeEventListener(Event.ENTER_FRAME,hoge);を実行してないので
testmcが裏でそのイベントを永遠と処理し続けることになりますよね?

メインタイムラインからMCを削除したと同時にremoveEventListenerが呼ばれるようなプログラムを組みたいのですが
testmcがremoveChildされた瞬間に呼ばれるイベントとかは存在するのでしょうか?

今のところ、そのMCを消す直前にキーフレームを作ってremoveEventListenerを呼んで対策しています。

何かいい方法がございまいたら教えてもらえると有り難いです。
よろしくお願いします!
732Now_loading...774KB:2008/10/04(土) 19:13:31 ID:ZsmLtQ5t
733Now_loading...774KB:2008/10/05(日) 07:33:14 ID:f1pVXO/p
>>731
removeChild(表示リストから外す)時に呼ばれるとかは無いと思う
nullする時点でリスナー消去やタイムラインstopなどの終了処理を自分で記述する
734Now_loading...774KB:2008/10/05(日) 08:11:48 ID:Sdwe38Mg
なにこの展開w

mc.addEventListener(Event.REMOVED,func);
function func(event:Event):void{trace("ステージ上から消去されました");}
removeChild(mc);

揃いも揃ってまあwいろんな所が不自由な奴ばっかだなw
735Now_loading...774KB:2008/10/05(日) 08:16:25 ID:f1pVXO/p
>>734
リスナー登録すりゃできるしw
736Now_loading...774KB:2008/10/05(日) 08:52:36 ID:2KEA/Arr
AS3のLoaderでswfをload後に、PROGRESSイベントでは全バイト読み込まれているのに、
INITやCOMPLETEにならない特定のswfがあるんですが、原因を追跡する方法はありますか?

IO_ERRORイベントや
try {
 loader.load(target);
} catch (error:Error) {
}
にも引っかからないんですが
737Now_loading...774KB:2008/10/05(日) 09:09:19 ID:UbHgfeDX
>>727
今ある中ではそれが効率的ですね
遅くなりましたがありがとうございました
738Now_loading...774KB:2008/10/05(日) 14:12:03 ID:yjRMqgXh
質問です。

ホームページに動画データの入ったflashを載せたいのですが、flash自体は載るのに
動画が表示されません。
<!--flashを表示-->
<embed src="flash.swf"
width="550" height="400" bgcolor="#ffffff"
で記述したんですが・・・
動画データは同じファイルに入ってます。
困ってます・・・たすけてください。

あ、AS3を使ってます。
739Now_loading...774KB:2008/10/05(日) 21:12:10 ID:Es6KxZrQ
アダルトビデオか?
俺にも見せろ。
740Now_loading...774KB:2008/10/05(日) 21:58:40 ID:usVPpYR2
教えてください。

あるmcをクリックすると、そのたびに「vacant」「occupied」という2つが入れ替わるものを
作りたいと思っています。
最初は、swapDepthを使っていたのですが、attachMovieの方がいいのではないかと思い、
いろいろ試行錯誤しているところです。

mc = _root.attachMovie( "occ", "mc1", 1 ) ;
mc._x = 10 ; mc._y = 20 ;

mc1.onRelease = function() {
mc = _root.attachMovie( "vac", "mc2" , 1) ;
mc._x = 10 ; mc2._y = 20 ;}

このようなスクリプトにおいて、新しくロードされたvacに対するボタンアクションはできるのでしょうか?

最初は、透明のボタンを重ねておいて、その押された回数によって「vacant」「occupied」が入れ替わるようにしていたのですが、
このようなボタンが50個もあるので、なんとかまとめる必要があるのです。よろしくお願いします。
741Now_loading...774KB:2008/10/05(日) 22:42:40 ID:Y40PAbvO
>>738
ローカルでは再生されるの?
Flash自体読み込まれてないって事はないの?

>>740
mc2.onRelease = function(){ }

表示を切り替えたいだけなら_visibleでいいんじゃない?
742Now_loading...774KB:2008/10/05(日) 22:51:52 ID:h4p7romc
>>740
表示を切り替えさえできればいいのかな?
だったら、MCの_currentframeに応じてそのMCのなかのvacantフレームとoccupiedフレームを移動とかもありでは?
スクリプトも状態に応じて対応を変える関数をひとつつくっておいて
forかなんかですべてに割り当てるとか。

目的を明確にしたほうがより適切な方法が見つかるかもよ。
743740:2008/10/05(日) 22:54:27 ID:usVPpYR2
>>741さん、ありがとうございます。

mc2.onRelease = function(){ }

は、入れ子にするんでしょうか? 入れ子にしても1回しか反応しません。
並列に置くとまったく反応しません。

並列に置くのは、
mc = _root.attachMovie( "occ", "mc1", 1 ) ;
mc._x = 10 ; mc._y = 20 ;

mc1.onRelease = function() {
mc = _root.attachMovie( "vac", "mc2" , 1) ;
mc._x = 10 ; mc._y = 20 ;}

mc2.onRelease = function() {
mc = _root.attachMovie( "occ", "mc1" , 1) ;
mc._x = 10 ; mc._y = 20 ;}

としてみたのですが、どこかに致命的なミスがあるんでしょうか?

744740:2008/10/05(日) 23:01:31 ID:usVPpYR2
>>742さんも、ありがとうございます。

最終的には、FLASHからPHPに送ってSQLiteでデータベース化し、それをPC上のswfファイルで
読み込むというのが目標です。ほとんどすべて初心者なので、果てしなく遠い道ですが・・・
したがって、表示だけではなくて、そのデータを記録する必要があります。
745Now_loading...774KB:2008/10/05(日) 23:13:21 ID:h4p7romc
>>744
いや、訊きたいのはつねにoccとvacふたつのMCを表示する必要があるのか?
それとも、同じ場所に、状況に応じてどちらか一方が表示されていればいいのか?ということ。
状態の表示と記録等の作業とは分けて考える。一緒にしない。

初心者ならなおさら一度にすべてをやろうとせず、問題を細切れにして
ひとつひとつ解決していくほうがいいと思うよん。
ただその前に、最終的にどういう流れで何をしたいかの説明があるといいけど。
746Now_loading...774KB:2008/10/05(日) 23:21:01 ID:Y40PAbvO
>>743
入れ子にする。1回しか反応しないのは新たにattachMovieしてるから。
新たにattachMovieしたMCにもボタンアクションを記述しないとだめ。
それだと永遠入れ子が続くからこんなかんじでどう?

occ_mc = _root.attachMovie("occ", "mc1", 1);
occ_mc._x = 10;
occ_mc._y = 20;
//
vac_mc = _root.attachMovie("vac", "mc2", 2);
vac_mc._x = 10;
vac_mc._y = 20;
//
occ_mc.onRelease = function() {
  this._visible = false;
  vac_mc._visible = true;
};
vac_mc.onRelease = function() {
  this._visible = false;
  occ_mc._visible = true;
};
747740:2008/10/05(日) 23:30:16 ID:usVPpYR2
>>745さん、ありがとうございます。

実は、forを使ってこのボタンをいくつでも配置することはできています。
そして、それらのインスタンス名を2次元の配列に格納し、 _root[arr[j][i]]で参照して、
普遍的な関数を作ろうと考えてみました。

for( i = 0; i < 2 ; i++) {
for( j = 0; j < 3 ; j++) {
btnName= _root[arr[j][i]];
btnName.onRelease = function() { }
}
}

しかし、肝心の関数部分で止まってしまったのです。そこで単純化しようと思ってやってみたのですが、
どうにもうまくいきません。あなたの言われる「状態に応じて対応を変える関数をひとつつくっておいて 」
というのができないのです。そもそも、最初から無理なことをやろうとしているのではないかと心配になって、
質問させていただきました。
748740:2008/10/05(日) 23:35:33 ID:usVPpYR2
>>746さん、ありがとうございます!!!

素晴らしい!

「1回しか反応しないのは新たにattachMovieしてるから。」そうは感じておりました。
しかし、初心者の悲しさでデッドロックから抜けられませんでした。

どうして動くのか、今からじっくり考えてみたいと思います。感謝、感謝。
749Now_loading...774KB:2008/10/06(月) 02:53:53 ID:ATmo4CTQ
>>736
うろ覚えで申し訳ないけど、それ関係で何かバグがあるって見た覚えがあります。
なんだったかなぁ、、、COMPLETEを発行せずに終わっちゃうんだったかな?なんかそんなの
750738:2008/10/06(月) 13:11:28 ID:j7I+Fyra
<<741

いえ、ローカルのHTMLファイルでも表示はされてません。まだアップはしてないので・・・
flash自体は読み込まれてます、flashにflvplaybackで入れ込んでいるのですが、肝心の動画だけが
表示されないのです・・・swfファイルには動画は表示されているのですが・・・
751Now_loading...774KB:2008/10/06(月) 14:34:50 ID:71akw7qm
ドキュメントクラス内で設定した変数があるのですが、
それをムービークリップの、mcTestのフレームアクション上から
アクセスするにはどうすればいいでしょうか。


ドキュメントクラス内
public var _direction:String = "right";


ムービークリップmcTest
if(MovieClip(root)._direction == "right"){
trace("hoge");
}


これをすると、
TypeError: Error #1034: 強制型変換に失敗しました。flash.display::Stage@1e485f99 を flash.display.MovieClip に変換できません。

となってしまいます。
ドキュメントクラス内の関数等からは、
問題なく_directionの値を取り出すことができます。
752Now_loading...774KB:2008/10/06(月) 15:15:27 ID:JWWr9U6v
ニコニコにアクションスクリプト入りのswfをアップしようとするとニコニコムービーメーカーに怒られるんですが
ttp://www.nicovideo.jp/watch/nm4832652では
アクションスクリプト入りのまま上げられてるみたいです
こういうのどうやるんでしょうか
753Now_loading...774KB:2008/10/06(月) 22:19:11 ID:v0Gc+cNm
MXMLを使わずにActionScriptのみでFLVプレイヤーを作っています。
flash.media.VideoでFLVを表示させると動画の周りに余白が表示されてしまいます。
MXMLだとlayout="absolute"に設定すれば余白がなくなるようですが
asのみの場合はどう書けば余白をなくすことが出来ますか?
754741:2008/10/07(火) 01:40:42 ID:vSCGf/4x
>>750
・flash自体(=swf)は読み込まれてるのに動画が表示されてない
・swfファイルには動画は表示されている

swfを直接再生すると動画は表示されるが、
htmlにswfを埋め込むとflvplaybackの枠とかは表示されるが動画が表示されてないって事?
もしそうならすみませんが私にはわかりません


755Now_loading...774KB:2008/10/07(火) 10:10:21 ID:/tF2IwiT
>>750
読み込む動画がH264/AACエンコードとかで、
ブラウザのFlashPlayerのバージョンが9.0.115.0以前とか?
756750:2008/10/07(火) 13:24:41 ID:WI3Iuoc5
いえ、flvplaybackの枠も表示されません。
読み込む動画はyoutubeから落としたflvファイルでブラウザのバージョンは9.0.124.0です。
あ、Apacheを使って、PHPで書いてます。
757Now_loading...774KB:2008/10/07(火) 13:35:39 ID:Yrky8F5E
そりゃmimeの設定できてねーんじゃねーの?
758756:2008/10/07(火) 14:37:35 ID:WI3Iuoc5
ありがとうございました!おかげで解決しました。757さんの言うとおり、mimeの設定が出来ていなかったようです。
759736:2008/10/08(水) 00:13:46 ID:gi3Jp8Qo
>>749
レスthxです
バグですかorz
760Now_loading...774KB:2008/10/08(水) 12:59:28 ID:igoSSjzu
質問させてください。開発環境はAS3を使ってます。
actionscriptを使ってチャットシステムを作りたいのですが、ちょっと変わった仕様にしたくて、
チャットのログを残して、それをもう一度再生でき、その上から新たに書き込みが出来る。という風にしたいのですが
どうすればそれが、もしくはそれに近い形のものが出来るか、力を貸してください。
761Now_loading...774KB:2008/10/08(水) 14:03:55 ID:xljkzCkT
>>760
漠然としすぎてて何が聞きたいのかよくわからない。動画のないニコニコ動画みたいなもんなのか?
サーバープログラムとFlashクライアント組み合わせればできるんじゃないの。比較的難しいと思うけど。
762Now_loading...774KB:2008/10/08(水) 14:12:42 ID:igoSSjzu
>>761
あ、そんな感じです。サーバプログラムとflashクライアントですか……ちょっとわかりません。
申し訳ありませんがもう少し詳しく説明してもらえないでしょうか?
763Now_loading...774KB:2008/10/08(水) 14:36:25 ID:xljkzCkT
>>762
逆に現時点で何がわかりますか?ASは?PHPは?DBは?FMS/FCSは?
やりたいことは別として、基本的なことから理解していかないと、このレベルのFlashを作るのは難しいと思う。
それくらい広い範囲の知識がないと実現できない構想です。
764Now_loading...774KB:2008/10/08(水) 14:43:15 ID:VeBvuOje
mime知らんでニコニコみたいなの作りたいとか言ってた奴じゃねーのどーせ?
そいつもうほっとけ。キリないわ
765Now_loading...774KB:2008/10/08(水) 14:45:57 ID:VeBvuOje
ボクちゃんは1冊本買って読んでね
ニコニコのクライアントの作り方みたいなの、AIRの紹介本かなんかでのってたような気がするから、それ丸写ししてくれ
766Now_loading...774KB:2008/10/08(水) 14:49:58 ID:igoSSjzu
>>763
使える物はASとPHPです。データベースもある程度は出来ます。PHPは掲示板を作る事くらいは出来ます。
足りない知識は補っていくつもりです。何とかして作りたいのです…
767Now_loading...774KB:2008/10/08(水) 15:11:44 ID:gmvy7wkk
つか、広範囲な知識が必要っていわれてるように、ここで全部を詳しく説明なんて無理。
いわれたキーワードや本なんかを参考にすすめていって、もっと問題点が絞り込まれた段階で
質問したほうがいい。
768Now_loading...774KB:2008/10/08(水) 15:14:37 ID:jk5368hO
AS2.0でゲームを作っています
点数をとると画面下に並べているMCの色が変わり、点数を表示するようにしています。
■■■■□□□□←こんな感じです。
各四角のMCにインスタンス名mark1〜30までを付け、
四角をまとめたscoreGroupe_mcに
onClipEvent (enterFrame) {
if (_root.seikaiNum == 1) {
this.mark1.gotoAndStop("on");
}
}
と書き、四角の色を変えて表示させています。
今のところ、上のスクリプトを
1〜30まで書き連ねることで表示としては出来ているのですが
これを、簡潔にする場合はどのようにしたらいいのでしょうか?
よろしくお願いします
769Now_loading...774KB:2008/10/08(水) 15:46:12 ID:gmvy7wkk
>>768
markに連番ついてるならforループで処理すればいいと思うが、
seikaiNumの値とonにするmarkの数が対応しているなら、
seikaiNumの値が増減する時に、
this.scoreGroupe_mc["mark"+String(_root.seikaiNum)].gotoAndStop("on");
みたいにして表示を増やしていけば、enterFrameいらないと思う。
770Now_loading...774KB:2008/10/08(水) 16:18:02 ID:iD7k9kcY
                     24時間耐久10分でフラッシュを作れ!
        ┏━┓                ┏━┓    ┏━┓           ┏━┓
      ┏┛┏┛                    ┏┛  ┃  ┏┛  ┗┓        ┏┛┏┛
    ┏┛┏┛                      ┗┓  ┃┏┛┏━┓┗┓    ┏┛┏┛
┏━┛  ┗━┳┓                    ┃  ┃┃  ┃  ┃  ┃┏━┛  ┗━┳┓
┗━┓  ┏┳┛┃                    ┃  ┃┃  ┃  ┃  ┃┗━┓  ┏┳┛┃
    ┃  ┃┗┳┻┓    ┏━┳━━┓  ┃  ┃┃  ┃  ┃  ┃    ┃  ┃┗┳┻┓    ┏━┳━━┓
    ┃  ┃┏┻┓┗┓┏┛┏┛┏┓┗┓┃  ┃┃  ┃  ┃  ┃    ┃  ┃┏┻┓┗┓┏┛┏┛┏┓┗┓
    ┃  ┃┃  ┃  ┗┛  ┃  ┗┛  ┃┃  ┃┃  ┃  ┃  ┃    ┃  ┃┃  ┃  ┗┛  ┃  ┗┛  ┃
    ┃  ┃┃  ┣┓    ┏┫  ┏━━┛┃  ┃┃  ┃  ┃  ┃    ┃  ┃┃  ┣┓    ┏┫  ┏━━┛
  ┏┛┏┛┃  ┃ ┃     ┃ ┃  ┃┏━┓┃  ┃┗┓┗━┛┏┛  ┏┛┏┛┃  ┃ ┃   ┃ ┃  ┃┏━┓
┏┛┏┛  ┃  ┃ ┃ ┃  ┗┓┗┛┏╋┛  ┗┓┗┓  ┏┛  ┏┛┏┛  ┃  ┃ ┃ ┃  ┗┓┗┛┏┛
┗━┛    ┗━┛  ┗┛    ┗━━┛┗━━━┛  ┗━┛    ┗━┛    ┗━┛  ┗┛    ┗━━┛
          ┓┏┓    ┓  ━┓     ┏┓┏┓   ┏┓┏┓      ━┓ ━┓   ┏━  ┏━┓
          ┃┃┃    ┃ ┏┛   ┃┃┃┃ ・ ┃┃┃┃     ┏┛ ━┫ ・ ┃  ┃  ┃
          ┃┃┃    ┃ ┃     ┃┃┃┃ ・ ┃┃┃┃     ┃  .  ┃ ・ ┗┓ ┗━┫
          ┻┗┛ 月 ┻┗━ 日 ┗┛┗┛   ┗┛┗┛ ヨリ ┗━ ━┛  .━┛  .━┛ マデ

                   参加者(Flash制作者・お題投下者・観覧者)募集
               現行:http://pc11.2ch.net/test/read.cgi/swf/1206509015/
771Now_loading...774KB:2008/10/08(水) 16:18:20 ID:jk5368hO
>>769
今ちょうど、上に書かれている事をやってみている最中でした!
変数_root.seikaiNumをMc名にくっつけるところで悩んでいたので
とても助かりました
ありがとうございます!
772Now_loading...774KB:2008/10/09(木) 03:23:29 ID:aP0WSrHE
as3です。
クラスメソッドが、呼び出し元のオブジェクト(外部クラスから生成されたオブジェクトです)
を参照する方法ってありますか?
※引数を渡す方法ではなく、無名関数のときのarguments.calleeみたいなものがあるかなと
773Now_loading...774KB:2008/10/09(木) 05:31:20 ID:j0D+PJKY
>>772
call()使えば?
774Now_loading...774KB:2008/10/09(木) 16:07:37 ID:TmP9ojJa
ActionScript3.0のイベント一覧&解説ページとか無いですか?
Event.ENTER_FRAME は フレーム毎によばれます。とか書いてあるページ
775Now_loading...774KB:2008/10/09(木) 16:18:14 ID:sPljUQk0
質問です。
FLASH8 professionalを使用しています。

マウスの動きに合わせて画面を動かしたいのですが、どうしたらいいですか?
http://www.okayama-ichibangai.co.jp/
こんな感じです。
776Now_loading...774KB:2008/10/09(木) 16:20:33 ID:8zCQcoK/
>>774
イベント関連の定数の使われ方って実は
EventDispatcher派生クラスによって微妙に違うよ
さすがにEvent.ENTER_FRAMEとかはどのクラスでも一緒だけど

なのでまずEventDispatcher派生クラス側のリファレンスから調べた方がいい
777Now_loading...774KB:2008/10/09(木) 16:25:47 ID:Kp/E7F/l
>>774
ttp://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/events/Event.html
ttp://d.hatena.ne.jp/antivivi/20071102
ぐぐってみたらこんなんでてきた。上は関連項目のリンクまでたどると吉。
778Now_loading...774KB:2008/10/09(木) 16:29:46 ID:DCHKzhYs
AAAというmcを配置して外部swf(BBB.swf)を読み込ませているのですが
外部swfの特定のフレーム(ラベル:CCC)に飛ぶ、というアクションを実現させたいです。

現在は、フレームに

AAA.loadMovie("BBB.swf");

と書いています。
前述のアクションを実現させるには、どのようにすれば良いでしょうか?
779Now_loading...774KB:2008/10/09(木) 16:35:39 ID:jZliTI6n
>>778
ロードするとAAAの内容がBBBになるから、AAAに対してCCCへ飛べって命令する。
ただしロード完了(少なくともBBBフレームの読み込み完了)まで待つ必要がある。
MovieClipLoaderが使えるバージョンならそっちを使うことをすすめる。
780Now_loading...774KB:2008/10/09(木) 16:36:27 ID:ewoo5v+p
そもそもBBB.swf読み込めてる?
781Now_loading...774KB:2008/10/09(木) 16:58:02 ID:DCHKzhYs
回答ありがとうございます。

>>779
AAA.loadMovie("BBB.swf");
AAA.gotoAndPlay(CCC);

としてみましたが、動作しませんでした。

>>780
読み込み自体は問題ないです。
782Now_loading...774KB:2008/10/09(木) 17:06:22 ID:jZliTI6n
>>781
本当に読み込み完了を待ってから実行してるのか?
まさか続けてその二行を書いたんじゃないよな?
783Now_loading...774KB:2008/10/09(木) 17:19:00 ID:ewoo5v+p
// SWF7以上? AS1.0以上 AS2.0以下
var listenerObject = {
onLoadInit:function( mc ){
mc.gotoAndPlay("CCC");
}
};
var movieClipLoader = new MovieClipLoader();
movieClipLoader.addListener( listenerObject );
movieClipLoader.loadClip( "BBB.swf" );

// SWF6 AS1.0
AAA.loadMovie( "BBB.swf" );
AAA.onLoad = function(){
this.gotoAndPlay( "CCC" );
};

作業中なので構文チェックすらしないけど、何かしらエラー出たり動作しなかったら自分で解決してね。ヒントにはなると思う
784Now_loading...774KB:2008/10/09(木) 18:13:46 ID:DCHKzhYs
>>783
どうにか動作させることができました。
ありがとうございます。
785Now_loading...774KB:2008/10/09(木) 21:11:58 ID:eWUWIMFi
>>775
_xmouse、_ymouseでマウスの位置を取得する
786Now_loading...774KB:2008/10/09(木) 21:15:05 ID:HOE20Wv+
loadClipでAAA指すのわすれてるや
787Now_loading...774KB:2008/10/10(金) 11:40:13 ID:jEdfFmam
actionscript3で、配列array1[0〜4までbitmapが入っている]という状態で

A:
var array2:Array = new Array();
array2 = array1;
というのと

B:
var array2:Array = new Array();
for(var i:int=0; i<array1.length; i++) {
array2[i] = array1[i];
}
というのがありますが、この二つは結果は違うのでしょうか?

やりたい処理はbitmap含めた配列array1のコピーでは無く
配列array2を使ってarray1の中にあるbitmapを参照したいのですが
for(var i:int=0; i<array2.length; i++) {
array2[i].alpha = 0;
}
上のAとB、どちらの方法が正しいのでしょうか?
788Now_loading...774KB:2008/10/10(金) 12:08:27 ID:Hiz0rQXM
>>787
おそらく適切なのはこうです。
var array2:Array = array1;

これでarray2はarray1を指すようになります。

Aの場合、newした領域は使われません。
array2 と array1 は全く同じArrayオブジェクトを指すようになります。
つまり、最初に書いた記述と等価です。

Bの場合array1[i]はarray2[i]と同じ物を指すようになりますが、
Arrayオブジェクトそのものは別物です。

例えば、後でarray[0].alpha = 0.5としたときは、A,Bいずれの場合もarray2[0].alpha は0.5となります。
しかし、array1[0] = hoge; としたとき, array2[0] は Aの例ではhogeを指しますが、
Bの例では元のbitmapを指したままになります。
789Now_loading...774KB:2008/10/10(金) 13:13:32 ID:jEdfFmam
>>788
丁寧な解説ありがとうございます
結構複雑な事だったんですね・・・
AとB双方の違いは
A:array2がarray1そのものになる(array2のメモリ消費無し)
B:array1と別物のarray2(中身はarray1の中身の参照)が作られる
といった感じでしょうか
また調べてみたいと思います
790Now_loading...774KB:2008/10/10(金) 13:20:11 ID:386dzPr4
脱出ゲームでただ画面を切り替えるだけではつまらないので、切り替える際に部屋が回転するアニメーションをつけたいのですがどうすればできるでしょうか?
xscaleとか使ってみましたがうまくいきませんでした
swf6ですよろしくお願いします
791Now_loading...774KB:2008/10/10(金) 15:43:18 ID:+XhY3/+g
>>790
回転するアニメーションを自力で描くか、3Dソフトでレンダリング

ただ、プレイする側からすると回転とかのエフェクトはそれほどいらん。
その努力を内容に向けるほうが評価はあがると思われる。
792Now_loading...774KB:2008/10/10(金) 15:44:03 ID:Lg+DE3dz
>>790
意味不明でございます
そもそも部屋って何?
大体何がやりたいか想像できるけど、そんなんじゃ説明のしようもない
793Now_loading...774KB:2008/10/10(金) 15:46:58 ID:386dzPr4
>>790
なるほど大変そうですね…
参考になりました!内容を重視したいと思います
ありがとうございました
794Now_loading...774KB:2008/10/10(金) 15:47:38 ID:386dzPr4
すみません>>791でした
795Now_loading...774KB:2008/10/10(金) 19:53:20 ID:h+heZ6CA
AS2で初めてスクリプトを作ってます。
MovieClipを配置して、トゥイーンを使ってアルファ値を0から100に
あげていき、フェードインするようにしています。
このMovieClipのattachBitmapを使用してビットマップを読み込んで
フェードインさせたいのですが、attachBitmapを使用するとフェードイン
してくれません。
やりかたが間違っているのでしょうか。
よろしくお願いします。

import flash.display.BitmapData;

var bmp:BitmapData = BitmapData.loadBitmap("image");
map.attachBitmap(bmp,2);
map._width = bmp.width;
map._height = bmp.height;
map._x = 0;
map._y = 0;
796Now_loading...774KB:2008/10/10(金) 20:10:56 ID:+XhY3/+g
>>795
いまいち構成を理解してないが、その場合はattachMovieを使うんじゃないのか?
797Now_loading...774KB:2008/10/10(金) 20:19:26 ID:h+heZ6CA
回答ありがとうございます。
早速、試そうとしましたが、
attachMovieを使うと、別のインスタンスとしてMovieClipができるので
シーンに割り当てたトゥーイーンがうまく動いてくれないみたいです。
よろしくお願いします。
798Now_loading...774KB:2008/10/10(金) 20:49:23 ID:+XhY3/+g
>>797
すまんが、何がどこにいくつあり、どういう順番で、どういうことを目指しているのかわからん。
モーショントゥイーンでアルファ値を変更させたMCがあるとして、それをどうしたい?
そこに別のMCをクロスフェードしたいのか、トゥイーンするMCのほうを別のMCに重ねたいのか
そのへんもっと詳しく。
799Now_loading...774KB:2008/10/10(金) 20:58:47 ID:h+heZ6CA
>>798
説明が下手でごめんなさい。MCは1つだけです。
まず、ASを使用せずにMCを1つ配置して、30フレームくらいかけてアルファ値を0から100にしています。
これだけで動作させると意図したように動いてくれます。
このMCにスクリプトを使用して、動的にビットマップを変えて、再生できればと考えました。
そこで、1フレーム目に、このMCにattachBitmapを使用してビットマップを取り込むように
したのですが、再生すると最初からビットマップが表示された状態(アルファ値が100?)で
フェードインしてくれません。このようなことはできないのでしょうか。
よろしくお願いします。

800Now_loading...774KB
>>799
attachする場所が間違ってる予感・・・

map ←ムービークリップ
└sym1 ←トゥウィーンさせるムービークリップのインスタンス

で、bmpをsym1にattachすればトゥイーンが動くはず
mapにattachしたらそれは当然最初から100%で表示される