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

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

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

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

前スレ
ActionScript 誰かが物凄い勢いで解答するスレ 23
http://pc12.2ch.net/test/read.cgi/swf/1240217372/

関連スレ
Flash製作初心者の質問スレッド レイヤー39
http://pc12.2ch.net/test/read.cgi/swf/1223896635/
2Now_loading...774KB:2009/08/05(水) 04:36:05 ID:vDKH2A31
CS3(AS3.0)のWinXP-Proで、複数(連番)のCSVファイル読み込みで困っています。
Data1.csv〜Data3.csvと、3つのCSVがあり、これをfor文の内部で下記のようにしました。

csvNum=id0+1;// 1〜3(for文でid0は0〜2)
var loader:URLLoader = new URLLoader();
loader.addEventListener (Event.COMPLETE, load_complete, false, 0, true);
loader.load (new URLRequest("Data"+csvNum+".csv"));
//
function load_complete (loadEvt:Event):void {
trace ("id0= "+id0);// 番号の確認
dataStr0=loadEvt.target.data;// String型のdataStr0に格納
}

ところが、番号確認の trace ("id0= "+id0) は本来、
id0= 1
id0= 2
id0= 3

と表示して欲しいのですが
id0= 3
id0= 3
id0= 3

となります(3で固定されている)。
原因は何でしょうか?(CSVの読み込みは自体は問題ありません)
32:2009/08/05(水) 04:48:50 ID:vDKH2A31
すいません。訂正です。

trace ("id0= "+id0) は正しくは
id0= 0
id0= 1
id0= 2

となって欲しいです。
4Now_loading...774KB:2009/08/05(水) 10:07:15 ID:hjX/xKXb
原因は何って言われてもfor文内でid0とやらが2になってりゃ読み込み完了する時には全部2で当たり前なんじゃねーの?
52:2009/08/05(水) 11:06:45 ID:qrwcrsLy
>>4
レス有難うございます。
function load_complete とその上は分離していなくて、同じfor文内にあります。
http://uproda11.2ch-library.com/191751wAF/11191751.png
※ 手元の2chビューアーで書き込むとコードの上2行が変形してしまうのでPNG化しました。

id0はforの()内でのみ指定しているのですが、やはり3になります。
一方で、Data1.csv〜Data3.csvは正常に読み込まれています。
どうしたものでしょうか?
6Now_loading...774KB:2009/08/05(水) 11:14:39 ID:RJ9tk09Q
>>5
loader関連の定義はforの外でやって、読み込みだけfor内でやるとどうなの?
7Now_loading...774KB:2009/08/05(水) 11:31:37 ID:V98iPOOE
>>5
for の中にある function が参照している id0 はそのループが来た時の値のコピーじゃなくて、
その function が id0 を参照したときだよ。
8Now_loading...774KB:2009/08/05(水) 11:47:40 ID://WNuSjr
function 内で for の値使いたいなら function に引数で値渡せばよくない?
9Now_loading...774KB:2009/08/05(水) 13:27:58 ID:hjX/xKXb
たぶんこんな感じの事やりたいんだろうけど、id0の値が2固定の理由はみんなが指摘してる通り

for(var i:int=0;i<3;i++){
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE,createFunc(i));
loader.load(new URLRequest("ファイル名" +i+".csv"));
}

function createFunc(i:int):Function{
return function(event:Event){trace(event.target,i);};
}
102:2009/08/05(水) 22:18:06 ID:bfi7CxSU
>>6-9
有難うございます。
6さんと8さんの方法は不可でしたが、9さんの方法でOKでした。

しかしながら、9さんの createFunc(i) の仕組みが分かりません。
ヒントとなるようなサイトはありますか?
11Now_loading...774KB:2009/08/05(水) 22:35:40 ID:aicTuQ/+
for の中身を (function ():void { ... })(); で包んで i をその中の変数にいれるのでもいける
private function init():void {
var f:String = "Data";
for (var i:int = 0;i < 3;i++) {
(function ():void {
var fname:String = f + i + ".csv";
var n:int = i;
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, function (e:Event):void {
trace([e.target, n, fname]);
}
);
try {
loader.load(new URLRequest(fname));
} catch (e:Error) {
trace(e.message);
}
})();
}
122:2009/08/05(水) 23:26:58 ID:bfi7CxSU
>>11
すみません。余計分かりません。
13Now_loading...774KB:2009/08/06(木) 00:53:36 ID:jBrVJLRj
外部のasファイルで、
下記のように記載しています。

package test
{
import flash.display.*;

public dynamic class 1 extends flash.display.MovieClip
{
public function 1()
{
super();
addFrameScript(0, frame1, 1, frame2);
return;
}

internal function frame1():*
{
stop();
return;
}

internal function frame2():*
{
stop();
return;
}
}
}
14Now_loading...774KB:2009/08/06(木) 00:55:14 ID:jBrVJLRj
そうすると、
以下のようなエラーが多発しています。
なにが原因なのでしょうか? 初歩的な質問かと思いますが
よろしくおねがいします。

5行目 1084: シンタックスエラー : identifier が 1 の前に必要です。
8行目 1084: シンタックスエラー : leftparen が leftbrace の前に必要です。
15Now_loading...774KB:2009/08/06(木) 01:11:53 ID:kwfW7Zhi
数字だけのclass名を使わない
16Now_loading...774KB:2009/08/06(木) 03:44:42 ID:E9w9ciJZ
>>10
createFunc()の
function(event:Event){trace(event.target,i);};
は「createFunc(i)が呼ばれた時の状態を保持した関数」だから
詳しくは「クロージャ」でググれ
17Now_loading...774KB:2009/08/06(木) 17:08:43 ID:p8U56k8+
XMLをASで読み込んでいるんですが、
下記のようなエラーがブラウザででてしまいます。

TypeError: Error #1010: 条件は未定義であり、プロパティがありません。
at aaa::Main/onXmlCompleteData()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
そこで、
http://d.hatena.ne.jp/ku-KiKi/20090524/p1
を参考に、以下のように直したんですが、一向にエラーがなくなりません。
手ほどきしていただけないでしょうか。

private var ns:String;
private var ns2:String;
private function onXmlCompleteData(arg1:flash.events.Event):void
{
var loc2:*;
var loc3:*;
ns = loc2.namespaceDeclarations().toString();
default xml namespace = new Namespace(ns);

ns2 = loc3.namespaceDeclarations().toString();
default xml namespace = new Namespace(ns2);
}
18Now_loading...774KB:2009/08/06(木) 22:13:30 ID:NRn45DrG
環境:WinXP-Pro(CS3, AS3.0)です。

StageのMCをクリックして、ステージに配置された他のオブジェクト(インスタンス名:onStage)の
複製を試みていますがうまくいきません。MouseEvent.CLICKで

var tmpMC:MovieClip=MovieClip(root).getChildByName("onStage");
tmpMC.x=tmpMC.y=300;
MovieClip(root).addChild (tmpMC);

としてプレビューすると下記のエラーが出ます。
1118: 静的型 flash.display:DisplayObject の値が、関連しない可能性が高い型 flash.display:MovieClip
に暗黙で型変換されています。

そこで上の1行目を下のように(onStageをMC化)すると
var tmpMC:MovieClip=MovieClip(root).MovieClip(getChildByName("onStage"));
今度はプレビューでエラーにならない代わりにクリック動作で下記のようになります。

TypeError: Error #1006: MovieClip は関数ではありません。

どうしたら良いでしょうか? 目標はAS2.0のduplicateMovieClip()動作です。
ググりましたが、ttp://level0.kayac.com/2009/02/as3duplicatemovieclip.php の方法では
constructorが未定義プロパティ扱いになります。
19Now_loading...774KB:2009/08/07(金) 00:42:30 ID:TuE/za94
下記のサイトみたく、ラジオボタンやプルダウンなどから選んだ結果により、
http://www.ana.co.jp/dom/travel_design/

結果が違ってくるといったものをつくりたいんですが、

XMLデータを読み込み、エレメントを抽出して
分岐させているとおもうんですが、
なにか参考になるサンプルないでしょうか?

ご指導おねがいします

20Now_loading...774KB:2009/08/07(金) 00:43:46 ID:K412XSza
最初のエラーは MovieClip(MovieClip(root).getChildByName("onStage") だろう
これを直せば tmpMC.constructor もいける
21Now_loading...774KB:2009/08/07(金) 01:53:44 ID:q8g+19CU
>>20
さんくす。
MovieClip(MovieClip(root).getChildByName("onStage")) だけだと複製でなく
平行移動になってしまいますが、tmpMC.constructor を続けて使うとOKでした。
ただし、CS3の自動フォーマットではエラーになりますw
22Now_loading...774KB:2009/08/07(金) 10:24:09 ID:VgPFQsPM
クラスメソッドとインスタンスメソッドの挙動の違いについて質問したいのですが

オーサリングツール(Flash CS3)で予めダイナミックテキストのフィールド(_txt)を配置して
それをドキュメントクラス(Main.as)でコントロールしたいのですが
private function test() だと問題無く動くのですが private static function test() だとエラーになってしまいます。

1120: 未定義のプロパティ _txt へのアクセスです。

これはどういう挙動の違いでしょうか?
オーサリングツールで配置したものはムービークリップでも同様の結果になるのですが。
23Now_loading...774KB:2009/08/07(金) 13:04:08 ID:um52zpVb
クラスメソッド内で任意のインスタンス上の_txtにはアクセスできないよ
もしやりたいなら、「どのインスタンスの_txtを参照したいのか」を指定しなくちゃいけない

private static fnction hoge(mc){
trace(mc._txt.text
}
みたいにね。クラスメソッドってのは基本的にインスタンスが何も存在しなくても動作する処理だから、任意の一インスタンスの値に依存するような用途は元々考えられてない
24Now_loading...774KB:2009/08/07(金) 13:22:46 ID:um52zpVb
ちょい補足
どっからでもアクセスできるようにしたい、とかだったら、ドキュメントクラスのコンストラクタの中で、staticなプロパティにインスタンスへの参照突っ込んでおけばいいんじゃないかな?
ドキュメントクラスが「MainClass」で、オーサリングツール上でテキストフィールド「textField」を配置してる場合はこんな感じ

public class MainClass extends Sprite {
public static var main:MainClass;
public static function hoge() {
return main.textField.text;
}
public var textField:TextField;
public function MainClass():void {
MainClass.main=this;//これ以降はMainClass.mainでアクセスできる
trace(,MainClass.hoge());
}
}
2522:2009/08/08(土) 00:51:39 ID:+XlFsG2U
>>23-24
回答ありがとうございます
お礼が遅れてすいません

なるほど、そういう使い方は想定されてないのですね
動かしたかったら参照を渡してあげないといけないと
26Now_loading...774KB:2009/08/08(土) 12:26:19 ID:9bqO6CoH
AS2.0で文字列を簡単に暗号化させるようなことはできますか?
環境、変数をいくつか文字列に保存→暗号化
それをユーザーがローカルに保存
ユーザーが入力→複合化→環境、変数を取り出す→反映

ということをしたいのですが
27Now_loading...774KB:2009/08/09(日) 00:29:05 ID:VHnq37kK
FlashDevelopを使ってActionScriptを勉強しています。

2つのASファイルを使っていて、実行をすると
「未定義である可能性が高いメソッド addChild の呼び出しです。」
というエラーが出ます。


■Main.as
package {
 import flash.display.Sprite;
 import flash.events.Event;

 public class Main extends Sprite {
  public function Main():void {
   var myRandomNum:RandomNum = new RandomNum(5);
  }
 }
}
28Now_loading...774KB:2009/08/09(日) 00:31:05 ID:VHnq37kK
■RandomNum.as
package {
 import flash.text.TextField;
 import flash.text.TextFormat;

 public class RandomNum {
public function RandomNum(num:Number) {
 trace(num);
  }
  
  private var myTextField:TextField;
  private var myTextFormat:TextFormat;

  private function displayText():void {
   myTextField.text = "あああああ";
   myTextFormat.size = 36;
   myTextFormat.color = "0xFF0000";
   myTextField.defaultTextFormat = myTextFormat;
   addChild(myTextField); //ここが問題らしい。
  }
 }
}

どのようにしたら良いのでしょうか?
29Now_loading...774KB:2009/08/09(日) 00:36:35 ID:YOa3qRmx
>>28
rot13あたりでググれ

>>27
そのコードのどこにaddChildがかいてあるのだ?
情報を小出しにするな
30Now_loading...774KB:2009/08/09(日) 00:42:05 ID:YOa3qRmx
>>28
インスタンスを生成してない。
var myTextField:TextField = new TextField()
31Now_loading...774KB:2009/08/09(日) 00:50:36 ID:YOa3qRmx
29 名前:Now_loading...774KB :2009/08/09(日) 00:36:35 ID:YOa3qRmx
×>>28 -> >>26だったスマゾ
rot13あたりでググれ
32Now_loading...774KB:2009/08/09(日) 01:04:40 ID:VHnq37kK
>>29
見にくくてすみません、>>28のRandomNum.asの下の方です。

>>30
ああ、そうか!
と思ってやってみたのですが、
エラーはそのままでした……。

間違いがたくさんありそう……
33Now_loading...774KB:2009/08/09(日) 01:08:36 ID:+aguQw3P
public class randomnum extends Sprite
3426:2009/08/09(日) 01:45:26 ID:YdDZ0Oj6
>>29 >>31
ありがとうございます。
セキュリティを求めてるわけでもないので簡単そうでよいのですが、

alphabet:144:4:52:716@363:4.5:5:5.5:6:6.5:7:7.5:8:8.5:9:9.5:10:10.5:
11:11.5:12:12.5:13:13.5:14:14.5:15:15.5:16:16.5:17:17.5:18:18.5:
19:19.5:20:20.5:21:21.5:22:22.5:23:23.5:24:24.5:25:25.5:26:26.5:
27:27.5:28:28.5:29:29.5:30:30.5:31:31.5:32:32.5:33:33.5:34:34.5:
35:35.5:36.5:37:37.5:38:38.5:39:39.5:40:40.5:41:41.5:42:42.5:43:
43.5:44:44.5:45:45.5:46:46.5:47:47.5:48:48.5:49:49.5:50:50.5:51:
51.5:52:52.5:53:53.5:54:54.5:55:55.5:56:56.5:57:57.5:58:58.5:59:
...略

このように99%が数字と区切りの:の4kbほどのデータなのでrot47のほうがいいのかな。
それとも数字の部分をうまくまとめてアルファベットにしたりして軽量化できないものか…
質問す。 環境: AS3.0、winXP SP3 home edition、 Adobe flash CS3

Listコンポーネントに追加したアイテムのテキストのフォントサイズを変えたいんですが
うまくいきません、どう書けば動くのか知ってる方がいましたらお答えを下さいませ。m(_ _)m


うまく動かなかったコード1
--------------------------
list1.rowHeight = 60; // アイテムの高さ。 これは反映されました。
list1.setStyle("fontSize", 30); // フォントサイズ。 うまくいきませんでした。
--------------------------

うまく動かなかったコード2
--------------------------
// textFieldクラスのようにTextFormatクラスを使わないといけないのかもと思い、試してみたコードです。
// これでもアイテムのフォントサイズは変わりませんでした。
var tf:TextFormat = new TextFormat();
tf.size = 40;
list1.setStyle("textFormat", tf);
--------------------------
補足です。

リストに追加された個々のアイテムごとにフォントサイズを変えたいのではなく、
Listコンポーネントに追加されるアイテムの既定のフォントサイズ (デフォルトでは10) を変更したいです。
3735:2009/08/09(日) 06:22:45 ID:I+sLzBME
すみません、ここに書いてある通りにしたら出来ました。 お騒がせしてすみませんでした。


CellRenderer の操作
http://help.adobe.com/ja_JP/ActionScript/3.0_UsingComponentsAS3/WS5b3ccc516d4fbf351e63e3d118a9c65b32-7fd4.html
3827と28:2009/08/09(日) 08:32:43 ID:VHnq37kK
>>33
どうも!
Spriteを継承したらエラーができました

しかし、実行結果は真っ白なまま……
うまくオブジェクトを生成できていないか、表示できていないようです
何ででしょうか?
39Now_loading...774KB:2009/08/09(日) 14:40:28 ID:YLcnbrue
>>38
displayText()どっこで呼び出してるの?
40Now_loading...774KB:2009/08/09(日) 18:53:15 ID:TSBtv3+R
図書館で「詳説 ActionScript3.0」という電話帳みたいな本を借りてきた。
昨日、今日で28ページまで確実に学んだつもりだが、方法論としてこれで良いのか?
と思っている。
41Now_loading...774KB:2009/08/09(日) 19:03:13 ID:2dECefLZ
Flashでソケットを使って通信しようとしたら、
ごく稀に4242バイトで区切られて送られてくるデータがありました。

[サーバー] → [ネット] → [クライアント]だけで30%前後の確率で起きます。
[サーバー] → [クライアント]では、仕様どおり10KBまでめいいっぱい送れます。

これって、ネット回線上のパケットの遅延でこうなっているのでしょうか?
もしそうなら、回避方法はありますでしょうか?どうか、教えてください。
42Now_loading...774KB:2009/08/09(日) 19:05:28 ID:+aguQw3P
たぶん順番待ちがいるから
早く読んであげなーよ。
で絶対内容忘れるから
メモしておきなーよ。
43Now_loading...774KB:2009/08/09(日) 19:09:32 ID:TSBtv3+R
>>42
でも、こういうのメモも取らずに1回読んだだけで覚えちゃう人がいるんだよねw
おれは数ヶ月経つと、メモを取ったこと自体、おぼろげになっちゃうけど。。
44Now_loading...774KB:2009/08/09(日) 20:12:39 ID:FoTWSJIF

基本的に図書館で借りる技術書の類は
購入する価値があるか否かをゆっくり見極めるためにあると個人的には思ってる。
読んで実際に確かめて、読んで実際に確かめて、となると
どうしても買わないといけなくなる。


45Now_loading...774KB:2009/08/10(月) 01:25:43 ID:hvVBZ35+
WinXPでCS3(AS3.0)を使っていますが、Flashのステージ上にある複数の
MCをWindowsやMacの通常のマウス操作のように囲んで選択することは
できますか?

代案としてShiftキーを押しながらクリックで選択することも考えていますが、
できればマウス操作だけで済ませたいです。
46Now_loading...774KB:2009/08/10(月) 02:41:04 ID:F/slxGuK
>>45
3.0知らないけどクリックを押した点と離した点で矩形が描けるから
その矩形とのあたり判定でなんとかできるんじゃないかな
47Now_loading...774KB:2009/08/10(月) 10:50:23 ID:3QXhtUUY
AS3で20MBくらいのバイナリデータのMD5を作成してるんですが、
すごく処理が重くてPlayer自体がフリーズしてしまいます。
擬似Thread立てても無理ぽで、なんとか軽くor早くすることって可能なのでしょうか?
48Now_loading...774KB:2009/08/10(月) 11:12:22 ID:pfDztTQZ
AS3.0です
背景が見える透明状のBitmap上に、fillRect等で任意の位置・大きさ・色の矩形を描画するというのは可能なのでしょうか?

1.var bitmapData:BitmapData = new BitmapData( 800, 400, false, 0xFF000000 );
2.var bitmapData:BitmapData = new BitmapData( 800, 400, true, 0xFF000000 );
bitmapData.fillRect( new Rectangle( 20, 20, 50, 100 ), 0xFF0000 );

BitmapDataを弄ってみましたが
1.で背景色が付いた状態で描画されたり
2.で最初背景色が付いているのを、描画した矩形で色抜きされて透明になる様な事はできたのですが
4941:2009/08/10(月) 11:39:02 ID:lC5ICaTz
自己解決しました。
TCPの仕様で、メッセージ境界は保障されないってのがありました。
バイトストリーム使ってバッファを取るしかないようですね。

ここは書き込むと、なぜか自己解決できるスレなんでしょうかねw。
50Now_loading...774KB:2009/08/10(月) 12:06:34 ID:LDRuPOtH
>>47
そもそもVBあたりで作るものでしょ?
もしくはサーバーに任せるとかさ。
なんで、そんな重い処理をFLASHでさせるのか疑問?
51Now_loading...774KB:2009/08/10(月) 13:59:48 ID:3QXhtUUY
>>50
47です。
もっともな意見だと思います。
いまAIRでファイルアップロードを作ろうと思いまして、
アップロードがきちんと行われているかハッシュを用いようと思ったのです。

手元にあるファイルとアップしたファイルでハッシュ値が違えば、
正しくアップロードされていないということなので。
MD5に変わるファイルの欠損を確かめる方法って何かありますか?
52Now_loading...774KB:2009/08/10(月) 16:06:03 ID:LDRuPOtH
>>51
Formのアップロードと同じ感覚でいいんじゃないの?
ファイル容量が一致してればMD5とか不要では?
airで動的にファイル作ってるなら確認したい気持ちもわからんでもないが。
本来MD5でファイル確認するのは改変防止でしょ?
53Now_loading...774KB:2009/08/10(月) 16:38:27 ID:bu/G0Hws
cs3のas3で
・ボタンMCをつくりマウスイベントをつけ
・マウスクリックイベントハンドラ内で
・入れ子のMCをNewしてstageにaddChild
したときに、子MCの1フレーム目がスキップされて2フレーム目から再生されてしまう現象が発生してしまうんですが、これはバグなんですか?
54Now_loading...774KB:2009/08/11(火) 00:30:54 ID:FWv292dF
>>53
ちょっと想起しにくいので、ASの部分を詳しく。
55Now_loading...774KB:2009/08/11(火) 01:37:05 ID:Pz8np0Tr
AS3.0のlistコンポーネントって、「↓」キーでアイテムの一番下まで移動した後に「↓」キーを押しても
一番上のアイテムに選択が移動してくれないんですが、ASでなんとかなるんでしょうか?

list.selectedIndex を使えばいけるかと思ったけどこれを使った後の挙動がおかしい
(↑↓キーを押しても反応しなかったりする) ので困ってます。 標準のコンポーネントって微妙ですね。
56Now_loading...774KB:2009/08/11(火) 03:37:34 ID:Pz8np0Tr
どうやら list.selectedItem にアイテムを代入して設定するということが出来ない(反映されない)ようだ。
代入に失敗しているのか、それとも別の内部的なプロパティの値が優先されて使われてるのか。。。
5753:2009/08/11(火) 04:25:28 ID:HvJiy8OC
mc構成は
・mc1(mc2を子に持つムービークリップ)
  mc2(子mc 全30フレーム 1フレーム目にストップをかけてあります)

mc1は「ActionScriptに書き出し」「最初のフレームに書き出し」にしてあります

・button(ボタン)
ボタンはあらかじめステージに出してあります

以下、AS部分(1フレーム目に記述)です

button.addEventListener(MouseEvent.MOUSE_DOWN,mousedown);

function mousedown(e:MouseEvent):void
{
var mc=new mc1();
stage.addChild(mc);

}
58Now_loading...774KB:2009/08/11(火) 12:23:47 ID:d6YdsMQM
>>53
このスクリプトで試すとちゃんとmc2は1フレーム目で止まってるけどなぁ
stage.addChild(mc); した瞬間にmc2の再生が始まるって事?
59Now_loading...774KB:2009/08/11(火) 13:15:57 ID:PnJTXKOz
>>56
ListコンポーネントのselectedItemは読み取り専用プロパティじゃね?
6053:2009/08/11(火) 13:20:36 ID:NTbLy0nD
えーマジですか?
ウチの環境だとnewすると2フレ目から再生始まっちゃうんですよね。。
flaファイル
ttp://www.dotup.org/uploda/www.dotup.org24058.fla.html
flash player9&10で試しても結果同じだったんでプレイヤーの問題でもなさそうだしどうしてなんだろ??
61Now_loading...774KB:2009/08/11(火) 13:53:40 ID:d6YdsMQM
>>53
あー cs3だから player9書き出しか。
player10書き出しならちゃんと止まってるけど 9だとなぜか1フレーム目が無視されて2フレームから始まっちゃうね。

根本的な解決になってないけど、 mc2のコンストラクタでstop(); するか
mc2をmc1に直置きしないで mc2も var mc_2:MovieClip = new mc2(); addChild(mc_2); すれば1フレーム目のスクリプトも効いたよ。
6253:2009/08/11(火) 14:30:29 ID:NTbLy0nD
player10書き出しってことはCS4かぁ。。出費がorz
とりあえず改善案2でやったらストップしてよさげなので、そちらの案を使わせていただきます。
ありがとうございましたm(__)m
63Now_loading...774KB:2009/08/11(火) 14:37:35 ID:d6YdsMQM
なんで1フレーム目のスクリプトが効かないんだろう・・・俺も知りたい

もっと簡単にするなら これでも動くみたい

function mousedown(e:MouseEvent):void
{
var mc=new mc1();
mc.mc2.stop(); ←これ追加
stage.addChild(mc);

}
6454:2009/08/11(火) 16:08:22 ID:FWv292dF
>>53

作った直後だとどこにあろうが(MCのなかに作っても)、
作ったMCの子MC以下のムービークリップが2フレーム目から再生されるね。

ただ、次のように書くと全て1フレーム目から始まるようです。
function mousedown(e:MouseEvent):void
{
var mc=new mc1();
stage.addChild(mc);

mc.gotoAndPlay(1);←これを追加(gotoAndStopでもOK)
}

多分、張った時点で子MC以下が1フレーム終わったとみなされてしまうプレイヤーのバグのようです。
ただ、バグで無いなら、位置だけでなくフレームも指定しろってことなんでしょうね。
6555:2009/08/11(火) 18:41:56 ID:Pz8np0Tr
>>59
その通りでした。 "listのselectedItem" でぐぐったら一番上に出てきました。
http://livedocs.adobe.com/flash/9.0_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00003193.html

自分は SelectableList.selectedItem のヘルプを読んでたので気付けませんでしたorz
お陰さまで動かない原因が分かりました、大感謝!
66Now_loading...774KB:2009/08/12(水) 18:01:40 ID:qJPTJiXo
多くの企業がトップページなどにflashを置いていますが、それについて質問です
ワンポイント(900*300など)のflashを制作するときは、ASオンリーなのかタイムラインも使うものなのか
フルflashサイトはASオンリーなのかタイムラインも使うものなのか
ケースバイケースだとは思いますが一般的にどうなのか教えていただきたいです、若干スレ違いでもうしわけありません
67Now_loading...774KB:2009/08/12(水) 19:07:39 ID:S0cyFhHH
>>66
内容と制作者の好み次第
つーか、制作経験があればこんな質問出てこない
考えるより先に、沢山作品を作れとしか言えない
68Now_loading...774KB:2009/08/12(水) 19:12:34 ID:K051BZkF
WinXP,CS3(AS3.0)です。

ステージ上に出現させたMC(インスタンス)をダブルクリックして反応させたく思っていますが、
何も反応しません。下はtraceで試したものです。
(MC内のフレームアクションとして書いています)

doubleClickEnabled=true;
addEventListener (MouseEvent.DOUBLE_CLICK, this_doubleClick, false, 0, true);
function this_doubleClick (mouseEvt:MouseEvent) {
trace("this_doubleClick");
}

本来ならダブルクリックでthis_doubleClickと出るはずなのですが・・・
原因は何でしょうか?
69Now_loading...774KB:2009/08/12(水) 20:22:17 ID:NezQslSu
>>68
mouseEnabledもTrueにしなきゃダメみたいだな
7068:2009/08/12(水) 20:41:11 ID:K051BZkF
>>69
有難うございます。でも駄目です。

addEventListenerの前で、doubleClickEnabled=true; mouseEnabled=true;
として、trace ("this_doubleClick "+mouseEvt.type);
としましたが何も出ません。

さらにアドバイス願います。
71Now_loading...774KB:2009/08/12(水) 21:16:01 ID:NezQslSu
>>70
addEventListenerの引数のthis_〜をthis.this_〜に変えてみる、とか
7268:2009/08/12(水) 22:08:20 ID:K051BZkF
>>71
原因が分かりました。
このMCインスタンスは子を持っているので、mouseChildren = false; 
にしないとダブルクリックが有効になりませんでした。
73Now_loading...774KB:2009/08/13(木) 12:54:08 ID:+H9PBID0
AS2.0です

public attachMovie(id: String , name: String , depth: Number , [initObject: Object ]) : MovieClip
MovieClip.attachMovieメソッドは第四引数initObjectが省略可能ですよね。

このように省略可能な引数がある自作関数は作ることが可能ですか?
可能ならどのように記述するのでしょうか

function hoge(a:Number, b:String, [c:String]):Void {
}
のように書くとパブリッシュ段階でエラーになりました
74Now_loading...774KB:2009/08/13(木) 13:06:25 ID:FPJg3obS
Flex Builder 3 のAS3です。

flash.media.Soundをextendsした自作サブクラス(OreSound)で埋め込みMP3を読み込みたいのですがうまくいきません。
だれかやりかたおしえてくださいませ。


Soundで埋め込みMP3を読み込む場合は次のようにすればうまくいきます。

[Embed(source="suneo.mp3")]
public var suneoMp3:Class;
var suneoSound:Sound = new suneoMp3() as Sound;
smallSound.play();


同じように自作したOreSoundで次のようにやると、suneoSoundがnullになってしまいます。

[Embed(source="suneo.mp3")]
public var suneoMp3:Class;
var suneoSound:OreSound = new suneoMp3() as OreSound;
smallSound.play();


ちなみに外部MP3の場合はOreSoundで読み込み、再生することができてます。
75Now_loading...774KB:2009/08/13(木) 20:16:19 ID:EPotYROb
>>73
2.0なら、argumentsを使ってlengthやら種類を見て判断する方法かなぁ
これだと、省略できる引数は最後尾から並べなきゃならないけど
76Now_loading...774KB:2009/08/13(木) 20:22:39 ID:cWY2bu0J
>>73
末尾のcだけが省略対象なら、普通にc:Stringって書いておけば省略は可能だと思うけど
そうでないなら、>>75のいう方法かなあ。
77Now_loading...774KB:2009/08/13(木) 22:01:01 ID:UMXrW/PF
CS3(AIR1.0, AS3.0),XP-Pro

AIRでコンテキストメニューが現れず困っています。CS3のプレビューやスタンドアローン
SWFでは問題なく表示されますが、AIRにすると出ません。
これはAIRのバージョンに起因するかと思い、30日お試しのCS4(AIR1.1)でパブリッシュ
しましたがこれも駄目です。

メニュー自体はステージに配置したMCにaddChildしたMC(半透明:alpha=0.5)に設定し、
記述を下記のようにしています。

var menu:ContextMenu = new ContextMenu();
var item1:ContextMenuItem = new ContextMenuItem("非透明", false);//非透明化する選択肢
item1.addEventListener (ContextMenuEvent.MENU_ITEM_SELECT, item1_select);
function item1_select (event_ContextMenu:ContextMenuEvent):void {
alpha=1.0;
item1.enabled=false;
}
menu.customItems.push (item1);
menu.hideBuiltInItems ();//AIRではビルトインアイテムは無いが一応付けた(これを無効にしても同じ結果)
contextMenu = menu;

本質問とは直接関係はありませんが、AIRって結構癖がありますね。
(SWFで出来たものが出来なかったり)
7877:2009/08/13(木) 22:02:15 ID:UMXrW/PF
(追記)ASはMCのフレームアクションとして書いています。
7973:2009/08/13(木) 22:29:28 ID:+H9PBID0
>>75 >>76 なるほど! arguments初めて知りました
ありがとうございます

たとえば第三引数を省略した場合にデフォルト値を与える場合
function hoge(a:TextField, b:String, c:String):Void {
if (arguments.length == 2) {
c = "hage";
}
trace([a, b, c]);
}
のようにすればいいんですね

>>76
cだけです。それでも動いたんですが、それは偶然で
勝手に省略しちゃだめだろうなと思ってしまって

ですが
>>ActionScriptでは、関数に定義された引数の個数にかかわらず、任意の数の引数を渡すことができます。
と非公式テクニカルノートのargumentsの項にありました。柔軟…
80Now_loading...774KB:2009/08/14(金) 09:27:42 ID:Glwdf7hp
写真サイトを作ってます。
写真に重なるように透明化されたボタンを配置しています。
そのボタンにロールオーバーすると「次の写真へ」と書いてあるMCが表示され
クリックすると次の写真がロードされ、「次の写真へ」のMCがアルファ0になり、
透明ボタンのenabledをfalseにするようにしています。
それで写真のロードが完了すると
透明ボタンのenabledをtrueにしてます。
しかしマウスがロールオーバーされたままだと「次の写真へ」が表示されず、
一度ロールアウトしてからロールオーバーするときちんと表示されます。
そこで写真ロード完了後に 透明ボタン.hitTest(_xmouse,_ymouse) でtrueが返ってきたら
「次の写真へ」を表示させようと思ったのですがなぜかundefinedが返ってくるんですが
どこに問題があるんでしょうか?
透明ボタン._yなどはきちんと返ってくるので、強引にhit判定できるのですが
なぜhitTest()がundefinedなのかわかりませんお願いします。
81Now_loading...774KB:2009/08/14(金) 10:21:32 ID:4XpsQQhR
>>80
2.0?
ボタンにhittestってできたっけ

>しかしマウスがロールオーバーされたままだと「次の写真へ」が表示されず、
一度ロールアウトしてからロールオーバーするときちんと表示されます。

こっちを解決するのでいいんなら
とりあえずボタンになんて書いたのか貼ってみてよ
82Now_loading...774KB:2009/08/14(金) 11:05:45 ID:Glwdf7hp
>>81
ありがとうございます。本当助かりました。
ボタンをMCに変えたら解決しました。
alpha_btnって言うボタンを作ってalpha_btn_mcって名前でattachMovie()していたから
MCのつもりになってました。

>しかしマウスがロールオーバーされたままだと「次の写真へ」が表示されず、
一度ロールアウトしてからロールオーバーするときちんと表示されます。

こっちに関しても気になるので張って見ますので、お願いします。
next_btn_mc.onRelease=function(){
_parent.change_next();//次の写真のロードを開始します。
}
next_btn_mc.onRollOver=function(){
navi_next_on();//「次の写真へ」と書いてあるMCを表示させます。
}
next_btn_mc.onRollOut=function(){
navi_next_off();//「次の写真へ」と書いてあるMCを非表示にします。
}
next_btn_mc.onReleaseOutside=function(){
navi_next_off();//「次の写真へ」と書いてあるMCを非表示にします。
}

写真のロードを開始

next_btn_mc.enabled=false;

ロード完了

next_btn_mc.enabled=true;
としてます
83Now_loading...774KB:2009/08/14(金) 11:48:01 ID:4XpsQQhR
ボタンもattachMovieできたのか
ttp://okwave.jp/qa4673272.html
このひとの回答にバグ臭いって書いてあるね

>next_btn_mc.onRollOver=function(){
>navi_next_on();//「次の写真へ」と書いてあるMCを表示させます。
>}

で表示されると思うんだけどな

一回ボタンを押したあとがうまくいかない、

ロールオーバー(MC表示される)→押す(MC消える、ロード開始)
→そのままロールオーバー(ロード完了したのにMCでてこない)
ってこと?
84Now_loading...774KB:2009/08/14(金) 12:32:22 ID:ts++mdwB
>>82
よくわかってないかもしれんが、next_btn_mc.onReleaseの段階でも、
navi_next_off()する必要があるんじゃないの?
85Now_loading...774KB:2009/08/14(金) 12:53:40 ID:Glwdf7hp
>>83
バグだったんですね
とりあえずボタンはMCに変えました。

一回ボタンを押したあとがうまくいかない、

ロールオーバー(MC表示される)→押す(MC消える、ロード開始)
→そのままロールオーバー(ロード完了したのにMCでてこない)
ってこと?

↑そういうことです

>>84
navi_next_off()は写真のロードする関数に書いてあります
でもnext_btn_mc.onReleaseに書いたほうがスマートですね、
直します。
86Now_loading...774KB:2009/08/14(金) 13:42:51 ID:4XpsQQhR
「onRollOver (Button.onRollOver ハンドラ)
onRollOver = function() {}
ポインタがボタン領域の上に移動すると、呼び出されます。このイベントハンドラが呼び出されたときに実行される関数を定義する必要があります。」

onRollOver はポインタがボタンに外れた状態から重なったとき、
onRollOut  は重なった状態から外れたとき に一回呼び出されるイベントハンドラであって
今ボタンの上にいるかどうかを判断するものではないからじゃないかな

ロールオーバー(onRollOver呼び出し、MC表示される)→押す(onPress呼び出し、MC消える、ロード開始)
→そのままロールオーバー(ポインタは動いてないのでonRollOverは呼び出されない)

なのでRollOver、RollOut時にflagを変えてload終了後にif(flag)で判断するか
今回やったようにMCにしてhittestするかかなぁ。
87Now_loading...774KB:2009/08/14(金) 14:02:54 ID:ts++mdwB
>>85
見当違いで申し訳ない。
バグというよりは仕様でしょうなあ。
ロールオーバー状態が維持されてるってことなので、Flashとしては
規定通りの動作なんだね。
88Now_loading...774KB:2009/08/14(金) 14:38:44 ID:Glwdf7hp
>>86
ありがとうございました。
おかげできっちり理解できました。

>>87
ありがとうございました。
とんでもないです、
コードがスッキリしました。
89Now_loading...774KB:2009/08/15(土) 03:51:36 ID:9J5vAFna
質問です。
キーボード入力なんですが、ActionScript3.0でKey.isDownがなくなってしまいましたが、
キーイベントを使わずにキーボードの入力状態を得る方法ってないでしょうか?
キーイベントって取りこぼしというか、イベントがこなくてキーを離してるのに
押しっぱなし状態のままになってしまったりとかありますよね。
何か対策がわかる方教えてください。
90Now_loading...774KB:2009/08/15(土) 04:10:03 ID:e7GiWk6U
>>89
Key.isDown() はセキュリティの理由で AS3.0 からは廃止されましたので、
基本的にはイベントでとるしかありません。
イベントが着たらその都度処理をさせることになります。

イベントハンドラでたくさんの処理を行うと、稀に取りこぼしてしまうことがまれにあります。
なので、キーが押されたことを受け取るイベントハンドラでは適当な変数を使ってフラグを立てるだけにし、
キーを話したことを受け取るイベントハンドラでフラグを潰すことでKey.isDown()と似た処理に出来ます。
そして、EnterFrame なりなんなりでその変数を判定するといいでしょう。
9189:2009/08/15(土) 13:25:12 ID:2nzjrOx3
>>90
ありがとうございます。
イベント使うしかないんですね。
92Now_loading...774KB:2009/08/15(土) 20:17:13 ID:OiXXnANf
cs3 as3 です。
flvplaybackコンポーネントのUIを改造して、カスタムのプレイヤーを
作ろうと思っています。
で、seekbar というのがあるのですが、この中にprogress という
横長のMCがあります。

これてっきり、今再生中の、経過をバーの色で表しているのかと思って
いたのですが、もしかしてロードしたバッファの量を表しているのでしょうか?
93Now_loading...774KB:2009/08/15(土) 23:48:52 ID:/TjbvJNp
as2で

var this["a"+b]:Number = 1;

とするとシンタックスエラーがでました
配列アクセスで変数名を動的に指定した変数を型指定したかったのですが、

ヘルプに『別のオブジェクトにスコープがまたがる変数をローカル変数で宣言することはできません。』
とあり、これに引っかかってるのだと思います。

変数名を動的にして(for文内などで)型指定する方法はありますか?
94Now_loading...774KB:2009/08/16(日) 10:46:07 ID:BUp4nBCr
>>90
同じ内容で悩んでいるのですが、その方法でもキーupでフラグ潰した瞬間に
キー押しっぱなし不具合でまたフラグが立ってしまいます。
95Now_loading...774KB:2009/08/16(日) 17:21:06 ID:d+Y9IrpA
ボタンのon(release)を外部(例えば他のMCやフレーム)から意図的に実行する事って可能ですか?
要するにボタンのreleaseイベントを、ユーザのボタンクリックではなくスクリプトから発行したいのですが・・・
可能ならばどのような方法でやるのか教えていただけると幸いです。
96Now_loading...774KB:2009/08/16(日) 17:26:17 ID:rOC1ZdiQ
>>95
on(release)っていうから、AS1.0か2.0だと思うが、可能。
実行する内容の関数を、フレームなり、MCなりにわりあてればいい。
たとえば、ボタンアクションが以下のようになってるなら
on(release){
myFunction()
}
あるフレームに、myFunction()と書けば、再生ヘッドがそのフレームを通過した時に、
その関数が実行される。
97Now_loading...774KB:2009/08/16(日) 17:38:50 ID:d+Y9IrpA
>>96
あーなるほど・・・そういう手がありましたか。
ボタンが多くスクリプトも長いので、変更の作業がちょっと面倒ですがやってみます。
ありがとうございます
98Now_loading...774KB:2009/08/16(日) 19:25:11 ID:7njy9Syi
すみませーん。
ステージにオブジェクトがあるかどうかを
調べるのってどうすればよいのですか?

やりたいのは
ステージ上にSpriteオブジェクトがなければSpriteオブジェクトを作る
ってだけなんですけど。わかりません。。2時間悩み中。。。

環境Win,AS3
99Now_loading...774KB:2009/08/16(日) 20:08:31 ID:CDWTEDhY
>>98
3.0しらないけど
オブジェクトって名前つけるんじゃないの?
その名前にアクセスしたらあるかないかくらいわかるんじゃない?

見当違いならごめん
100Now_loading...774KB:2009/08/16(日) 22:31:29 ID:7njy9Syi
>>99
名前はちゃんと付けてる。

存在しないものを参照するようなもんで、やっぱ無理かなのかなー。。
イメージとしては↓こんなかんじ
var sp:Sprite = new Sprite();
if(sp == null) {
addChild(sp);
}
4時間悩み中。。。
ちなみにtry..catchでもダメだった。
101Now_loading...774KB:2009/08/16(日) 22:50:26 ID:q+D29hXD
>>100
こんな感じでどうだろ?
rootオブジェクトも引っかかるかもしれないけど
そこは適宜対応ということで

var sp:Sprite = new Sprite();
for(var i:int = 0; i < stage.numChildren; i++) {
if (stage.getChildAt(i) is Sprite) {
addChild(sp);
}
}
102101:2009/08/16(日) 22:54:09 ID:q+D29hXD
>>100
まちがえた。ごめん。


var hasNoSprite:Boolean = true;
for(var i:int = 0; i < stage.numChildren; i++) {
if (stage.getChildAt(i) is Sprite) {
hasNoSprite = false;
break;
}
}

if (hasNoSprite) {
var sp:Sprite = new Sprite();
addChild(sp);
}
103Now_loading...774KB:2009/08/17(月) 01:04:19 ID:TDIPhpSA
>>102
神様仏様102様ー!
うまくいきましたよ!!
stageはObject(root)に変えました
いやー思いつきませんでした。あなた天才です。
ありがとうございます!
助かったー。これで寝れるー

104Now_loading...774KB:2009/08/17(月) 12:43:50 ID:htWzh/1Y
環境はmac os10.5/cs3/AS2 です。

以前にシーンが8つくらいで構成された2分程度の流しっぱなしのflash動画を4本作成したのですが、それにyoutubeのような感じで、再生、停止、ドラッグ可能なタイムバーを付けてたいのです。

内容は図形なや文字ばかりなので、デスクトップで再生した動画をキャブチャすると、容量が大きくなりすぎてしまう上、ノイズ乗りまくりなので、この方法はダメでした。
かと言って、メインのタイムラインに全てのオブジェクトを配置し直すのは時間がかかり過ぎるので、これも避けたいです。

swfファイルをそのままの画質、容量でタイムバーなど制御ボタンなどをつける方法はありますでしょうか?よろしくおねがいします。
105Now_loading...774KB:2009/08/17(月) 13:10:35 ID:fWomr4DA
>>104
そのまま動画swfをloadMovieで読み込めばいいんじゃないの?
106104:2009/08/17(月) 13:33:27 ID:wRzL7420
>>105ありがとうございます。

試しにやってみたのですが、
中のswfの全体の再生時間を取得して、タイムバーと再生位置を連動させるのは可能でしょうか?
107Now_loading...774KB:2009/08/17(月) 14:28:08 ID:fWomr4DA
タイムバーは読み込んだMovieの_totalframesと_curentframe使えばできる。
再生時間表示させたい場合はフレームレートで計算するのかな?
アバウトな時間になるとおもうけど。
108Now_loading...774KB:2009/08/17(月) 15:02:49 ID:8D5QCklf
ボタンを押した時のアクションで、FLASHを全てリセットして最初から再生する方法はありますでしょうか?
ブラウザなどでいうF5ボタンを押した時のように、グローバル変数の値などは完全にリセットして
最初から再生したいと考えています。現在、シーンに分けて作成しており、シーン3のあるボタンを押すと
シーン1の1フレーム目から完全リセット再生したいのですが、どのようにすればいいのでしょうか?
109Now_loading...774KB:2009/08/17(月) 15:13:36 ID:vyHEvJA1
XAMPPでswfmillを動かせないかと文献を探していますがなかなか見つかりません。
ここで聞いても良いものなのかわからないので質問に適した場所があったら教えてください。

また、動かし方のわかる人がいましたら教えてくださいよろしくお願いします。
110Now_loading...774KB:2009/08/17(月) 15:54:11 ID:sD/6T1mG
>>108
自分で作る。
ボタン押したら、変数を初期化して、MC.gotoAndPlay(1)するアクションを実行。
それからAS使うなら、シーンを使うのは避けるべし。
111Now_loading...774KB:2009/08/17(月) 17:26:45 ID:xpFDPbyj
>>108
グローバル変数じゃなければ
loadMovie("自分のswfファイル名", _root);
で全リセットいけた気がする
112Now_loading...774KB:2009/08/17(月) 17:53:23 ID:8D5QCklf
>>110
シーンを使ってるのでそれがなかなか出来ないんです・・・
シーンなんて不便なもの使うんじゃなかったと凄く後悔してるのですが、
もうこれだけ作ってしまった以上はどうにもできないですね・・・

>>111
おぉw ありがとうございます!
ファイル名を_urlで取得すればファイル名の変更にも柔軟に対応できそうですね。
ありがとうございます!!
113109:2009/08/17(月) 18:02:36 ID:vyHEvJA1
自己解決しました。
お邪魔いたしました。
114Now_loading...774KB:2009/08/17(月) 19:00:25 ID:soGClBv3
教えてください!!

AS3です。複数のTimerを並行して動かしたいのですが、
最初のTIMERのタイミングで一緒に全て動いてしまいます。

var t1 = new Timer(1000); //1秒に1回動かしたい
t1.addEventListener(TimerEvent.TIMER, eTimer1);
t1.start();

var t2 = new Timer(2000); //2秒に1回動かしたい
t2.addEventListener(TimerEvent.TIMER, eTimer2);
t2.start();

この様に記述しますと、1秒に1回、eTimer1とeTimer2が
動いてしまいます・・・・
115114:2009/08/17(月) 19:06:23 ID:soGClBv3
すいません解決しました!

t1.addEventListener(TimerEvent.TIMER, eTimer2);
と書いてました。

レス汚しすみませんでした・・・
116Now_loading...774KB:2009/08/18(火) 00:41:29 ID:8lF7qsi3
swapDepthsを実行すると、レイヤー構造が崩れてしまうのが不便で仕方ないんですけど
みなさんはどのように対処してるんですか?

attachMovieClipなどの関数を使わざるを得ないものになると、必然的にレイヤーが崩れてしまうと思うのですが、
そのようなFLASHを作ってる人は、一つ一つのMCに対してonClipEvent(load)内でswapDepths(1);のように
深度を設定して、自分でレイヤー構造を管理してるのでしょうか?
小さい規模のFLASHならそれも可能でしょうが、少しでも規模が大きくなると、それも難しいように感じます。
117Now_loading...774KB:2009/08/18(火) 01:11:44 ID:FXqxthmv
すいません、質問です。
flash developで自主プログラム開発中の者ですが、
mainにおいてあるローカル変数に、新しく作ったクラス内部の関数から
アクセスしたい場合はどのようにすればよいのでしょうか?

新しく作った関数はコンテナオブジェクトではないので、親と子の関係が
ありません。rootやparentは使えないのです。

すいません。ご教授お願いします。
118Now_loading...774KB:2009/08/18(火) 01:41:21 ID:rWd0K251
>>117
そもそも、少しでも規模が大きくなるならonClipEvent()とかは、
使わないんではないかな。
MCにAS書くのは、小規模ならではの作り方だと思う。

で、swapされるようなものは「そもそも最初から配置しない」のがいいかも。
どうしてもオーサリング時に配置したいなら、もうそいつの深度はいじらない。
マイナス深度とプラス深度は交わらせない。
重なりを管理したいなら、attachMovie()してから配列に格納したりとか
いろいろあるだろうけど、なんにしてもAS2.0以降ならクラス使うだろうから、
いちいちMCに書き込んで〜なんて手間はないと思うよ。
レイヤーの崩れを気にするというより、重なりそのものをASで管理する方向に
いくんじゃないでしょうか。
119Now_loading...774KB:2009/08/18(火) 01:44:09 ID:rWd0K251
>>118
>>116でした。すんませんです。
120Now_loading...774KB:2009/08/18(火) 03:24:40 ID:AZ9arQxK
CS3(AS3.0)のWinXP-Pro

画面内の動的に描かれた線内の領域を塗りつぶすにはどういった方法が
ありますか?
例えば文字Dの線で囲まれた部分の場合、BitmapDataのfillRectは使えませんし、
floodFillでも形を指定する必要があります。

現在は、縦線を多数連ねて(|||| の感じで)擬似的に塗りつぶした状態にしていますが、
消費メモリーの増加が激しいので困ってます。

理想では、CSVから読み込んだ数値を元にグラフを描き、交差&囲まれた
領域を動的に塗りつぶしたいです。
121Now_loading...774KB:2009/08/18(火) 03:49:50 ID:FXqxthmv
>>120 
bitmapでは難しそうですが、graphicで書くのはどうでしょう。
もともと塗りつぶし属性を指定できるので、、、。
graphicクラス
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/display/Graphics.html
で調べてみてください。さらに移動させたり、変形するときにはビットマップに
書き直す必要がありますが。なお、graphicクラスを使用するには、コンテナクラスから
作るしかないのでspriteから拡張したクラスで作ってみてください。
円形や、ベクターなどを扱えるのでグラフを描画するのは楽だと思います。
fillRectなどで慣れてしまった方には、記述が長くなりめんどくさいかも知れませんが
最終的には楽になるはずです。
122Now_loading...774KB:2009/08/18(火) 16:45:36 ID:VYyjM01I
>>100
ステージの表示リストを参照しちゃだめなのかい?

var sp:Sprite = new Sprite();

var ins = stage.getChildByName ( sp.name );//表示されているならインスタンスを返し、表示されていないならnullを返す。
if( ins == null){

addChild(sp);
}

これなら、普通に表示されてなければ表示になると思うが。
123Now_loading...774KB:2009/08/18(火) 16:59:15 ID:8lF7qsi3
今ActionScript2.0しか習得してないんですけど、
ぶっちゃけAS2.0で不便さを感じたことがありません。
AS3.0になると何がよくなるんでしょうか?
124Now_loading...774KB:2009/08/18(火) 17:31:59 ID:ddf1x+8f
AS3で質問です。

NetStreamを使用して複数のサウンドを同時に再生・管理しようとしています。
そこでクラスを作り、NetStreamをインスタンスで複数作って再生させようとしたのですが
2つ目のインスタンスでPlayすると、1つ目に上書きされてしまいます(同時に再生させたい)
分かる方が居られましたら教えてくだされば幸いです。

var sound1:SoundPlayer=new SoundPlayer();
----
public class SoundPlayer {
private var nc:NetConnection;
private var ns:NetStream;

public function SoundPlayer():void {
nc=new NetConnection();
nc.connect(null);

ns=new NetStream(nc);
・・・
125Now_loading...774KB:2009/08/18(火) 17:50:55 ID:Rh0c4+XW
>>123
要は使い分け。
1回切りの仕事(作品)や自分1人の作業ならAS2.0でも良い。
けど、継続して拡張する場合や複数で請け負う作品ならAS3.0。

実際俺も、「あーこりゃ、1回きりで時間をそんなに掛けられないな」
と思って『ワザと』AS2.0にしたこともある。

あと動作の軽さもあったり、AIRやPapervision3Dを考慮すればAS3.0。
つまりは(再度書くが)使い分け。
126Now_loading...774KB:2009/08/18(火) 18:17:24 ID:I1rfmd5c
>>121
さんくす。
なるほど、graphicクラスですね。
これなら塗りつぶしもできます。
127Now_loading...774KB:2009/08/18(火) 18:24:32 ID:8lF7qsi3
>>125
なるほど、聞いた感じだと自分が作るFLASHなら
明らかに2.0でいいって事が分かりました。
ありがとうございます。
128Now_loading...774KB:2009/08/18(火) 18:42:18 ID:Grv8emWq
環境)WinXP-Pro,3GB,Core2Duo_E6550,CS3(Player9.0,AS3.0)

CPU負荷で質問です。
タイムラインを持つ点のMC(mcA)を多数(たぶん数千個)を入れ子として持つMC(mc1)を
別のMC(mc2)内にaddChildで置くとCPUのファンが唸りを上げて回転し始めます。

模式化すると右のような感じです。 mc2[ mc1[ mcA0〜mcA5000 ] ] ※5000は適当な個数

この場合、それぞれは移動やプロパティ(Alphaなど)やタイムラインの変化が無く、1回
置かれたら静置されたままなのに、(何が原因か分かりませんが)CPUでは何か必死に
継続して計算しているようです。

確かに消費メモリー量は増加しますが、それでも10MB→30MB程度です。
皆さんは、一回多数のMCが置かれたままにも関わらずCPU負荷が上がったままの
経験はありますか?
(あと考えられる原因はありますか?)

※ extends MovieClip を extends Sprite にしようと思いましたが、制約上できません。
 また、リスナーを弱参照にしてGCしていますが改善されません。

129Now_loading...774KB:2009/08/19(水) 00:20:10 ID:qsHJm39M
計算してるんじゃない
タイムラインを監視してるんじゃないか?
試しにそのMCAの先頭にstop();書いてみたら?
あとGCしてるんなら数千個いらんだろ?
それにGCは意図的に出来ないよ
特にメインメモリが20〜程度しか使ってないんじゃ…一生GCされない
GCしたいなら要らんCGをプレビューソフトで数千枚開いてメモリを一杯にしといて
フラッシュを起動してみ?

要するに実験でしょ?細かい事考えんな
130Now_loading...774KB:2009/08/19(水) 00:22:00 ID:qsHJm39M
4行目が余計だった
ごめんなさい
131128:2009/08/19(水) 03:11:41 ID:XNQE3UIH
>>129
レスさんきゅう。
mcAは10フレーム持っていますが、その全てにstop()を最初の行に入れています。
stop()を入れていても、Playerは(一応というか)他のフレームの見回りをしている
可能性があるということでしょうか?
132Now_loading...774KB:2009/08/19(水) 03:21:13 ID:eCDV2HaT
(前のスレでレスが無かったので再投稿)
FlashCS3(AS3.0,AIR_1.0)をWinXPで使用

AIRのソケットで外部のXML(パラメーターを書いたXML)を読み込み、それを元に
StageのMC内で描画を行いました。
これはこれで正しく動作したのすが、これとは別に外部フォルダにあるMP3をリスト化して
表示する動作で下記のエラーが出て困っています。

ReferenceError: Error #1065: 変数 ::xml は定義されていません。
at SongPropMC/onFrame()[SongPropMC::frame1:66]

・・・ この変数 xml は、ソケット通信のクラスで var xml:XML; と宣言して使用しているのみ。

しかし該当するクラスの記述を見てもXMLとは無関係のもので、しかも、SongPropMCは
65行までしかありません。
取りあえずSongPropMCのonFrame()は無効にしても問題ないので、これを消したところ
今度は下記のエラーが出ました。

ReferenceError: Error #1065: 変数 ::xml は定義されていません。
at SpectDisp/onFrame()[SpectDisp::frame1:33]

SpectDispもXML読み込みとは無関係です。
ハッキリ言ってモグラ叩きの状態です。また、エラーメッセージで指摘された行番号に
間違いがあれば対処しようがありますが、2番目のSpectDispにも33行というのはありません。

どなたかヒント願います。
133Now_loading...774KB:2009/08/19(水) 14:09:10 ID:qsHJm39M
>>131
そう?
同じように5000個newして作ってみたが、stop();でちゃんと静止したよ
あと、stop();かけなくても最高でも20%いかない。当方Xeon2.26GHz。

じゃ他に考えられるのが描画の負荷
そのmcaは画像もってんの?
画像取っ払ってタイムラインありで5%くらい(タイムラインの監視分?)
画像ありでstop();ありで2.5%くらい(静止ほぼアイドル)
描画の負荷15%ってところか…如何にデカイかがわかるな
画像は150x150の黒い四角。他ドキュメントとかはデフォ(この辺も大きく影響する)

下らない事すんな時間の無駄だ
134Now_loading...774KB:2009/08/19(水) 20:46:36 ID:Dr6I17if
>>132
8使ってるけど、asファイルをインクルードしてると間違いがあった時に
エラーメッセージの行数とかが当てにならなくなったりするな
135Now_loading...774KB:2009/08/20(木) 21:48:49 ID:9IFaBRdk
9割がた無理かなと思いますが、
flashにjsを読み込ませてflash内にjs表示データを表示したいのですが、
可能なのでしょうか?
136Now_loading...774KB:2009/08/20(木) 22:04:10 ID:jrEGDjda
意味が分からない・・・
137Now_loading...774KB:2009/08/20(木) 22:30:47 ID:hqKQNL/m
話す相手を思いやる気持ちが無い人にしかこういう質問は書けない。
138Now_loading...774KB:2009/08/20(木) 22:36:34 ID:9t+D17Lv
srcでjs読み込ますんみたいなのですね
139135:2009/08/20(木) 22:54:31 ID:9IFaBRdk
質問べたですいません。
たとえば、document.write("<img src='hage.jpg'>pigya");のようなjsが
あるのですが、これを自分の作ったフラッシュの中から呼び出し
そのままflash内に画像やテキストを表示したいという質問なのですが、
可能でしょうか?
この画像をflash側でattachやloadmovieするのはだめで、あくまで
jsを読み込んでタグで指定したデザインそのままに
flashで表示する方法です。
140Now_loading...774KB:2009/08/21(金) 00:07:21 ID:N/zzJO8I
>>139
それは試してみればいいんじゃないかな
ただFLASH内でjsファイルをロードしても
動かないと思うのだけど
xml呼び出しとかにしなされ
141Now_loading...774KB:2009/08/21(金) 07:26:01 ID:yEupEJPU
AS3.0、adobeCS3、winXPなんですがlistコンポーネントにフォーカスがあるときに
Enterキーが押されたことを認識する方法が分かりません。

listコンポーネントのKeyDownイベントでは拾えませんでした。
listコンポーネントにフォーカスがある時にはstageのKeyDownイベントでも拾えません。
どげんかしたらよいでしょうか?

ちなみに矢印キー(↑、↓、←、→)が押されたことは上記の方法で拾えました。
142Now_loading...774KB:2009/08/21(金) 09:38:07 ID:su5IY745
それってキーボードショートカット無効にして確認してみたの?
矢印キーが拾えるならいけそうなもんだけど
143141:2009/08/21(金) 11:15:28 ID:yEupEJPU
>>142
無効にしたら動きました〜〜〜〜。

キーボードイベントのときは無効にするかパブリッシュして確認したほうが良いということは知っていて、
パブリッシュをして確認してたつもりだったんですが、プレビューで確認したものと混同してしまったようです。

お陰さまでやろうとしてたことが出来そうです、どうもありがとうございました。m(^^)m
144Now_loading...774KB:2009/08/21(金) 14:01:10 ID:0f9Ug4W/
>>134
どうも。
ググっても確かに症状の報告はありますが、報告している本人も
全く原因が分からないようです。僕もお手上げに近いです。
関係ない記述の存在しない行でエラーになりますので・・・

取りあえず、今はXMLを使わない方法で回避しています。
145141:2009/08/21(金) 16:23:11 ID:yEupEJPU
もう1つずっと気になっていることがあるので質問させて下さいm(_ _)m
環境:AS3.0、adobeCS3、winXP

実験用flaファイルを作ってみました。 ( DLパス => f )
ttp://up.shinetworks.net/cgi-bin/snup/src/shine70636.zip.html

( 実験の手順 )

1. ボタンを押します。リストに8つアイテムが追加され、フォーカスがリストに移動します。

2. 矢印キーの"↓"を押し、6番目のアイテムが選択された状態にします。

3. 再度ボタンを押し、リストの中身を4つの新しいアイテムと入れ替えます。フォーカスはリストに移動します。

4. 矢印キーの"↓"を押し、アイテムの選択を試みますが失敗します。

5. 矢印キーの"↑"を何度か押しているとフォーカスが戻ってきます。


( 本題 )
4. で選択に失敗する原因は 「6番目のアイテムを選択状態にしている」 という情報が残っているためだと思われ
ますが、この情報を初期化することは出来ないでしょうか? リストコンポーネントのインスタンスを新たに
作って古いリストと入れ替えれば一応期待した動作にはなりますが、とてもスマートとは言えません。

( 試したこと )

・ プレビューではなくパブリッシュして実験しました。

・ 以下のようなコードを使っていますがどれも効果がありませんでした。
myList.clearSelection();
myList.selectedIndex = 0;
myList.selectedItem = null;
146Now_loading...774KB:2009/08/21(金) 20:15:01 ID:mIND8hLp
Flashの始めに「Now Loading....xx%/100%」を作りたいのですが、
自分自身のロード、複数の外部ファイル(画像や音声など)のロードをまとめるにはどうしたらいいですか?

それそれなら、
自分自身は loaderInfo.bytesTotal と loaderInfo.bytesLoaded、
外部は Progress を使えば出来る事は分かったのですが、
これらをまとめて最初にロード状況を表示し、完了したらプログラムが走る…といった事をやりたいです。

AS3 FlashDevelopで開発しています。
教えてくださいお願いします!
147Now_loading...774KB:2009/08/21(金) 20:24:57 ID:m599ZVVv
>>145
stage.addEventListener (KeyboardEvent.KEY_DOWN, keyFunc); と 上下キーのコード38と40
とtraceで選択アイテムを監視したら?

フラグの反転は flag=!flag; でOKだし、
myDataProvider.removeAll ();
stage.focus = myList;
myList.dataProvider = myDataProvider;
myList.clearSelection ();
myList.selectedIndex = 0;
myList.selectedItem = null;
は function buttonClick ( e:MouseEvent ) 内部で共用にして良い。
try〜catchでエラーを取る手も。



>>146
完了作業数でカウントをとるのはダメなん?
148Now_loading...774KB:2009/08/21(金) 20:54:14 ID:PyKfGS/m
>>145
myList.selectedIndex = 0;
これで普通にいける。そのflaではこのあとにselectedItem = nullしてるからできてないけど
149148:2009/08/22(土) 01:11:00 ID:hathSAsY
ごめん。ただselectedIndex=0しただけだと、その後キーボードで操作するとおかしいことになるね
これはたぶんSelectableListのバグだと思う
キーボード操作するときcaretIndexっていう値をみて上や下のアイテムに移動するけど
selectedIndexを更新するときにcaretIndexを更新しないことが原因。selectedIndex=0した後にcaretIndex=0ってできればいいんだけど
caretIndexはprotectedなのでできないから
1)コンポーネントソースファイルを編集してバグを修正
2)Listを継承してcaretIndexの値を設定するpublicメソッドを追加
のどちらかでできる
150Now_loading...774KB:2009/08/22(土) 01:13:13 ID:hathSAsY
1)コンポーネントソースファイルを編集してバグを修正
C:\Program Files\Adobe\Adobe Flash CS3\ja\Configuration\Component Source\ActionScript 3.0\User Interface\fl\controls (Windowsの場合)
にあるSelectableList.asをテキストエディタで開いて558行目あたりのselectedIndexメソッドの最後の行に
caretIndex = value;
を追加して上書き
CS3の環境設定>ActionScript>ActionScript3.0設定でクラスパス
$(AppConfig)/Component Source/ActionScript 3.0/User Interface
を追加

参考URL
http://help.adobe.com/ja_JP/ActionScript/3.0_UsingComponentsAS3/WS5b3ccc516d4fbf351e63e3d118a9c65b32-7feb.html
http://help.adobe.com/ja_JP/ActionScript/3.0_UsingComponentsAS3/WS5b3ccc516d4fbf351e63e3d118a9c65b32-7fd3.html
151Now_loading...774KB:2009/08/22(土) 01:14:02 ID:hathSAsY
2)Listを継承してcaretIndexの値を設定するpublicメソッドを追加

package {
import fl.controls.List;
public class ListF extends List {
public function ListF(){
super();
}
public function setCaretIndex(value:int){
caretIndex = value;
}
}
}

これをListF.asとして保存してfla側でimportしてListの代わりに使用
myList.selectedIndex = 0;
の下の行に
myList.setCaretIndex(0);
を書く
152141:2009/08/22(土) 06:20:12 ID:fAgXWg2B
>>147, >>148-151
神レスありがとうございます。 今からいじってみて、また後でご報告させて頂きます。m(_ _)m
153141:2009/08/22(土) 08:39:35 ID:fAgXWg2B
>>148 さんの (1)、(2) のどちらの方法でもうまくいきました!

これが解決しなければlistコンポーネントの代わりになるMCを自作しなければならないところでした。
本当に助かりました、心より感謝申し上げます。

また、>>147さんの flag=!flag; や >>148さんの (1)、(2) の方法など、大変勉強になりました。

最後に訂正です、>>59, >>65 に "list.selectedItem は読み取り専用プロパティ" とのやり取りがありましたが、
AS3.0では書き換えることが可能でした。

ではでは、お二方、どうもありがとうございました。m(_ _)m
154Now_loading...774KB:2009/08/22(土) 11:49:43 ID:LEeEVNwd
AS3とPHPの連携が上手くいかずにハマってしまったので質問させてください。

環境
WindowsXP Pro SP2
Flash CS3
Apache Server 2.0.63
PHP Version 5.2.10
(UTF-8で統一…したつもり)
C:\Program Files\Apache Group\Apache2\htdocs\testで作業中

AS3とPHPの連携 - 基礎 - memo_at sonic
http://www.at-sonic.com/blog/archives/2008/02/as3php.php
↑のページのコードをそのままドキュメントクラスに放り込んで
制御→ムービープレビューから実行しているのですが上手くtraceできないのです。
必要な設定、実行方法をご存知の方がいらっしゃいましたらご教示ください。

http://kissho1.xii.jp/7/src/7jyou25178.jpg
155じゅん(^_^)V ◆cFarVqZ.Ss :2009/08/22(土) 12:19:44 ID:dv9qVYJj
>>154
考えられる、一番単純な要因として。

パブリッシュ設定の「ActionScriptのバージョン」の項目は
ActionScript3.0に設定されていますか?
156154:2009/08/22(土) 12:26:45 ID:LEeEVNwd
>>155回答ありがとうございます。

確認したところ
パブリッシュ設定のActionScriptのバージョンの項目は
ActionScript3.0に設定されていました。( ̄ー ̄;
ActionScript3.0だとまずいですか?
157じゅん(^_^)V ◆cFarVqZ.Ss :2009/08/22(土) 12:35:23 ID:dv9qVYJj
>>156
いえ、ActionScript3.0で正しい設定ですね。
おそらくパブリッシュの設定には、問題ありませんね。
158154:2009/08/22(土) 12:45:14 ID:LEeEVNwd
>>157そうですか…

phpinfoもtest.phpも単体では問題なくブラウザで動作します
ただapacheをストップさせても全く同じ結果なのでどうもflash側がphpを動作させてないような…
159154:2009/08/22(土) 14:01:23 ID:LEeEVNwd
>>155>>157
すいません。解決したっぽいです。

色々ぐぐってみて、Flashのムービープレビューからだと出来ないとかなんとか…
(パブリッシュしたHTMLファイルをクリックしてもだめでブラウザからURLを入力してアクセスしろとのこと)

■イントラネット設定は既定でオフになりました。
イントラネット設定はインターネット設定よりも低いセキュリティ設定です。
オプションを表示するには、ここをクリックしてください・・■

関係無いかもしれませんがブラウザのこの設定も有効にしておきました。

回答ありがとうございました。お騒がせしました。
160Now_loading...774KB:2009/08/22(土) 16:07:52 ID:SZSHfPW9
iPhoneとか月月割額が大きい機種は、最低支払月額が多くなってるのね。
http://mb.softbank.jp/mb/iphone/everybody/
8円だけじゃないんだね。
161Now_loading...774KB:2009/08/22(土) 16:09:08 ID:SZSHfPW9
すまん誤爆
162Now_loading...774KB:2009/08/22(土) 18:29:25 ID:qaKz6xPn
誤爆情報は意外に貴重な情報であることが多い
163Now_loading...774KB:2009/08/23(日) 17:28:33 ID:INssX8XE
Box2dでフィルターなりグループ分けなりを使って
衝突が起こらないようにした物体から
当たり判定を得る上手い方法ってないでしょうか。

衝突による物理現象は発生しないけど、
当たった(重なっている)というのはわかる、
というのが出来れば理想なんですが…。

やっぱり、自前で当たり判定やらないとダメですかね?
164Now_loading...774KB:2009/08/24(月) 23:25:44 ID:+e5xYJvW
as3.0でinclude "file/test.as"と書くとき、
flaファイルの場所が基準になりますが、
別の場所を基準にしたいです。可能でしょうか?

環境はWinXP,flashCS3です。
165Now_loading...774KB:2009/08/25(火) 04:39:35 ID:F/YTNDFC
>>164
include "/c:/test.as";
166Now_loading...774KB:2009/08/26(水) 12:24:19 ID:SDhItC6W
ドキュメントクラス内で生成しているpublicにしてある、
オブジェクトaObjをvisible = falseにすると
問題なく非表示になります。以下みたいな感じです。

Object(root).aObj.visible =false;


そこで、実験で、removeChildを使って
表示オブジェクトから消し去ろうとすると、1120エラーが出ます。
以下の様な感じです。

Object(root).removeChild(aObj);
とすると、
1120: 未定義のプロパティ aObj へのアクセスです。
が出てしまいます。

なんで、visibleプロパティは認識するのに、
removeChildがエラーになるんでしょうか。
この違いは何なのでしょう?
167Now_loading...774KB:2009/08/26(水) 13:36:14 ID:ZiRQjxAl
Object(root).removeChild(Object(root).aObj);
なら通るんじゃね?クソ汚い書き方だけど
168Now_loading...774KB:2009/08/26(水) 14:07:43 ID:SvXi98VL
Object() でキャストしたものは別インスタンスになるのかな??
169Now_loading...774KB:2009/08/26(水) 14:37:12 ID:M1glroz3
うんこ初心者の質問ですみません。
本の通りにやって、これで画像が表示されるはずなんだけど
半日調べてみたけど駄目でした。進まないorz
macだからとかあるのかな?

http://upload.fam.cx/cgi-bin/img-box/pjp90826143413.jpg
原因分かる人お願いします
170Now_loading...774KB:2009/08/26(水) 14:39:52 ID:SvXi98VL
>>169
○ addChild
× addchild
171Now_loading...774KB:2009/08/26(水) 14:41:58 ID:M1glroz3
>>170
大文字…(0ω0)あ…ありがとうございます
うんこすぎて恥ずかしいです。がんがります。
172Now_loading...774KB:2009/08/26(水) 19:16:44 ID:t9HZ2Ob1
2.0です
MovieClipクラスを継承したクラスを作成しました

attachMovie()でそのクラスを適用するにはリンケージのクラスにクラス名を書けばいいのですよね。

ではcreateEmptyMovieClip()で作った空のMCにそのクラスを適用するにはどうしたらいいでしょうか?
コンストラクタではMCは作成されないのですよね
173Now_loading...774KB:2009/08/26(水) 19:58:13 ID:34QcuSSr
>>172
__proto__使えば継承させることはできるけど
リンケージしたクラスattachすりゃ済む話じゃないのそれ?
174Now_loading...774KB:2009/08/26(水) 20:06:48 ID:t9HZ2Ob1
>>173
空のシンボルをライブラリに作ってリンケージしてってことですか

ほんとに空なのでライブラリごちゃごちゃするからシンボル化させたくなかったのですが
そうしてみます。
175aki:2009/08/27(木) 00:40:31 ID:R1Awuk7I
AS2.0 Player7対応でFLVをストリーミング再生させるとき
_root._nc = new NetConnection();
_root._nc.connect("コンテンツパス");
_root._ns = new NetStream(_root._nc);
player_mc._video.attachVideo(_root._ns);
というふうに定義しましたが、
これって接続が切れた時ってみなさんどのように
再接続していますか??
それとも一回接続切れたら終わりなんですかね?
コネクションの定義自体をReleaseのファンクションに
突っ込んでみましたが、上手く動作せずとても困っています。
どなたか教えてもらえれば幸いです。
176Now_loading...774KB:2009/08/27(木) 02:58:51 ID:oTTyzScc
C言語で言うprintfのように
整形テキストを出力する関数なんてありますか?

printf( "%5d,%5d\n", num, time );
↑こんな感じで指定して、下記のような文字列を得たいと思っています。
-----------------
123, 12345
1234, 1234
12345, 123
-----------------
177176:2009/08/27(木) 03:00:31 ID:oTTyzScc
半角スペースが消えるのを忘れておりました。正しくは以下のような感じです。
-----------------
__123, 12345
_1234, _1234
12345, __123
-----------------
スレ汚し申し訳ありません。
178Now_loading...774KB:2009/08/27(木) 03:17:54 ID:dWhMeMR0
replace
179Now_loading...774KB:2009/08/28(金) 01:09:41 ID:/Em9Um65
ベクターはサイズが小さいが処理が重く
ラスターはサイズが大きいが処理が軽い
というイメージがあります。
ただ単に長方形を100個ほど動かすだけなら処理の重さは変わらないのでしょうか?
ActionScriptは2.0です
180Now_loading...774KB:2009/08/28(金) 12:10:19 ID:rfWxxXVs
>>179

スムーズに動かしたいなら、絶対ラスタイメージにする。
ただし、ローディングバーとか必要になるかも
181Now_loading...774KB:2009/08/28(金) 12:33:58 ID:8rqaUsKl
>>179
サイズが大きい、小さい
ラスタ>ベクタ
動かす処理が重い、軽い
ベクタ>ラスタ

ベクタを処理が重くなるほど動かすときは
ビットマップに変換なんたらかんたらする命令があるよ
182Now_loading...774KB:2009/08/28(金) 14:49:30 ID:/Em9Um65
>>180
ほんとにただの長方形なので画像化しても50バイトでした
この程度の単純なものならベクターでも変わらないのかなと思って

>>181
調べてみるとビットマップキャッシュというやつがでてきました。
ベクターにしといてキャッシュするのと最初から画像化どっちが少しでも軽いんだろ

FLASHにかかってる負荷やメモリを数値で見ることはできないんでしょうか。
コンパネ?
183Now_loading...774KB:2009/08/28(金) 16:03:32 ID:uuXx2wkP
>>182
A3.0ならメモリ使用量を見れるがAS2.0は分からん。
つーかググれ。
184Now_loading...774KB:2009/08/29(土) 03:55:42 ID:UfcF+En6
Flashと連携して、USB経由でデータを送信する。

USBにつながれている、動くサボテンのおもちゃが動いたり、止まったりする。

こんなことって、ActionScriptで可能ですかね?

馬鹿な私を誰か助けて。
185Now_loading...774KB:2009/08/29(土) 04:03:24 ID:1StTgig0
actionscript3.0なのですが、文字列を使ってオブジェクトのプロパティを
参照する方法ってあるのでしょうか?

たとえば、objという名前のオブジェクトにmyTextというプロパティを
設定している場合、utils.getProp(obj, "myText")という関数を使うと
obj.myTextの参照が返ってくる、みたいな感じで。
186Now_loading...774KB:2009/08/29(土) 04:22:52 ID:XtuVGmOh
>>184
Gainer(モーターを動かしたり、温度の測定も可能)
187Now_loading...774KB:2009/08/29(土) 09:18:19 ID:CGY2F2Se
>>184
Phidgetは?

超いまさらなんだけど
delete a,b:
ってもしかしてbが消せない?
普通にかけるから消せると思ってた
188Now_loading...774KB:2009/08/29(土) 10:26:07 ID:WA5lfuJc
AS3で、Vectorから先頭でも末尾でもない要素を削除するのはどうやる
のがいいの?
リファレンスみた感じだと次の方法しかないような感じがするんだけど、
正直信じられない。
・spliceで新しいVectorを作る(←遅すぎだろ)
・ループで回して要素をずらした後、lengthをセットして切り詰め(←遅すぎだろ)
delete vec[i]とかやってもダメなんだよね?
189Now_loading...774KB:2009/08/29(土) 10:34:24 ID:WaK6TMt/
>>188
上位深度に背景と同じ色の線を描く
190188:2009/08/29(土) 10:47:40 ID:WA5lfuJc
>>189
返事ありがとう。
えっと、それはVectorで指示した描画内容から1つの描画要素を実質的に打ち消す、
という意味だよね?
でも、今回質問したのは単純なデータ構造の話なんだ。単純に、Vectorから要素を
1つ削除するための方法を探してる。
191Now_loading...774KB:2009/08/29(土) 12:29:47 ID:JAQN46AW
>>185
var prop:String = "myText";
obj[prop]
192Now_loading...774KB:2009/08/29(土) 12:50:50 ID:mi6Vup3w
普通はspliceで済む話だからなあ。新しい配列なんて作ったっけ?それsliceじゃなくて?
それで遅いって言うなら、自分で連結リストとインデックス値持つクラス作って管理すればいいんじゃね?
それでsplice以上の速度出るかしらんけど。
193188:2009/08/29(土) 13:03:37 ID:WA5lfuJc
>>192
あああ、spliceってthisを変更するのか。
リファレンスの戻り値のところ見て「うわ、コピー作るのかよ」って思ってしまった。
勘違いスマン。
そうするとやっぱspliceがいいのかね。毎回オブジェクトをnewするっぽいけど。
194184:2009/08/29(土) 14:21:24 ID:UfcF+En6
>>186
>>187

ありがとうございます。
Gainer、Phidget調べてみます。
195Now_loading...774KB:2009/08/29(土) 16:16:20 ID:JugPFT2e
サイズの大きい画像なんかにフィルターをかけたりすると
処理が結構重くなりますが、できるだけ軽くする方法は
ありますか?
196Now_loading...774KB:2009/08/29(土) 16:36:09 ID:X7C/SJXL
>>194
正しくは、Phidgets(複数形)だと思う。
197Now_loading...774KB:2009/08/29(土) 22:25:32 ID:EqXo1fMU
AS2.0で作っています

マウスを重ねるとだんだん透明になる処理を行いたいです

onClipEvent (load) {
this._alpha=100;
}
onClipEvent (enterFrame) {
this._alpha-=5;
}

だと、実行された瞬間に消えていってしまいますし

onClipEvent (load) {
this._alpha=100;
}
on(rollOver){
this._alpha-=5;
}

だと、マウスをのせると5%だけ減って
完全に消すには何回もマウスを乗せなおさなければいけません

どのようにすればマウスを1度乗せただけで透明になるでしょうか?
198Now_loading...774KB:2009/08/29(土) 23:03:33 ID:7XDxpCQn
>>197
onRollOverイベントでonEnterFrameにアルファ減らす関数を定義すればいけんじゃね
199Now_loading...774KB:2009/08/29(土) 23:21:00 ID:v6EmytlD
fla8 as2.0で作成

ttp://www.dotup.org/uploda/www.dotup.org85236.fla

「乱数を取得→取得した乱数に応じて、〜フレームから再生」をしたいのですが、
そもそもフレーム移動する瞬間に乱数が取得できません。
scriptはこれで合っているのかも分りません。
ズブの素人だからと媚びるつもりはありませんがご教授お願いします。
200Now_loading...774KB:2009/08/30(日) 00:54:51 ID:s8JLMoUK
>>197
2フレーム目から透明になっていくmcに入れ子にして作ってonRollOverでそこにとばすとか
>>198とか
別々に考える

>>199
○if文の使い方
○ヘルプでMathを検索
ttp://www.geocities.jp/myflashsouko/flash/index4.html#rand01で乱数を検索
201Now_loading...774KB:2009/08/30(日) 01:43:52 ID:Jz6vp8T5
>>200
ぐだぐだな質問にもかかわらずご教授頂き、ありがとうございました。
callの存在なんて知らんかったorz
202名無しさん@そうだ選挙に行こう:2009/08/30(日) 11:25:54 ID:VBeG1yVz
>>197
-5だと20フレーム程度で0になるから、フレームレートが高いならそのせいだろう
this._alpha-=3;
this._alpha--;
とか、1フレームごとのマイナスの値を低くすればいいんじゃないか

あとは>>200とか。
203名無しさん@そうだ選挙に行こう:2009/08/30(日) 14:35:59 ID:x3V54dZb
CS4(AS3.0, Player10)のWinXP-Pro

カスタムクラスがnewされたときにカスタムクラス側からメインタイムライン変数を
参照したいのですが意図通りにならず困っています。

ここでカスタムクラスはGraph_03(ライブラリのMCにリンケージされている),メイン
タイムライン変数をvar haba:uint=100; にしていますが、コンストラクタで
trace("haba= "+MovieClip(root).haba); と書くと下記のエラーが出ます。

 Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。

目的は、カスタムクラスのGraph_03の描画パラメーター(大きさや出現回数)として
メインタイムライン変数を使うことです。

どうしたら良いでしょうか?
204名無しさん@そうだ選挙に行こう:2009/08/30(日) 14:55:33 ID:4WuidzJf
環境
CS3 AS3.0 WinXP

ttp://level0.kayac.com/2008/12/kirakira_particle1.php


このサンプルのpoint_mcをマウス追従じゃなくて、
普通にモーションで左右にループで動かすと、
星の量が無限に増えるんですが、
この量を一定にするにはどうすれば良いでしょうか。。?



205名無しさん@そうだ選挙に行こう:2009/08/30(日) 15:10:40 ID:A9ijApeO
>>204
コードださなきゃ訳分からん
206204:2009/08/30(日) 15:13:21 ID:4WuidzJf
すみません。
コードとfla一式です。

http://homepage3.nifty.com/testweb/081203EndlessStar.zip

多分、Particle.asの中身をどうにかするんだと思うのですが。。

207名無しさん@そうだ選挙に行こう:2009/08/30(日) 19:35:32 ID:YOwKQ3b3
ASで、あんなものやこんなもの、ProgressionとかPapervisionとか使いたいけど使い方がよくわからん。
みんなどうやって覚えた??
208名無しさん@そうだ選挙に行こう:2009/08/30(日) 20:52:25 ID:igEZxYGo
>>207
ぐぐれ

ただし、Progressionは曲者
209Now_loading...774KB:2009/08/30(日) 22:05:13 ID:QdIHWpIO
アクションスクリプトで、変数の中の数値を返すものはありませんか?
具体的には、あるスプライトの中のx座標の一桁目を返したいのです。
charAtなどの文字列を返すものでは数値は返ってきませんでしたし、変数の中の数値を一旦文字列に代えようとしても、変数自体の何文字目かが返ってくるのでどうしようもありません。

210Now_loading...774KB:2009/08/30(日) 22:09:16 ID:PbMP4X/S
>>209
1文字づつ読み込んで文字コード(48〜57)と比較、あるいは正規表現は?
211Now_loading...774KB:2009/08/30(日) 22:17:07 ID:ohlzDCf9
AS2でFLVPlasyback使ってカスタムスキンで動画プレーヤー作っているのですが、
カスタムスキンにするとskinAutoHideが使えなくて、
何か代わりになるスクリプトとかないですかね?
212Now_loading...774KB:2009/08/30(日) 22:26:46 ID:s8JLMoUK
>>209
>>変数自体の何文字目かが返ってくる

よく意味がわからん。 変数をいったん文字列にして一文字目を出して数値にしたらいいんじゃないの?
213Now_loading...774KB:2009/08/30(日) 22:28:17 ID:yI278Dh+
>>209
何か読んでてよく分からないけど、Sprite.xの一桁目ならxを10で割った余りじゃダメなのか?
214Now_loading...774KB:2009/08/30(日) 22:34:57 ID:8LYFkdNB
質問の仕方をまず覚えよう。 相手する価値なし。
215Now_loading...774KB:2009/08/30(日) 22:39:32 ID:s8JLMoUK
>>213
ああ一桁目ってそっちか。
14.4   ←1
248.5  ←2
桁数が違う数字のいちばん左の値がほしいのかと思ってた
216Now_loading...774KB:2009/08/30(日) 22:48:14 ID:yI278Dh+
>>215
いや、そっちかも知れんよ
最後の方とかよく分からんまま書いたし
217Now_loading...774KB:2009/08/30(日) 23:32:30 ID:Uskm+LZa
憶測合戦やめてw
218204:2009/08/31(月) 00:31:15 ID:Ijl9/bW8

多分、この辺りが関連してるんだとおもうのですが。。


※EndlessStar.as

//コンストラクタ
public function EndlessStar(point_mc:MovieClip, timer:Number, adjust:Number, speed:Number, life:Number, alphaspeed:Number) {
this.point_mc = point_mc;
this.adjust = adjust*100;
this.speed = speed;
this.life = life*(Math.random()*2);
this.alphaspeed = alphaspeed;
myTimer = new Timer(timer);
init();
}

private function init():void {
myTimer.start();
myTimer.addEventListener(TimerEvent.TIMER, timerHandler);
}

//
private function timerHandler(e:TimerEvent):void {
var star:Particle = new Particle(speed, life, alphaspeed);
var obj:Object = setPoint();
var p:MovieClip = stage.addChild(star);
p.x = obj.xpos;
p.y = obj.ypos;
}
219209:2009/08/31(月) 01:37:42 ID:r048GBJE
混乱させたみたいでごめんなさい。
頭のほうが疲れておかしくなっているんだ。
ゆっくり整理してからまた来ます。
220209:2009/08/31(月) 02:01:49 ID:r048GBJE
一桁目とは一の位のことを言っていました。123なら1でなく3のことです。
もしSprite.xが123のときに「x」でなく「3」の数値を返してほしかったのです。
212が書き込んでくれたような方法も試したのですが、うまくいきませんでした。原因は余裕があったら調べてみたいと思います。
たぶん213の意見で正解なんだと思います。ありがとうございます。
試してみてだめだったらまた来ます。
正直自分でも訳の判らないことだと判って書き込みました。ごめんなさい。
反省しております。
今度からきちんと整理してきます。
ごめんなさい。
221Now_loading...774KB:2009/08/31(月) 05:30:12 ID:h0nR9ZH6
外部クラスからステージを参照(?)したいのですが、どうすればいいでしょうか
下記ソースのような事をやりたいです

package
{
  import flash.display.Sprite;
  import test.Test;

  class Main extends Sprite {
    function Main():void {
      var test:Test = new Test();
      test.run();
    }
  }
}

package test
{
  public class Test {
    public function Test():void {
      return;
    }

    public function run():void {
      //ここでステージの縦横を取得したい。(結果はエラー)
      trace(stage.stageWidth, stage.stageHeight);
    }
  }
}
222Now_loading...774KB:2009/08/31(月) 09:10:49 ID:jU2rg/mj
>>221
Mainクラスはstage持ってるよね
stageはStageクラスが入っている変数って思ったらいいよ

だから、 new Test();の時に
new Test(stage);にしてあげて

Testコンストラクタの引数にStageクラスをもらうようにしたらいい。
で、コンストラクタの中でゴニョゴニョしたら、Stageクラスが使えるようになる。
223204:2009/08/31(月) 09:57:51 ID:Ijl9/bW8
度々すみません。

具体的にはTimerEventで指定したミリ秒ごとに星を生成していますが、「n個まで生成されたら新しく生成しない」というような処理をtimerHandler内に加えたいです。

何卒宜しくお願いいたします。
224Now_loading...774KB:2009/08/31(月) 10:05:07 ID:h0nR9ZH6
>>222
ありがとうございます!
225Now_loading...774KB:2009/08/31(月) 12:19:42 ID:Bv1ZSz1V
winXP、cs4とFlashDevelop+Flex3+FlashPlayer10でバグを発見しました。
レースゲームを作っていて、道路の白線にグラデーションリピートしてるのですが
ある程度コースを進むと白線が動かなくなってしまいます。(道路はずっと直線)
この問題の解決法思いつく人いますか??
http://mrgrotesque.com/blog/?dir=200908311210
226Now_loading...774KB:2009/08/31(月) 12:38:56 ID:I91jjVBV
>>225

これ、ストロボ効果では...
227Now_loading...774KB:2009/08/31(月) 12:49:49 ID:Bv1ZSz1V
>>226
僕もはじめはそう思って気にしてなかったんですけど
グラデーションの原点からある数以上(あるループ回数以上?)遠ざかってしまう
車の速度を変えてもまったく動かないんですよね。
228Now_loading...774KB:2009/08/31(月) 12:53:27 ID:Bv1ZSz1V
×遠ざかってしまう
○遠ざかってしまうと

いやぁ、focalPointRaitoの値を遠ざからないよう、ループ関係が狂わないように
車についていくようにプログラミングしようとしたんですけど
そうすると、シェイプを描画しなおさなきゃいですね… どうしよう
229Now_loading...774KB:2009/08/31(月) 13:05:03 ID:Bv1ZSz1V
すみませんfocalPointRaitoは関係ないですね(汗
matrix.createGradientBox(〜);で、グラデーション原点をいじれそうですね。
ちょっと色々試してみます。
230Now_loading...774KB:2009/08/31(月) 13:28:38 ID:/KodyPyF
>>223
3.0まったく触ったことのない俺の推測だけど

30フレーム目のあと1フレーム目に戻るじゃん
そんとき1フレーム目のアクションがまた実行されて
EndlessStarのコンストラクタが呼び出されてるのを確認した
で、1フレに戻るたびに無限生成激重になってく
だからn個まで生成されたら〜は解決にはならないと思う

とりあえず1フレーム目のアクションを
var flag:Boolean;
if (flag!=true) {
flag=true;
var particle:EndlessStar = new EndlessStar( point_mc,//まわりにきらきらを表示させるMC
10,//きらきらが生成されるタイミング/msec
2,//ばらけ具合
3,//落ちるスピード
400,//消える速さ
0.01//アルファ
);
stage.addChild(particle);
}
にしたら解決はしたけど完全に下策だから
point_mcを入れ子にして親を動かすなりなんなりして
アクションが一回だけ実行されるようにしてみたら?
俺はパスとか全然わからんから無理だった
231Now_loading...774KB:2009/08/31(月) 15:20:29 ID:cMDFdPfY
flash CS4 アクションスプリクト3で、
文字が一文字ずつ、出てくるエフェクト
(RPGのゲームとかに、よくある、字幕みたいなやつです)
をやりたいのですが、どうすればできるのでしょうか?
232Now_loading...774KB:2009/08/31(月) 15:29:53 ID:/OPJHdr7
>>231
A) txt.substring(a, b); → ダイナミックテキストに表示
B) 文字を塗りに変換→MC化
233203:2009/08/31(月) 15:34:12 ID:b7Ib2t1P
すいません。どなたかお願いします。
addEventListenerでEvent.ADDEDとかを試したのですがダメでした。
234225:2009/08/31(月) 15:43:18 ID:Bv1ZSz1V
>>233
カスタムクラスをnewするときにコンストラクタでthis渡せばいいんじゃない?
new Custom( this );

>>225
どなたかこの問題の対処法わかるかたいたらお願いします。
235203:2009/08/31(月) 16:32:02 ID:b7Ib2t1P
>>234
「するときにコンストラクタでthis渡せば」
すいません。仕組みがよく分からないので、再度説明願います。
236203:2009/08/31(月) 16:33:20 ID:b7Ib2t1P
余計な語句が入っていたので修正。
「するときにコンストラクタでthis渡せば」 →「コンストラクタでthis渡せば」
237231:2009/08/31(月) 16:40:40 ID:cMDFdPfY
>>232

すいません。もう少し、詳しく教えて頂けると
ありがたい・・
238225:2009/08/31(月) 17:42:26 ID:Bv1ZSz1V
>>235
カスタムクラスって自分で作ったクラスのことだよね?

↓hoge.as

public class hoge
{
  public function hoge( main:MovieClip )
  {
    trace(main.haba);
  }
}

↓flashのメインタイムラインのアクションウインドウで

new hoge( this );

できなかったらごめん
239225:2009/08/31(月) 17:47:54 ID:Bv1ZSz1V
>>237
var str:String = "うんこうんこうんこぉぉぉ!";
var len:int=0;
addEventListener( Event.ENTER_FRAME, enterFrame );
function enterFrame( e:Event ):void
{
  len++;
  textField.text = str.substr(0,len);
}

こんなかんじでどう?このままだとあふれるけど
240231:2009/08/31(月) 18:36:03 ID:cMDFdPfY
ありがとうございます。

これを、このままコピペしてやってみたのですが
エラーになってしまいます。どうしてなのでしょうか?

また、このプログラムをアクション・フレームに
書き込むだけで、いいのでしょうか?まだ他に、やらないと
いけない操作などがありましたら、申し訳ないのですが
詳しく教えていただきたいです。質問ばかりですいません・・
241225:2009/08/31(月) 18:45:16 ID:Bv1ZSz1V
>>240
そらテキストフィールドつくんないと駄目だよ
ああもう!基礎の勉強くらいしよう!!

var textField:TextField = new TextField();
addChild( textField );
var str:String = "うんこおおおおおおおおおおおおおおおおおおおおおおおおおおおお";
addEventListener( Event.ENTER_FRAME, enterFrame );
var len:int=0;
function enterFrame(e:Event):void
{
len++;
textField.text = str.substr(0,len);
}

↑とりあえずこぴぺでできる

わかりやすいASのサイト
http://hakuhin.hp.infoseek.co.jp/main/as3.html
242204:2009/08/31(月) 19:38:39 ID:Ijl9/bW8
>>230

有り難うございます!
243204:2009/08/31(月) 20:06:29 ID:Ijl9/bW8
度々すみません。204です。

もう1点だけお願いします。。


環境
WinXP AS3.0 FP9

ボールの周りに星が降るサンプル"star.swf"を作って、
メインの”sample.swf”に読み込んでいます。

”sample.swf” の座標
var posX:Number = 0;
var posY:Number = 100;
を変えて"star.swf"の位置をずらしたいのですが、
ボールの周りに降っている星だけ移動してくれません。。

”sample.swf” で指定した"star.swf"の座標指定が、
ボールに対する星の始まり位置まで影響していないのが原因なのですが、、
おそらくbox/EndlessStar.as の中のどこかだと思います。。

"star.swf"の位置を上手く座標指定で移動させるにはどうすれば良いでしょうか?

何卒宜しくお願いいたします。


flaファイル一式
ttp://homepage3.nifty.com/testweb/swfload_sample.zip


244225:2009/08/31(月) 21:55:14 ID:Bv1ZSz1V
リンク先落とせないよん
245Now_loading...774KB:2009/08/31(月) 22:07:22 ID:cMDFdPfY
SWF形式で作成したファイルを、
読み込むには、どうすればいいのでしょうか?
Loaderというものを使用するようなのですが
246204:2009/08/31(月) 22:24:05 ID:Ijl9/bW8
失礼しました。
リンク先ファイル落とせるようにしました。
247225:2009/08/31(月) 22:57:19 ID:Bv1ZSz1V
>>245
まずはここをみよう
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/display/Loader.html

var loader:Loader = new Loader(); //でLoaderを作る
loader.load( new URLRequest("./test.swf") ); // これでロードされる
addChild( loader ); // これで画面に表示

※注意点
loaderはロード完了するまでに時間がかかる。
loaderはMCみたいなもので
ロードが完了するまでにaddChild( loader );ができるようになってる
ロードがおわるまでは空っぽだけど、読み終わるとloaderにぶらさがるようにコンテンツが表示される
よみこんだswfを操作するとなるとまた色々厄介な問題がはっせいする。
がんばれ!
248225:2009/08/31(月) 22:59:52 ID:Bv1ZSz1V
>>245
もし具体的な例がほしかったら
丁度>>243氏のやつがloaderつかってるからみてみるといいかも
249225:2009/08/31(月) 23:07:25 ID:Bv1ZSz1V
>>246
stageにaddChildしてるのが臭い気がする。
ざっとみただけだから適当なこというかもしれないけど
パーティクルもstageにaddChildしてないか?
これじゃ EndlessStarがmovieClipを継承してるいみがないきがするけど
250204:2009/08/31(月) 23:18:24 ID:Ijl9/bW8
>>249

有り難うございます。
多分、おっしゃる通りです。。
particleはstageにaddChildしてるみたいです。

stage.addChild(particle);



251255:2009/09/01(火) 00:07:02 ID:j0GogvgE
え?問題解決したの?
252Now_loading...774KB:2009/09/01(火) 00:11:52 ID:TeURsHpG
AS3で、テキストを作成し、それと、他のモーショントゥイーンなどで
作成したオブジェクトと、一緒にAVI形式に、書き出すには
やはりSWF形式にしたものを、loadorで適用しなければ
いけないのでしょうか?
似たような、質問で申し訳ないのですが
もっと簡単な方法があれば、教えていただきたいです。
253255:2009/09/01(火) 00:22:25 ID:j0GogvgE
「AS3で、テキストを作成し、それと、他のモーショントゥイーンなどで
作成したオブジェクトと、一緒にAVI形式に、書き出す」ってどういうこっちゃ
254204:2009/09/01(火) 00:22:48 ID:SHxlvsEH
251>>

いえ、解決方法はわからず。。です。
ご教授いただけると嬉しいです。。
255Now_loading...774KB:2009/09/01(火) 00:38:09 ID:TeURsHpG
>>253
すいません。説明が下手でした・・

要するに、テキスト部分だけをAS3で作成し
AVIや、クイックタイムで書き出したいんです。
256255:2009/09/01(火) 01:22:32 ID:j0GogvgE
>>254
stageってのはFlashコンテンツの最前面のレイヤーだと思って!
そしてstageはFlashコンテンツの中でひとつしか存在しない。
それは、たとえswfをloaderで読み込んだとしても変わらない。

あるtest.swfでstageに適当なMCをaddChildしたとする。
もちろんそのswfを直接実行したらそのMCは最前面に表示される。(あたりまえ)
では次に、そのtest.swfをtest2.swfがloaderを使って間接的に読み込んだとしよう。
たぶん204氏はtest.swfの内容はすべてloaderの中に収められると思い込んでるんだろうけどそれは間違い。
test.swfが指すstageはtest2.swfのstageなので、test.swfでstageにaddChildしたMCはloaderから飛び出し、test2.swfのstageにaddChildされる。
だからloaderの座標を変更しても、そのMCの座標はloaderの外にあるので変化しない。

ようするにどうすればいいかアドバイスするとstageにaddChildするなってこと。
stageにaddChildするものはデバッグ情報とかそういうのを一時的に表示させるときくらいだとおもう。(デバック情報などのかならず手前にきて欲しいものがあるときはstage.addChildは便利。)
257225だった:2009/09/01(火) 01:25:21 ID:j0GogvgE
>>255
!!
そんなことできるのかな?かなり高度だよねできたら感動!
できないことはないのかな
258225:2009/09/01(火) 01:29:30 ID:j0GogvgE
>>255
よく考え直したらFlashでそれをやるメリットなくない?
Perlとかのほうがいいとおもうけど。
ローカルで処理させたいなら、javascript?・・・で、できるのかな?
Flashはファイル操作もできないくらいなんだからそういうの向いてないと思うけど
259Now_loading...774KB:2009/09/01(火) 01:54:31 ID:SHxlvsEH
>>225

その通りの考え方でした。。心見抜かれた感じです。
すごくわかりやすい解説有り難うございます。

そうすると、、この場合は
point_mcにparticleをaddChildすれば解決??でしょうか?

260225:2009/09/01(火) 02:08:40 ID:j0GogvgE
>>259
聞く前にやってみようぜw
unko.addChild(〜)ってやったらaddChildしたMCがunkoにくっついて動くのはしってるよね?
それをしってれば怖いもの無しだ!がんば!
261204:2009/09/01(火) 02:23:06 ID:SHxlvsEH
260>>

point_mc.addChild(particle); にしてみました。

うーん。。particleの位置はボールの周りに移動せず。
EndlessStar.asの中身もいじる必要ありなのかな??

ttp://homepage3.nifty.com/testweb/swfload_sample_v2.zip
262Now_loading...774KB:2009/09/01(火) 02:32:06 ID:kEFO5CZ0
225がんばるなあ
君の問題はわかんないけど応援。
fla板ももっとにぎわうといいな
263Now_loading...774KB:2009/09/01(火) 02:41:07 ID:9RwLZwix
>>262
でも、応答の度にAgeる必要はないと思う。
そんなに注目を浴びたいのかと。
264203:2009/09/01(火) 04:53:34 ID:WgLXkkxU
>>238
できました。
さんくすです。
265225:2009/09/01(火) 10:55:50 ID:j0GogvgE
ごめん2chのルールを忘れてた(汗
266204:2009/09/01(火) 12:08:29 ID:SHxlvsEH

スミマセン。ボクもsage忘れてました。


" box/star.fla "
stage.addChild(particle); →this.addChild(particle); に変更してみたのですが、
"star.swf"を直接プレビューした状態のように、うまくボールの周りまで移動しませんでした。。

最新ファイル
ttp://homepage3.nifty.com/testweb/swfload_sample_v3.zip




" box/EndlessStar.as " の
var p:MovieClip = stage.addChild(star); も関係ありますでしょうか?


度々スミマセン。これだけなんとか解決したい。。
宜しくお願いいたします。
267Now_loading...774KB:2009/09/01(火) 12:30:09 ID:tsUrSTib
>>266
関係あるっつーか、そこ変えなきゃ結局同じことだと思うけど……
あとParticle.asのfallでstage.removeChildしてるからここも変える必要があるだろうな
星の位置決めはpoint_mc見てるから変えなくても大丈夫そう
268204:2009/09/01(火) 12:43:58 ID:SHxlvsEH
>>267
var p:MovieClip = stage.addChild(star); と
stage.removeChild(this);を


var p:MovieClip = this.addChild(star); とか
root.removeChild(this);でそれぞれイロイロ変えてみたんですが


うまくいかないです
だれかたすけて。。泣
269225:2009/09/01(火) 13:11:57 ID:j0GogvgE
>>268
わかんないわかんない〜!じゃなくて、調べよう
http://www.kunzo.jp/memo/as3/display_object_01.html
270Now_loading...774KB:2009/09/01(火) 13:55:27 ID:kEFO5CZ0
CS3 AS2
でデバッガって設定というかカスタマイズみたいなことはできる?
静止テキストまでひとつひとつinstance1とか表示されてうざいことこの上ないんだけど
出ないようにできないのかな
271204:2009/09/01(火) 15:49:30 ID:SHxlvsEH
>>269

" box/star.fla "
stage.addChild(particle);

" box/EndlessStar.as "
var p:MovieClip = stage.addChild(star);

" box/Particle.as "
stage.removeChild(this);



の3つのaddChild、removeChildの対象を変えれば解決しますでしょうか?
particleはthisだと思います。。 starはparticle??
removeChildは消す時の処理でこれはどう処理するのか分からないです。。
272Now_loading...774KB:2009/09/01(火) 15:54:07 ID:AK7S+UWN
まじでウザいわこいつ
273Now_loading...774KB:2009/09/01(火) 15:56:35 ID:AK7S+UWN
自分で調べる気ゼロ
変えればいいかどうかなんてやってみりゃわかるだろアホが
274Now_loading...774KB:2009/09/01(火) 16:03:35 ID:zXc6681Y
>>271
225にも「調べろ」いわれてるだろ。
まずはやりたいことを脇に置いて基本を身につけなよ。
四則演算できずに二次方程式の答え教えてくれ、っつってるよーなもんだ。
275225:2009/09/01(火) 16:03:44 ID:j0GogvgE
>>271
やってみようよ!パソコン壊れるわけじゃないんだからさ!
僕は君への対応をどう処理すればいいのかわからんよw
276225:2009/09/01(火) 16:04:45 ID:j0GogvgE
みんなド怒りw
277Now_loading...774KB:2009/09/01(火) 16:19:08 ID:kEFO5CZ0
>>271
この長さなら他人のソースいじるよりも自分で1から書いた方が早いんじゃね
278Now_loading...774KB:2009/09/01(火) 16:46:09 ID:/lmp7LIb
直接『答え』を見つけるのではなく、色んなサンプルをイジクリまわす方が早い。
279Now_loading...774KB:2009/09/01(火) 17:34:44 ID:tsUrSTib
>>271
二つ目をpoint_mcにadd〜、三つ目をparent.remove〜にすればいけんじゃね?
.flaの中は見てないから一つ目は分からないけど
280Now_loading...774KB:2009/09/02(水) 03:44:59 ID:gQaX3+tt
原因を考えよう。
1.パーティクルの座標がおかしい。
2.star.flaのthis.addChild(particle);あやしい。
3.EndlessStarクラスをみる。
4.パーティクルの配置がおかしいので該当箇所をみる。
var p:MovieClip = stage.addChild(star);
この場合stageはsampleのstageを指すので
var p:MovieClip =this.addChild(star);に変更。
star.flaを書き出してみる。
5.エラーが出るはず。
at flash.display::DisplayObjectContainer/removeChild()
at Particle/fall()
6.Particleクラスのstage.removeChild(this)が誤っているので
該当階層(親子関係)に書き換えてやる。
以上。
281204:2009/09/02(水) 12:29:14 ID:vKqvHUL1
>>279 >>280

有り難うございます。
やってみます!
282Now_loading...774KB:2009/09/03(木) 01:30:39 ID:hfms/Pus
_root.a1=0;
_root.a2=0;
_root.a3=0;




_root.an=0;(nは整数)
っていちいち全部書かなきゃだめ?

それともnの位置を変数にして、1〜n番目を代入できるとかいう便利な関数はある?
283Now_loading...774KB:2009/09/03(木) 01:45:40 ID:WdqJ+3+Y
>>282
配列アクセス演算子
284Now_loading...774KB:2009/09/03(木) 01:49:06 ID:hfms/Pus
>>283
ありがと
ググってくる
285Now_loading...774KB:2009/09/03(木) 05:30:41 ID:42XOvwXn
Flash内にAmazon Fps 決済APIを組み込んだ経験のある方いますか?

Flashゲーム内で決済APIが使えるのかどうか試しています。
Flashからプラウザウィンドウを出して決済APIを使うやり方ではなくFlash内に呼び出して決済APIを使いたいのですが
どなたか試した方はいますか?
よろしくお願いします。


ちなみにamazon Fps APIというのはamazonから提供された決済用APIのことです。
このAPIを利用するとamazonに登録したクレジットカード情報などを使ってを自分のECサイトなどに呼び出し決済ができます。

自分は自作の一人用のFLashゲームでアイテムの販売を考えています。

どんなゲームを作ったかというと
プラウザでプレイできるアクションRPGゲームになります。MMOオンラインゲームとかではないです。


今までホームページに公開していたゲームですがこれを課金アイテムを販売しアマゾン決済APIで決済できるようにします。
攻略アイテムは10円での販売を考えています。
なぜamazonの決済APIを選んだかというとユーザー登録などをしなくてもamazonのアカウントがあればすぐに買うことができるためです。
小額決済にも対応し手数料も1.8%、導入手数料もなしとお手ごろで開発者側、利用者側にも使いやすいものだと思っています。
286Now_loading...774KB:2009/09/03(木) 06:31:19 ID:HuX5lmpz
無理。他ドメインのもん使えない。
287225:2009/09/03(木) 13:05:25 ID:VPOSEp6H
AS3+FlashDevelop+XPProです。

default.xml
<road>
 <option>
  <baseline stripe="0" color="0x777777"/>
  <leftline stripe="0" color="0xFFFF00"/>
  <rightline stripe="0" color="0xFFFF00"/>
 </option>
 <line length="10">
  <begin width="10" pos="0"/>
  <end width="10" pos="0"/>
 </line>
</road>

base.xml
<road>
 <line>
  <begin width="12"/>
  <end pos="8"/>
 </line>
</road>

の、二つのXMLがあって、base.xmlに足りない要素をdefault.xmlからもって
新しいXMLを作りたいのだけれど、簡単にできる方法おもいつきますか?
288225:2009/09/03(木) 13:10:16 ID:VPOSEp6H
欲しい結果
<road>
 <option>
  <baseline stripe="0" color="0x777777"/>
  <leftline stripe="0" color="0xFFFF00"/>
  <rightline stripe="0" color="0xFFFF00"/>
 </option>
 <line length="10">
  <begin width="12" pos="0"/>
  <end width="10" pos="8"/>
 </line>
</road>
289Now_loading...774KB:2009/09/03(木) 14:54:43 ID:SXiKjUP7
なんか、toXMLとかなかったけメソッド。
XMLはストリングから生成できるし
290204:2009/09/03(木) 21:01:15 ID:QJz6+U3e

皆様、その節は有り難うございました。

無事、調整はできたのですが、
新たに気になる点がありまして、、

sample.swfを何回かプレビューした際に、
環境のせいなのかスクリプト原因なのかわからないのですが
星の出方が毎回変に不安定です。。
(多めに出るときもあったり、なんか少なかったり。)

ttp://homepage3.nifty.com/testweb/swfload_sample_v4.zip


アドバイスお願いしたいです。
よろしくお願いします。




291Now_loading...774KB:2009/09/03(木) 22:47:13 ID:f+i7qGZQ
どこで質問すればいいか分からないのでここで質問させてください。

YouTube APIを使用して独自のプレーヤを作っています。
このプレーヤの動画再生に再生速度の調整機能を付けたいのですが、方法がいまいち思いつきません。
YouTube APIに再生速度の調整機能はありません。

Enounce MySpeed(http://www.enounce.com/index.php)というソフトでは、ブラウザ上で動いている
YouTubeなどのFlashプレーヤ上での動画再生の再生速度調整が行えています。

これと同じような機能を自作のアプリケーションに付加したいのですが、良い方法はないでしょうか。
JavaScriptからFlashのフレームレートを動的に変更できれば可能かとも考えましたが、いまいちやり方がわかりません。
292225:2009/09/04(金) 02:27:43 ID:sdpXpeZj
loaderで読み込んだswfをconstractorで複製したとき
読み込むswf内でスクリプト書かないと正しく複製できないバグ発見したので報告。
メインタイムラインに「;」とか書くと正しく複製できるようになる。
ん〜めんどくせぇ。
293225:2009/09/04(金) 02:39:58 ID:sdpXpeZj
>>287
自己完結!やっとできたので一応報告。

public function fillDefault( xRoad:XML, xDef:XML ):XML
{
 for each( var elem:XML in xDef.children() )
 {
  var name:String = String( elem.name() );

  // タグが定義されていなければデフォルトで上書き
  if ( xRoad[name] == undefined ) xRoad[name] = xDef[name][0]; // とりあえず先頭優先
  else
  {
   // パラメータが定義されていなければデフォルトで上書き
   for each( var par:XML in xDef[name].@* )
   {
    var parName:String = "@" + par.name();
    trace( parName );
    if ( xRoad[name][parName] == undefined ) xRoad[name][parName] = xDef[name][parName];
   }
   
   // 再帰的に子要素も上書き
   for ( var i:int = 0; i < xRoad[name].length(); i++ ) xRoad[name] = fillDefault( xRoad[name][i], xDef[name][0] );
  }
 }
 
 return xRoad;
}
294Now_loading...774KB:2009/09/04(金) 06:15:36 ID:P4NVzy3A
>>287
何をもって「足りない」と判断するかがわからんけど、
insertChildAfterあたりでつっこめばいいんじゃ?
295Now_loading...774KB:2009/09/04(金) 08:59:51 ID:qyIBQeYR
AS3で教えてください!
フレームレート60に設定し、画面の端にフレームレートを表示させたら、
0になったり100近く出たりと、ばらつきがあります。
処理が重い時は60未満になるとしても、上限は60にしたいのですが
そのような事は制御可能でしょうか?
296295:2009/09/04(金) 09:39:28 ID:qyIBQeYR
295です。できました!
すみません
297290:2009/09/04(金) 11:12:33 ID:NZRYtEwK
particleCountとlimitを使って制御している部分が要因ぽいのではないかと思っています。インスタンス生成時に渡すパラメータもおかしい?
298225:2009/09/04(金) 11:39:14 ID:sdpXpeZj
>>297
怪しい部分がわかっているのに調べないという不思議
299Now_loading...774KB:2009/09/04(金) 14:12:23 ID:XEJVNSA1
質問です。
as3でi1,i2,i3,…みたいな感じで
forループのなかで動的に順番に変数名を付けていく方法がわかりません。
どなたか、ご教授いただけないでしょうか。
300290:2009/09/04(金) 14:16:35 ID:NZRYtEwK
調べてみるのですが、どこがおかしいのか分からず
どうすればよいかサッパリなんです。。
スミマセン。。

出来る限り自分でやってみますので、
アドバイスかヒントをいただけると嬉しいです。

よろしくお願いいたします。
301Now_loading...774KB:2009/09/04(金) 14:48:29 ID:0CVvBgH1
>>299
eval使えれば
eval("i" + no);
でいけると思うけど、試してみてくれ。返値が変数値になるはず。
ダメなら連想配列でどうか?

AS学習中なのですまん。
302225:2009/09/04(金) 15:11:58 ID:sdpXpeZj
>>299

for( var i:int=0; i<10; i++ )
{
  this["i"+i] = "うんこ";
}

こういうことがしたいってこと?
作りたい変数がi1,i2,i3っていうからなんかちょっとややこしくなってるけど
303299:2009/09/04(金) 15:22:48 ID:AKtg9Edz
>>301さん
for(var i:int=0;i<10;i++){
var eval("a"+1):int;
}
で実行してみましたがエラーになりました。
どこか、301さんの考えられた書き方と違うのでしょうか?
連想配列もちょっと試してみます。

>>225さん
そういうことがしたいです。
as2だと宣言がいらなかったので簡単だったのですが。。
304Now_loading...774KB:2009/09/04(金) 15:37:41 ID:U7L8/Ulx
>>303
配列にブチ込むってのはどうなの?

var ar:Array = new Array();
for(var i:uint=1; i<6; i++){
ar.push( "羊が" + String(i) + "匹")
}
for each(var h in ar){
trace(h);
}
305Now_loading...774KB:2009/09/04(金) 16:15:48 ID:0CVvBgH1
>>303
eval()使うと「この機能は廃止された」って出るね。
JSでも嫌がられているものだから消えたか。
でもeval()でも生成はできないから、連想配列の添え字化するしかないかな。。。
306290:2009/09/05(土) 18:28:45 ID:4dy8yxB5
やはりparticleCountとlimitを使って制御している部分がおかしいような気はするのですが、、どう直すのかがわからないです。。

307Now_loading...774KB:2009/09/06(日) 23:11:21 ID:8YH80dex
WinXP-Pro(AS2.0,CS4)で、フォーカスされたボタンのプロパティ参照で質問です。

var focusedObj:Object = new Object();として、onEnterFrame = function() で
focusedObj = Selection.getFocus();
としました。これはtraceすると正しく出ます。

このボタンのX座標を知ろうと trace("x= "+focusedObj._x); としたのですが 
x= undefined になり、値が得られません。

どうしたら良いでしょうか?
308Now_loading...774KB:2009/09/06(日) 23:22:52 ID:eqFBkqKU
>>307
それ、ストリング値が返るってあるから、focusedObjにはいってるのは
object参照じゃないんでは?
309Now_loading...774KB:2009/09/06(日) 23:55:12 ID:8YH80dex
>>308 object参照じゃないんでは?

う〜ん、そうなんですよね・・・
試しに、trace("x= "+[focusedObj]._x); でも x= undefined のままです。
かといって、focusedObj.substring(0, 5) としても何も出ませんし。

困ってます。
310Now_loading...774KB:2009/09/07(月) 00:07:04 ID:mGmFoC3G
>>309
eval()使えばいけるけど…それが正しい方法なのかわからないです。
311Now_loading...774KB:2009/09/07(月) 00:35:21 ID:FwRevCn5
>>310
eval()で出来たっす!
312Now_loading...774KB:2009/09/07(月) 01:37:09 ID:J+haGSz+
「詳説 ActionScript 3.0」のサンプルコードファイルを落とせるところありませんか?
313Now_loading...774KB:2009/09/08(火) 18:33:59 ID:KV8FWtoi
Flash CS3で作成された外部SWF内のクラスを継承して
新しいクラスを定義することは可能ですか?

314Now_loading...774KB:2009/09/08(火) 23:56:59 ID:E7yXFZFL
すみません、どなたか教えて頂けると助かります。

package{
import flash.display.Sprite;
public class Test extends Sprite{
var a:Number;
var b:Number;
public function Test():void{
a = 1.0;
b = 1.0;
}
}
}
class A{
public function A():void{trace("a");}
}
class B{
public function B():void{trace("b");}
}
このコードをCS4でコンパイルすると
1178:アクセスできないプロパティaへのアクセスを、静的型Testの参照を使用して試行しました。
1178:アクセスできないプロパティbへのアクセスを、静的型Testの参照を使用して試行しました。
とエラーになってしまうのですが、なぜでしょう。
ちなみに、クラスAもしくはクラスBのどちらかをすべてコメントアウトすると
うまく行きます。
さっぱりわからないっす・・・
315Now_loading...774KB:2009/09/09(水) 00:18:58 ID:b0K8lE04
>>314
エラーの原因かは分からないが、とりあえずコンストラクタに戻り値を書くのが間違ってないか?
316314:2009/09/09(水) 01:10:37 ID:G3VgZTwO
>>315
そうですね!
戻り値消してみましたが、だめでした・・・
317Now_loading...774KB:2009/09/09(水) 09:19:47 ID:Hm8KUzuE
import flash.display.Sprite;
class A extends Sprite{
public function A() {
trace("a");
}
}
class B extends Sprite{
public function B() {
trace("b");
}
}
318Now_loading...774KB:2009/09/09(水) 14:40:18 ID:V+PkBFNW
package{
import flash.display.Sprite;
public class Test extends Sprite{
public var a:Number;
public var b:Number;
public function Test():void{
a = 1.0;
b = 1.0;
}
}
}
class A{
public function A():void
{
trace("a");
}
}
class B{
public function B():void
{
trace("b");
}
}

こうじゃねーの?
属性省くとinternalになるんじゃなかったっけ?
319Now_loading...774KB:2009/09/09(水) 18:03:41 ID:yqWjzQvZ
package
{
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.display.Sprite;

[SWF(width=740, height=500, backgroundColor=0xFFFFFF)]
public class Main extends Sprite
{
public function Main():void
{
//スプライトを作る
var circle1:Sprite = new Sprite();
circle1.graphics.beginFill(0x8080FF);
circle1.graphics.drawCircle(50, 80, 40);
// メインのタイムラインにcircle1を追加する
addChild(circle1);
}
}
}

このソースのスプライトを作る部分を外に出したいのですが、どうすればいいのかわかりません。
今書いているコードは次に…
320Now_loading...774KB:2009/09/09(水) 18:06:00 ID:yqWjzQvZ
Main.as
package
{
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.display.Sprite;

[SWF(width=740, height=500, backgroundColor=0xFFFFFF)]
public class Main extends Sprite
{
public function Main():void
{
DrawSprite();
}
}
}
321Now_loading...774KB:2009/09/09(水) 18:06:09 ID:yqWjzQvZ
DrawSprite.as
package
{
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.display.Sprite;

public class DrawSprite extends Sprite
{
public function DrawSprite():void
{
//スプライトを作る
var circle1:Sprite = new Sprite();
circle1.graphics.beginFill(0x8080FF);
circle1.graphics.drawCircle(50, 80, 40);
// メインのタイムラインにcircle1を追加する
addChild(circle1);
}
}
}

このように書いてもできないようです。
上記のように別ファイルに描画処理を出したい場合はどうすればいいのでしょうか?
322Now_loading...774KB:2009/09/09(水) 18:08:15 ID:yqWjzQvZ
これを実行すると
「C:\Flash\Test01\Main.as(14): col: 5 Error: 引数の数が正しくありません。正しくは 1 です。」
と言われるので、DrawSprite( Sprite ); とかやってみましたが駄目でした
323Now_loading...774KB:2009/09/09(水) 18:34:53 ID:EkiHReON
mainのdrwspriteのとこを
var d:DrawSprite = new DrawSprite();

こんなのでいいの?
324Now_loading...774KB:2009/09/09(水) 18:50:34 ID:yqWjzQvZ
ありがとうございます。

var draw : DrawSprite = new DrawSprite();
addChild( draw );

とやったら出ましたw
325Now_loading...774KB:2009/09/09(水) 19:46:23 ID:NUyIz4zt
毎フレーム画面を更新するゲームのような処理で、画面のクリアはどうするんですか?
矩形の塗りつぶし?
326Now_loading...774KB:2009/09/09(水) 21:45:23 ID:delYoPHX
>>325
ちょっとよくわからないが
真っ白な状態にしたいの?
327Now_loading...774KB:2009/09/09(水) 23:30:35 ID:pBA0+t5E
ゲームプログラムに詳しいなら背景の上にスプライトがあるイメージ。
328ジャクソン:2009/09/10(木) 08:52:59 ID:NWfWfjrH
教えてほしいのですが、
ムービークリップ内の1フレーム目に
damy_mc.addEventListener(flash.events.MouseEvent.CLICK,openSlide("baka"));
と記入し、
関数openSlideをMainクラスに書いたのですが、
パブリシュするとopenSlideが未定義の関数とエラーが返ってくるのですが、
どのようにクラスと連携すれば良いのでしょうか。
もちろん、Mainクラスを読み込んでいます。
ちゃんと読めていないんでしょうか。
329Now_loading...774KB:2009/09/10(木) 11:22:08 ID:pVLNyXiC
325ですが、全画面背景を書くわけではないので書かないエリアにキャラクターの絵が残ってしまうのです。

なので、毎フレーム画面クリア>キャラクター描画というのをやっているのですが、drawRectで塗りつぶしてていいのだろうか…と
一番効率のいい描画方法がわからないです。
330Now_loading...774KB:2009/09/10(木) 11:48:22 ID:zayK1lw7
下記のやり方では画面がチラついて困っています。
package
{
import flash.display.Sprite;

public class DrawCircle extends Sprite
{
private var circle:Sprite = new Sprite();

public function DrawCircle():void
{
addChild(circle);
}

public function Draw( mx:int, my:int ):void
{
circle.graphics.clear();
circle.graphics.beginFill(0x8080FF);
circle.graphics.drawCircle(mx, my, 40);
}
}
}

キャラクターがチラつかないように描画したいのですが、どうすればいいでしょうか?
331330:2009/09/10(木) 11:51:22 ID:zayK1lw7
Main.asからはインスタンス生成後、30fpsの周期でDrawを呼んでいます。
332Now_loading...774KB:2009/09/10(木) 15:05:24 ID:99yQ/NxO
phpからactionscriptへ変数を渡したいんですが、うまくいきません。

PHP
<?php
$hoge='hogehoge';
$output="&hoge=".$hoge."&";
header('Content-type: text/plain');

print '&'.$output.'&';
exit;
?>

asctionscript
function get_data(){
var sv:LoadVars=new LoadVars();
var lv:LoadVars=new LoadVars();

lv.onLoad=function(success){
text=lv.hoge;
}
sv.sendAndLoad('./as/get_album_data.php',lv,'POST');
}
とすると
textフィールドに ".$hoge." のように表示されてしまいます。
色々試したのですがうまくいきません、ご教示お願いします。
333Now_loading...774KB:2009/09/10(木) 16:00:03 ID:9TOFyYF1
環境を書け。
Win95か?
334332:2009/09/10(木) 16:06:58 ID:99yQ/NxO
すいません忘れてました。
XP,ローカル環境でXAMPP、AS2.0です。
お願いします。
335Now_loading...774KB:2009/09/10(木) 19:09:41 ID:b+22Qh6X
>>332
そもそもget_alubum_data.phpに普通にブラウザからアクセスした場合、
意図したように$hoge=hogehogeと表示されてるの?
336Now_loading...774KB:2009/09/10(木) 19:18:49 ID:b+22Qh6X
>>330
特にちらつく要素ないと思うけどなあ
30FPSでenterFrameイベントでまわしてみたけどちらつかなかったよ
337Now_loading...774KB:2009/09/10(木) 19:25:25 ID:N80QSBqq
ttp://www.kazumy.net/toss/hp/flash/kobo/pzl/timer.htm

こちらのサイトの経過時間表示で、小数点以下も表示したいのですが
どのように変更すればよろしいでしょうか?
timer内のアクションスクリプト↓

//グローバル変数の初期化
countTime = 0;
bActive = 1;
startTime = getTimer();

//タイマーストップ用メソッドの定義
function stopTimer() {
bActive = 0;
}
//タイマーの動作を行うメソッドの定義
function action () {
if (bActive) {
var nowTime = Math.floor((getTimer() - startTime)/1000);
countTime = nowTime;
}
}
//このタイマーの値を調べるときに使うメソッド
function value () {
return countTime;
}
338Now_loading...774KB:2009/09/10(木) 19:35:42 ID:N80QSBqq
ageてなーい…
どなたか宜しくです

ほとんどASを使わないゲームを制作していて
時間の表示だけどうしてもワカラン
339Now_loading...774KB:2009/09/10(木) 19:47:15 ID:h7d42gbA
325=330?
Main側に画面クリアがある?
Spriteなら書いたものを動かす。30fpsの周期でDrawを呼ばない。
340Now_loading...774KB:2009/09/10(木) 19:49:43 ID:h7d42gbA
package {
import flash.display.Sprite;
import flash.events.Event;
public class Main extends Sprite {
private var circle:DrawCircle;
public function Main() {
init()
}
private function init():void {
circle = new DrawCircle();
circle.x = 0;
circle.y = stage.stageHeight / 2;
addChild( circle );
addEventListener(Event.ENTER_FRAME, onEnterFrame)
}
private function onEnterFrame(eventObject:Event):void {
circle.x += 10;
}
}
}
import flash.display.Sprite;
class DrawCircle extends Sprite {
public function DrawCircle() {
init()
}
private function init():void {
graphics.clear();
graphics.beginFill(0x8080FF);
graphics.drawCircle(0, 0, 40);
}
}
341Now_loading...774KB:2009/09/10(木) 20:15:18 ID:h7d42gbA
>>338
Math.floor外す
342Now_loading...774KB:2009/09/10(木) 20:22:23 ID:YDgp2UWu
すいません、AS2についての初歩的な質問をさせてください。
AS3のaddChildにあたるものは、AS2では何になるのでしょうか?

外部jpgを読み込むスクリプトをAS2で書いています。
読み込む処理自体は、MovieClipの生成を含めて外部クラスでやっています。

var imgLdr:MovieClipLoader = new MovieClipLoader();
var mc:MovieClip = new MovieClip();
imgLdr.loadClip("jpg/" + tnNewList[0] +".jpg", mc);

ここで、mcをステージにaddChildしたいのですが、
そのようなコマンドが無く、よわっています。。
AS2ではどうすればよいのでしょうか??

var mc:MovieClip = new MovieClip();
の部分もおかしいのでしょうか??

どなたかご存知の方いらっしゃいましたら
よろしくお願いいたします。
343Now_loading...774KB:2009/09/10(木) 20:28:40 ID:/9KkEBP3
>>342
空のMC作るなら、親のMovieClipのcreateEmptyMovieClip
344Now_loading...774KB:2009/09/10(木) 20:34:11 ID:bcOhe3JA
もうAS3でいいじゃないと思うのは俺だけなんだろうか
345Now_loading...774KB:2009/09/10(木) 20:38:22 ID:bZeodrCV
>>342

ありがとうございます!

その親のムービークリップを、ステージに配置するには
どうしたら良いでしょうか?
つまり簡単言えば、スクリプトだけで
ムービークリップを作ってステージに配置する方法がわかりません。。
346Now_loading...774KB:2009/09/10(木) 20:42:13 ID:bZeodrCV
>344

私はAS3から入ったもので、
AS2は逆に難しいです。。
347Now_loading...774KB:2009/09/10(木) 20:43:50 ID:N80QSBqq
>>341
ありがとうございます!できました!
ただ、ちょくちょく点滅してしまうのですが (0のときに桁数が変わるからでしょうか?)
常に表示させておく方法ありますか?
348Now_loading...774KB:2009/09/10(木) 20:49:55 ID:RxTy2j48
>>345
この場合最初に出来るのは、親=_rootに対してのcreateMovieClip()
349Now_loading...774KB:2009/09/10(木) 20:52:04 ID:RxTy2j48
>>348
間違った、createEmptyMovieClip()でした。
350Now_loading...774KB:2009/09/10(木) 21:54:14 ID:sgo2Tnfu
>>349
できました、ありがとうございます!!
ほんとに助かりました!!
351332:2009/09/10(木) 22:38:28 ID:99yQ/NxO
>>335
それがきちんと表示されるんですよ
352Now_loading...774KB:2009/09/10(木) 22:42:39 ID:QiXrieio
環境 XP FlashDevelop AS3

AS3でSpriteやTextFieldを配列で宣言する事は出来ないんでしょうか?
試しに下で実行してみましたが何も映りませんでした。
仮に10個のTextFieldを使用したい場合は、10個用意して使うものなんでしょうか?
package
{
  import flash.display.Sprite;
  import flash.text.TextField;

  // クラス
  public class Main extends Sprite
  {
    private var sampleText1:Array;

    public function Main():void
    {
      for (var i:int = 0; i < 3; i++ ) {
      sampleText1[i] = new TextField();
      sampleText1[i].text = "1-" + i + "番";
      sampleText1[i].y = 10 * i;
      addChild(sampleText1[i]);
      }
    }
  }
}
353Now_loading...774KB:2009/09/10(木) 23:01:54 ID:/9KkEBP3
>>352
sampleText1をNewしてなくね?
354Now_loading...774KB:2009/09/10(木) 23:11:01 ID:QiXrieio
>>353
本当にお騒がせしました。
private var sampleText1:Array = new Array;
で表示されました。ありがとう御座いました。
355Now_loading...774KB:2009/09/11(金) 10:09:19 ID:uW/Xptf8
『100秒経過ししたら次のフレームに移動』

flash8、as2でどのようなスクリプトを書けばよろしいでしょうか?

getTimerとifを使う感じ?
356Now_loading...774KB:2009/09/11(金) 10:21:44 ID:UsE1kmAK
>>355
一回だけの処理ならsetTimeoutかな
357Now_loading...774KB:2009/09/11(金) 21:41:44 ID:FJzOmS19
【AS3】 TextFieldにfor文で一気に代入したいのですが。。

ステージに、Flashのオーサリングから
テキストフィールド(ダイナミックテキスト)を3つ作りました。
インスタンス名 "t_txt1" "t_txt2" "t_txt3"

forループで、この3つに一気に
"あいうえお" を代入して表示させたいのですが

for(var i:int; i>3; i++){
 "t_txt"+i.text = "あいうえお";
}

と書いても、"t_txt"+i の部分が
インスタンス名として認識してもらえず
エラーになってしまいます。

どうすればいいでしょうか。。?
ご存知の方いらっしゃいましたらどうかよろしくお願いいたします。
358Now_loading...774KB:2009/09/11(金) 22:30:56 ID:Qsh87h5D
359355:2009/09/11(金) 23:55:23 ID:VXtSSZbm
ほとんどASを使わずゲームを作っています。

ttp://www2.datacraft.co.jp/~miyata/movie/ira.html
こちらのようなゲームで、制限時間を設ける場合は
(制限時間になると、フレームを移動させ、ゲームオーバーの画面にしたい)
具体的にgetTimerout関数を使用して、どのようなASを書けば良いでしょうか?
360Now_loading...774KB:2009/09/11(金) 23:58:04 ID:Wls6VVSK
ほとんどASを使わずに書くんだったら、
制限時間分のフレームを用意したシンボルを作って、
その最後のフレームで、_root.gotoAndPlay(ゲームオーバーのフレーム);というASを書く。
で、そのインスタンスをゲームスタートの部分におけばいいんじゃない?
361Now_loading...774KB:2009/09/12(土) 00:33:04 ID:lkqldZ5p
一応時間を表示させていまして (getTimerで取得した時間をそのまま表示)
その秒数が100になったときに終了させたいので、フレームだと誤差が生じてしまいます。
ですので取得した時間を使って作りたいのであります。
362Now_loading...774KB:2009/09/12(土) 06:24:30 ID:/HvxQXBH
getTimerで取得してる所に判定入れるだけじゃないのか?
363361:2009/09/12(土) 10:36:59 ID:f+UQr/ki
そのやり方が分かりません(--;)
何か参考になるサイトありますか?
ASは全くの初心者です(時間もフレーム移動で表示していた程であります)
1から勉強するような必要もないので…
364Now_loading...774KB:2009/09/12(土) 10:48:55 ID:IoEnZKGM
マジレスで質問の仕方を学んだほうがいいと思う
終了って何?
getTimerあたりのコードコピペするだけでも何言いたいのか伝わるかもしれない
>1から勉強するような必要もないので…
これも意味不明
365Now_loading...774KB:2009/09/12(土) 13:01:49 ID:jEFHoN3M
>>363
>1から勉強するような必要もない

必要ないんじゃなくて、単に勉強したくないだけだろ。
「数学の問題解きたいです、でも1+1もわかりません、
算数の勉強をする必要もありません」といってるのと同じ。

どうしてもAS使わないなら、>>360の方法にして、時間もフレーム移動の表示でいいじゃん。

AS使うなら、まずはifを使って「getTimer()の値が100になったら」っていう条件を
どう書くか自分で考えてやってみる。
そもそもgetTimer()はどこでどう呼び出してるの?そういう説明もしないと。
366Now_loading...774KB:2009/09/12(土) 17:47:41 ID:f+UQr/ki
>>364-365

ちょっと参考書でも買って学んでみたいと思います。
ありがとうございました!
367361:2009/09/12(土) 19:13:21 ID:lkqldZ5p
>>364
誤: 秒数が10になったときに終了させてたい
正: 秒数が10になったときにフレームを移動させたい


if (getTimer() >= 10*1000) {
_root.gotoAndStop("gameover");
}

これでは10秒経過しても指定のフレーム(gameover)に移動しないのですが
一度しか実行されていないということでしょうか?
制限時間だけ設ければ完成するのに、ここだけワカラン…
368Now_loading...774KB:2009/09/12(土) 19:38:26 ID:VEHQOP93
>>367
たぶん予想通り、そのコードが毎フレーム実行されて無いんじゃないかな。
ifの直前にtrace("hoge");とか書けば確認できると思うよ。

というか、>>365の「getTimer()はどこでどう呼び出してるの?」はスルーかい?
flaファイルをアップするまでいかなくとも、
可能な限りの説明をした方がきっと解答に近づけるよ。
369Now_loading...774KB:2009/09/12(土) 19:50:05 ID:lkqldZ5p
>>368
返信サンクスです。


>>365
「getTimer()はどこでどう呼び出してるの?」

最初にゲームタイトル画面(1フレーム目)がありまして
スタートボタンを押すと次のフレームに移動し、ゲーム開始となります。
開始と同時にgetTimerを呼び出し、経過時間を表示させてます。(2フレーム目)

具体的にはイライラ棒のようなゲームを作っていまして、
コースにぶつかると"gameover"のフレームに飛びます。

制限時間を設けたくて、20秒経過したらぶつかったときと同じように
"gameover"フレームに移動させたいのですが、そのスクリプトが分かりません。
370Now_loading...774KB:2009/09/12(土) 21:06:12 ID:LkUJzzVD
>>369
なんかその場しのぎの感が否めない。
ASの本なんて山ほど出てるから、何冊か買ってその中の
サンプルを改変して遊んだ方が早いと思うぞ。
371369:2009/09/12(土) 21:28:08 ID:lkqldZ5p
>>368
繰り返し実行させるため、適当にシンボルを作成し
シンボル内に次のスクリプトを書いたのですが(2フレームにすれば繰り返すということで)

if (getTimer() >= 5*1000) {
_root.gotoAndStop("gameover");
}

3.4秒くらいで"gameover"フレームに飛んでしまいます。
この辺りの誤差はどう消せば良いでしょうか?
そもそもやり方が間違ってますか?
372Now_loading...774KB:2009/09/12(土) 21:39:00 ID:lkqldZ5p
>>370
ご指摘の通りです。
やっぱり一から勉強してみますっ!
373Now_loading...774KB:2009/09/13(日) 01:55:18 ID:rF4emLn2
ttp://1122soft.com/game/batting/

このサイトのような自動でランキング登録されるゲームを作りたいです。
FLASH以外に学ばなければならない必要な物は何でしょうか?
374Now_loading...774KB:2009/09/13(日) 03:13:51 ID:tTAwkvmV
LAMPかな
375Now_loading...774KB:2009/09/13(日) 04:47:56 ID:nuASnich
AS3です。
ボタンクリップだと、ASでCLICKなどマウスイベントできないことあります。
ムービークリップでないといけませんか?
376Now_loading...774KB:2009/09/14(月) 01:19:23 ID:OHmSrQ4q
FLA8 AS2の者です。マウスを早く動かせば動かすほど
全体の動きがそれに合わせて早く動いてしまうのですが
(マウスを止めていると通常の速度で再生されます)
何か原因わかる人いるぅ〜(;´Д`)??
377Now_loading...774KB:2009/09/14(月) 02:00:12 ID:OHmSrQ4q
ちなみにマウスには次のASを入れてます。
再生速度が速くなる原因とは思えないのですが…


#initclip 2

Object.registerClass( "arrowCursor", TMCustomCursorClass );

#endinitclip
378Now_loading...774KB:2009/09/14(月) 02:16:47 ID:DZLbNUwq
>>376
TMCustomCursorClassって、どんなクラス?
クラスの内容がわからなきゃ判断できないだろ。
ASの内容を理解してないなら、
予断で「原因とは思えない」とか決めつけて説明を省略しない。
具体的に、何がどうなってるのか、どういう構造なのか、詳しく書く。
第三者が同じものを再現できるだけの情報を出すか、自分で問題を切り分ける。
それこそ、>>377のASを削除して問題が起きないなら、原因はその部分にあると
わかるだろ。
379Now_loading...774KB:2009/09/14(月) 14:21:28 ID:wA+3Y1ue
たびたびお世話になっております。今回もよろしくお願いします。
AS2です。
 
 FLASH→PHP DOM使ってXMLで出力→FLASHで受け取る

PHPで
echo 'xml='.$dom->saveXML();
と出力して
FLASHで受け取るということは出来ないのでしょうか?
$dom->save()で保存しておいてflash側でファイルを開くとするしかないのでしょうか?
お願いします。
380Now_loading...774KB:2009/09/15(火) 02:51:47 ID:MlZHfqzO
すみません、どなたか>>314の原因わかるかたいらっしゃいませんか?
これってCS4だけなのかな・・
381Now_loading...774KB:2009/09/15(火) 08:15:04 ID:4uvEBaob
他のサイトに勝手にコピーされて使用されないように、
アクションスクリプトで自分のWEBから再生されているかを
チェックしたいんですが、自分がどのURLから再生されている
かを調べるにはどうしたらいいですか?
382Now_loading...774KB:2009/09/15(火) 08:16:15 ID:4uvEBaob
すいません。「自分」とは作成したSWFファイルのことです。
383Now_loading...774KB:2009/09/15(火) 08:56:11 ID:UL/y/223
>>381
_url
384Now_loading...774KB:2009/09/15(火) 11:26:39 ID:vbqkm8oy
>>380
standardモードにするか
this.a = 1.0;
this.b = 1.0;
にする
385Now_loading...774KB:2009/09/15(火) 11:37:41 ID:wh1FNvEj
>>381
そんなくだらん対策よりも技術を上げろ
386Now_loading...774KB:2009/09/15(火) 12:36:52 ID:5fsU8K+g
>>381

.htaccessの勉強をしなさい!
そんなの簡単にできるYO!
387Now_loading...774KB:2009/09/15(火) 15:47:44 ID:5FDGMdPt
教えてほしいんですが、
インスタンスの深い階層から、rootのメインフレームに読み込んでいる
クラスの関数を呼び出しんですが、どのようにすれば良いのでしょうか。

MovieClip(root).Main.func(a);
※Main・・・クラス,func・・・関数
としたのですが、無理でした。
教えていただけないでしょうか。
388Now_loading...774KB:2009/09/15(火) 16:23:46 ID:w8zSstsD
質問です
AS3.0でflashPlayer10の際に
Vectorで多次元配列ってできるのでしょうか?
実際やりたいのは三次元配列なのですが・・・
389381じゃないけど:2009/09/15(火) 16:44:16 ID:YFBpaMj6
>>385-386
なんか勝手読みしすぎじゃないか?頭硬いなw
.htaccessじゃ無断転載は防げないだろ
まあURLチェックも完全じゃないけどな
390Now_loading...774KB:2009/09/15(火) 17:26:09 ID:RLxGxgZI
CS4(AS2.0)をWinXPです。
配列要素の文字列・数値の判別はどうしたら良いでしょうか?

いま Arr = {平成,3.14,太郎君,1.414} とあって、これをfor文で
for (id=0; id<4; id++) {
if (parseFloat(Arr[id]) == NaN) {
// 非数なのでFalseを出力
} else {
// 数値なのでTrueを出力
}
}

としました。意図した結果は
False
True
False
True

になるはずですが、全部Trueになります(判別されていない?)
どうすべきでしょうか?
391314:2009/09/15(火) 19:42:23 ID:MlZHfqzO
>>384
ありがとうございます!うまくいきました。
ということは、>>314に書いたコードでは、
書き方が駄目ってことなんすね。
class Aまたはclass Bをコメントアウトすると
うまくいくってのが謎すぎるけど・・
392Now_loading...774KB:2009/09/15(火) 20:01:17 ID:4uvEBaob
おまいら初心者にはもっと優しくすれ
393Now_loading...774KB:2009/09/15(火) 20:39:15 ID:vbqkm8oy
>>391
いや俺も理由は分かってないんだ。
もしかするとpackage外のクラスは2つ以上だと動作保証しないとかで
意味がない修正かもしれない。
誰か引き続きよろしく。
394Now_loading...774KB:2009/09/15(火) 21:05:33 ID:wh1FNvEj
>>381
そだね。ごめん
ttp://www.geocities.jp/myflashsouko/flash/index4.html#yari04
ここにかいてあること読んだだけだだから気にしないでくれ

>>390
NaNは等価演算子で評価できないらしい
ttp://www.fumiononaka.com/TechNotes/Flash/FN0108014.html
NaN評価はif (isNaN(Arr[id])){}だってさ
395Now_loading...774KB:2009/09/15(火) 21:07:12 ID:744M9POY
文字列をreplace()で置換し、
全ての </p> を取り除きたいです。

その場合、replace(/●/g, ""); というふうにして、
●には</p>を入れるのですが、

そうすると replace(/</p>/g, ""); となってしまい
置換したい文字に"/"が含まれているため、エラーになってしまいます。

こういう場合、どうすればよいのでしょうか。。
色々探しても載ってなくて途方に暮れています。。

ご存知のかたいらっしゃいましたら、どうかよろしくお願いします。
396Now_loading...774KB:2009/09/15(火) 21:10:15 ID:744M9POY
書き忘れました、AS3です
397Now_loading...774KB:2009/09/15(火) 21:12:05 ID:rxwzVpNH
displayObject の cacheAsBitmap プロパティについての質問です。

この cacheAsBitmap プロパティという奴がよく分からなくて調べているのですが
要するに
Flashプレイヤーは何もしない単純な矩形だけの displayObject でも
設定したフレームレート(30fpsなら毎秒30フレーム)毎に律儀にプロパティを読み込んで
書き直しているけど、どうせ同じ描画処理なら一々書き直すのはめんどいから
キャプチャした写真(bitmap)でいいんでない?
という意味のプロパティでしょうか?
398Now_loading...774KB:2009/09/15(火) 21:20:32 ID:QujKxhmp
ああ
399Now_loading...774KB:2009/09/15(火) 21:25:35 ID:wh1FNvEj
>>396
勘で悪いんだけどそういう場合ってエスケープ文字使うと思う
\だか逆スラッシュ(\の半角)だか。
replace(/<\/p>/g, "");でどうかなー
400Now_loading...774KB:2009/09/15(火) 22:52:21 ID:TXZpDRCN
>>399
できました!ありがとうござますっ!
おかげさまで作業がはかどるようになりました!
401314:2009/09/15(火) 23:09:16 ID:MlZHfqzO
>>393
なるほどです。
>package外のクラスは2つ以上だと動作保証しない
これなのかもしれないですね。どうなんだろう。
ただpackage外のクラスは2つ以上書いても問題ない時もあるんですよね。
もうちょい考えてみます。
引き続き、どなたかおわかりでしたら、宜しくお願いします。
402Now_loading...774KB:2009/09/16(水) 01:46:18 ID:VZuyVVtH
>>401
動作保証外だから動いたり動かなかったりなんだろ。
そもそも代替きくし、いらないものなんだから、悩むより新しい事覚えた方がいいと思う。
403390:2009/09/16(水) 13:10:38 ID:34MqfWgb
>>394
てんきゅう
404Now_loading...774KB:2009/09/16(水) 19:03:18 ID:p4vvo/fs
AS2:FLVPlaybackで、複数の、サイズ(縦横比も)バラバラのflvを読んでいて、
切り替わったときに flvをFLVPlayback内でセンターで表示ってできないもんなのでしょうか?

resizeイベント取得時に位置を再設定しても、FLVPlayback自体のサイズは変わっていないようで
うまいこといきません。。

AS3だと registrationXプロパティというのがあるようですが
AS2では仕様上できない感じでしょうか.
405Now_loading...774KB:2009/09/17(木) 22:45:49 ID:XRofI49D
AS3でテキストファイルを読み込みたいのですが、なぜかbinフォルダ以外のフォルダだとURLLoaderの
ロード開始のところでフリーズ(リスナーを含め、それ以降のプログラムが一切動作しない)してしまいます。
sample.txtはちゃんと配置してありますし、アドレスは半角英数のみです。
URLLoaderをURLStreamにしても変わりません。
どうすれば読み込めるようになるのでしょうか。お願いいたします。
環境、FLEX3+FlashDevelop3
ソース、
package {
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.net.*;
public class Main extends Sprite
{
private var urlLoader:URLLoader = new URLLoader();
private var tf:TextField = new TextField();
public function Main()
{
tf.text = "プログラム起動";
addChild(tf);
urlLoader.load(new URLRequest("sample.txt"));
urlLoader.addEventListener(Event.COMPLETE, completeHandler);
tf.text = "読み込み開始";
}
private function completeHandler(event:Event):void {
var loader:URLLoader = URLLoader(event.target);
tf.text = loader.data;
}
}
}
406Now_loading...774KB:2009/09/17(木) 23:23:43 ID:DpteQYwX
デバッグプレイヤー入れてる?おそらくセキュリティサンドボックス侵害では?
XPなら
C:\Documents and Settings\ユーザー名\Application Data\Macromedia\Flash Player\#Security\FlashPlayerTrust
の*.cfgに書かれていないパスでは読み込みできないはず。
407Now_loading...774KB:2009/09/17(木) 23:25:55 ID:KOBh0FQ5
>>405
プログラム起動と同時に読み込みにしなければダメなん?
分けて書いたら?

あと、
var loader:URLLoader = URLLoader(event.target);
tf.text = loader.data;
の意味が分からん。俺なら
tf.text = event.target.data; と書く。
408Now_loading...774KB:2009/09/18(金) 01:58:01 ID:ukel7D8W
インテリセンス利くし別にそれはいいだろw
409Now_loading...774KB:2009/09/18(金) 04:57:13 ID:n3q7XLD6
間違って英語版買っちゃたけど
これってswfファイルからばれることある?
410Now_loading...774KB:2009/09/18(金) 07:36:25 ID:TNLNLY9I
英語版であることがばれて困るのか?
てかスレ違い
411Now_loading...774KB:2009/09/19(土) 12:49:44 ID:J6gCGKyP
英語版使ってると割れかと勘違いされるじゃん
412Now_loading...774KB:2009/09/19(土) 17:22:58 ID:zdcOVMw7
バカじゃねえの
413405:2009/09/20(日) 00:27:10 ID:GUlnV5OW
>>406
そのファイルを配置したら確かに動きましたが、SWFファイルだけで完結する方法はありませんか?
Flex+AS3じゃ無理ですかね・・・・
>>407
分けて書いても変わりませんでした。
ソースは、AS3解説サイトのを参考にしてますが、そちらのほうが簡潔でいいですね。
414Now_loading...774KB:2009/09/20(日) 13:29:46 ID:DfIgsudI
>>314
クラス宣言の1個下の階層で宣言する変数・定数・関数には、普通publicとかprivateとかのアクセス修飾子をつける。
何もつけなければinternalってつけたのと同じになり、package内からしか参照できなくなる。
クラスAとBはpackage外なのでinternal変数であるa,bを参照できない。

var a:Number → public var a:Number
とかにすれば動くはず。privateでも動くかも
415Now_loading...774KB:2009/09/20(日) 13:47:17 ID:bwoXe0wa
AとBは参照して無いと思うぞ
416414:2009/09/20(日) 13:54:56 ID:DfIgsudI
>>415
traceのせいかと思ってたけど本当だ。コメントアウトしてもエラーでた。
しかし上のほうにあるthisをつける解決方法とか、クラス
AとBをコメントアウトすればコンパイル通るとかは、うちのflashdevelopではできない。普通にエラー。
publicつければ出来るのだけは合ってるとおもう。
417Now_loading...774KB:2009/09/20(日) 13:58:15 ID:kWT0xsdj
質問です。
as3でAIR1.1をつかってます。
AIRでコンパイルしたexeプログラムを実行して、さらに何か別のexeを起動したとき
AIRで作ったファイルの上に他のexeのウィンドウに重なったると
ウィンドウ同市が重なった部分が白くなり、描画してくれなくなります。

何かscriptで解決できる方法はあるんでしょうか?
どなたか、ご教授いただけたらと思います。
418Now_loading...774KB:2009/09/20(日) 16:43:13 ID:bwoXe0wa
>>416
trace内の"a"と"b"は変数じゃない。文字列だ
419Now_loading...774KB:2009/09/20(日) 19:14:48 ID:ldMf+Jda
AS2

マウス座標をコントロールすることってできる?

プレイヤーがマウスを動かしていないのに+1ずつマウス位置が上がっていくような物を作りたいです
プレイヤーが動かしていた場合、プレイヤーの操作に+1となるような

マウス位置のコントロールなんて無理か
420Now_loading...774KB:2009/09/20(日) 19:30:39 ID:yQkU7HI1
>>419
通常のマウスカーソルを消して、MCで作ったカーソルを使えば出来るんじゃないかな
421Now_loading...774KB:2009/09/20(日) 22:17:43 ID:ldMf+Jda
>>420

サンクス!その手があった。
視野が狭いな俺…


あとストップウォッチを作っているのですが
(FLASH8 AS2)


1.ボタンを押すと時間の計測を開始
2.再度ボタンを押すとストップ
3.さらにボタンを押すと、ストップした時間から続きの計測を開始

これの3番がうまくいきません。
ストップしている間に流れている時間がカウントされてしまっています。
データが↓これなんですが、どなたか教えてちょ(-_-;;)

http://www.mediafire.com/?sharekey=c172365d720bf7795bf1f12f1ff3f30ae04e75f6e8ebb871
422Now_loading...774KB:2009/09/20(日) 23:24:23 ID:yQkU7HI1
>>421
計測した時間の合計を変数に保存しておいて、ボタンを押すたびに0から時間を計測して
この2つを合わせた時間を表示すればいいんじゃないか?
ファイル見てないから適当だけど
423Now_loading...774KB:2009/09/21(月) 06:29:14 ID:7Saj/MgB
>>419
類似の質問ちょくちょく見かけるんだが
そんなクソインターフェイス何に使うんだ?
たちの悪いジョークソフトしか思い浮かばない
424Now_loading...774KB:2009/09/21(月) 13:33:35 ID:Ne9HI2cc
>>423
自分もそれは思う。
普通はマウスカーソルが勝手に動くなんて、嫌すぎる挙動だから
仲間内だけのネタコンテンツとかかなー?
425Now_loading...774KB:2009/09/21(月) 13:44:43 ID:hPv8WBdo
ゲームじゃね?
426Now_loading...774KB:2009/09/21(月) 17:36:10 ID:Uanma0UX
Q.○○を教えてください
A.そんな事よりここが駄目だ

このパターン多すぎ。黙って質問に答えてろよ
427Now_loading...774KB:2009/09/21(月) 17:39:03 ID:5GFg5sLO
答えてもリアクションがピンボケで話も続かない
428Now_loading...774KB:2009/09/21(月) 17:42:45 ID:Ne9HI2cc
サポートじゃないんだし、雑談や感想、逆質が混じってもしょうがないでしょ。
429Now_loading...774KB:2009/09/21(月) 17:57:33 ID:ne3ZqcBj
誰か>>421を頼む
本当に頼みます
430Now_loading...774KB:2009/09/21(月) 19:59:01 ID:ESt7u4AF
>>429

>>422は無視?
431Now_loading...774KB:2009/09/21(月) 20:27:15 ID:naIU07nr
環境はXPでAS3です

矩形を作ってそれの幅を動的に縮め様と思うんですが
例えば

sampleRectangle.width -= 10;

みないな感じで縮め様とすると
X座標は変更していないのに左側へずれてしまいます
作りたいのは格闘ゲームのHPバーの様な物なんですが
横の座標を止めて幅を変更する事は出来るんでしょうか?
432Now_loading...774KB:2009/09/21(月) 20:54:22 ID:ESt7u4AF
>>431
widthに値を入れるとそれに合わせてscaleXが変更される
scaleはデフォだと(0,0)を中心に伸縮するから、端を0,0にしてやると端の座標はずれなくなるよ
433421:2009/09/21(月) 22:16:50 ID:ne3ZqcBj
少し複雑な構造をしておりまして>>422ではできません。どのようなファイルになっているかと言いますと、timerというムービークリップ内に次のASを1フレーム目に記述しており
---------------------------
//グローバル変数の初期化
countTime = 0;
bActive = 1;
startTime = getTimer();

//タイマーストップ用メソッドの定義
function stopTimer() {
bActive = 0;
}
//タイマーの動作を行うメソッドの定義
function action () {
if (bActive) {
var nowTime = ((getTimer() - startTime)/1000);
countTime = nowTime;
}
}
//このタイマーの値を調べるときに使うメソッド
function value () {
return countTime;
}
434421:2009/09/21(月) 22:17:46 ID:ne3ZqcBj
続き
---------------------------
2フレーム目には
this.action();
//その他の記述は関係なしです。
---------------------------
3フレーム目に
this.gotoAndPlay(_currentFrame - 1);
---------------------------
このtimerというムービークリップをタイムライン上で
一度停止したり、再開したりすることはできないでしょうか?

timer.stop();
timer.play();
を試すと、ストップしている間の時間まで数えられてしまうのですが…
435Now_loading...774KB:2009/09/21(月) 22:23:18 ID:3FBdRaPf
flash CS3 で作成したswfファイル(sub.swf)を
main.asからLoaderクラスを使って読み込み
Loader.contentLoaderInfo.applicationDomain.getDefinition("className")
で、ロードしたSWF内で定義したリンケージクラスを引っ張ってきました。
その上でそのクラスからインスタンスを生成したのですが
生成されたクラス(MovieClip)の挙動がおかしいです。

具体的には、sub.swfは3つのシーンから構成されており
各シーンの末尾フレームにはgotoAndPlay(1)を埋め込み
シーン内でループするようにしているのですが
そのフレームアクションが全て無視されます。

探ってみるとコンストラクタまでは動いてるようなので
addFrameScriptがちゃんと動いてない気もするのですがよくわかりません。
どなたか原因などわかりますか?

ちなみに環境はAS3.0 flash9です。

436Now_loading...774KB:2009/09/21(月) 22:42:16 ID:QYLdN3qX
AS3に挑戦中なんですが、main.swfにコンテンツごとの外部SWFを読込んで表示させようと思ってます。
ところが読込んだSWFが必ず最前面に出てしまいます。
本当は最背面に置きたいのですが、イベントリスナーでロード完了後にsetChildIndexで順番を変えてやっても必ず最前面に・・・。
ローダーは別のクラスで空のムービークリップにローダーをaddChildして、main.swfでさらにインスタンスにしたクラスをaddChildしてる次第です。
この説明の仕方もあってるのかイマイチよくわかりませんが・・・。
原因が分かる方是非教えて下さい。
437Now_loading...774KB:2009/09/21(月) 23:04:35 ID:4CNWr0Ol
CS4(AS3.0, WinXP-Pro)
BitmapDataをPNGEncoder(もしくはJPGEncoder ttp://code.google.com/p/as3corelib/)で
PNG(JPG)化する作業で質問です。

MC(canvas)内にグラフを描き、これをPNGとJPG化することはできたのですが、
背景を透明にする方法が分かりません。コードの抜粋は以下の通りです。

var bmpData:BitmapData=new BitmapData(canvas.width,canvas.height,false,0xFFFFFF);//背景は白
bmpData.draw(canvas);
var byteArray:ByteArray;
byteArray=PNGEncoder.encode(bmpData);
//
var fsw:FileStream = new FileStream();//Streamを開いて画像を生成
fsw.writeBytes(byteArray, 0, byteArray.length);
fsw.close();

このままだと背景が白になり、0xFFFFFFを消しても背景は白のままでした。
背景を透明にすること方法はありますか?
438Now_loading...774KB:2009/09/21(月) 23:10:13 ID:hPv8WBdo
>>434
なるべく構造変えないような形で考えてみたが、これでちゃんと動くかは確認してない

1.グローバル変数にstopTimeを追加
2.stopTimer()を次のように変更
function stopTimer() {
 bActive = 0;
 stopTime = getTimer();
}
3.action()を次のように変更
function action() {
 if (bActive) {
  if(stopTime > 0) {
   startTime += getTimer() - stopTime;
   stopTime = 0;
  }
  countTime = (getTimer() - startTime) / 1000);
 }
}
439Now_loading...774KB:2009/09/21(月) 23:11:50 ID:O33jrKFT
>>435
MCをgetChildIndexして順番を把握し、これが1以上ならsetChildIndexで入れ替えるというのは?
440Now_loading...774KB:2009/09/21(月) 23:15:01 ID:ESt7u4AF
>>437
BitmapDataの引数を確認するんだ
441Now_loading...774KB:2009/09/22(火) 00:06:22 ID:OenCvE9z
>>440
false → true でOKでした。
Thx
442Now_loading...774KB:2009/09/22(火) 02:17:42 ID:E7O6umm0
>>432
初期表示x座標を画面端に、という事でしょうか?
しかしデザインが制約されてしまうので無理なんです、意味を間違えてたらすいません
scaleXなんかも色々試しましたが解消できず
最終的にremoveChildで前の矩形を削除し
新しく幅を設定し直してaddChildで追加して解消しました
回答ありがとう御座いました
443Now_loading...774KB:2009/09/22(火) 06:21:23 ID:L/dl7J61
ttp://www.flashiroha.com/script/watch/as38.html

これに指定の時間がきたら、違うフレームに移動させたい場合
どのようなスクリプトになりますでしょうか?

具体的には30秒カウントとなると移動させたいのですが
雰囲気としてはこんな感じで合ってます?↓

if (変数名 >= 30) {
_root.gotoAndStop("nextpage");
}
444Now_loading...774KB:2009/09/22(火) 11:14:52 ID:WMZATM+E
現在Progression3を使用しています。

1ページ目→2ページ目→3ページ目→・・・→1ページ目

のように自動でループするページ遷移をさせたいのですがやり方がわかりません。
どなたかご教授お願いします。
445Now_loading...774KB:2009/09/22(火) 13:30:05 ID:KwB0Pr/G
>>443
聞く前にやれ

>>444
Sceneを配列に入れてTimerでまわすとか?
Progressionあんまりわからんスマン
446Now_loading...774KB:2009/09/22(火) 23:09:35 ID:uwlkrMmI
ApplicationUpdaterUIをつかってairのアップデートをできるようにしたいのですが、エラーが起きてしまいます。
どなたか経験された方いらっしゃいますか?
【環境】
windowsXP/FlashCS4 10.0.2/AS3/air 1.5
【やったこと】
1)パブリッシュ設定で外部ライブラリーにswcにパスを通す。(fla,swcは同階層に置いてます)
./applicationupdater_ui.swc
2)ドキュメントクラスに下記を記述。
package {
import flash.display.MovieClip;
import air.update.ApplicationUpdaterUI;
public class Main extends MovieClip {
private var _appUpdater:ApplicationUpdaterUI;
public function Main() {
//
}
}
}
VerifyError: Error #1014: Class air.update::ApplicationUpdaterUI could not be found.
at global$init()
というエラーが出力されます、、、どなかたご教授お願い致します。
447446:2009/09/22(火) 23:53:41 ID:uwlkrMmI
うう、、、自己解決しました。
外部ライブラリーではなく、単にライブラリーにswcのパスを通したら逝けました。

お騒がせしました。
448Now_loading...774KB:2009/09/23(水) 20:34:53 ID:gAHtQ/4D
CS4(AS3.0),OS:WinXP-Pro

行列で要素を持つ2次元配列のソートで質問です。
配列data1がdata1[gyou][retu]の形であったとき、これを列毎にソートするには
どうしたら良いでしょうか?

行毎のソートは、data1[gyou]sort(Array.DESCENDING | Array.NUMERIC); で済むと
思いますが、列の場合が分かりません。

data1の行と列を入れ替えて上の形を適用することも考えましたが、これは最後の
手段にしたいです。
449Now_loading...774KB:2009/09/24(木) 15:24:51 ID:shPaVC4J
adobe flash cs3 でASやってるんですが、
ASエディタのインタフェースが使いづらいし、サイズが大きくなると読み込みも遅いです。
最新のadobe flashではエディタとか改善されていますか?
450Now_loading...774KB:2009/09/24(木) 17:08:40 ID:n18rpwSC
>>448
sortにカスタムソート関数を渡せるから自分で作るんだ

>>449
相変わらず糞だからFlashDevelop使うといいよ
451Now_loading...774KB:2009/09/24(木) 23:02:39 ID:J2Hx9xId
>>448
要するに、複数ある配列の同じindexにある要素のソートなんだから、
ソートしたい列の要素を各配列から集めて新しい配列を作る→ソートする
→結果を各配列に戻す、って流れでどうだろう
二次元配列と列の値渡してソートするような関数作ればわざわざ配列作る必要もないだろうけど
452Now_loading...774KB:2009/09/25(金) 00:31:20 ID:De8cjTBc
AS3
lineToとかmoveToで描画していくとCPU使用率が半端なくあがるのですが抑える方法はないですか?
clear()してもまたlineToとかしていくと前回より少しずつCPU使用率が上がっていきます。
453Now_loading...774KB:2009/09/25(金) 09:31:52 ID:YmhsrLbL
>>452
AS3ならGraphicクラスにdrawPathっていう一気に描かせる関数があって
lineToとかを繰り返すより効率がいいらしいよ
CPU使用率がどうかは分からんけど……
454Now_loading...774KB:2009/09/25(金) 23:48:15 ID:PA/B9DAH
AS2.0,Player6 です(CS4,WinXP)
MovieClipLoaderや、このonLoadInitを使わずにMCに読み込んだ画像(JPG)の
縦横サイズを取得するにはどうしたら良いでしょうか?

Player7なら上のものが使えて、過去に試したサンプルがあるのですが、Player6
という制限があり使えません。

よろしく願います。
455454:2009/09/26(土) 02:43:34 ID:cS+XK28W
(自己解決しました)
過去のASストックを見たら、Player6でも使えるものがありました(由来のHPは
閉鎖されています)。

this.createEmptyMovieClip("load_mc",1);
load_mc.createEmptyMovieClip("jpg",1);
this.load_mc.jpg.loadMovie("読み込むJPG");
this.load_mc.onEnterFrame = function() {
if ( this.jpg._width != 0 ) {//ココから下を改造
this.jpg._width = this.jpg._height = 100;
delete this.onEnterFrame;
}
}

つまり2フレ目以降でwidth幅がゼロでないなら処理を行うもので、
リサイズも出来ました。
456Now_loading...774KB:2009/09/26(土) 11:37:10 ID:sbXa3xl+
関数を複数のテキストフィールドに引き渡したいのですがうまくいきません。
2つとも関数は稼動してるようですがmy_txt2のほうにしか動きが反映されません。
これはなぜなのでしょうか?

function my_func(field,speed) {
this.onEnterFrame = function() {
field.hscroll += speed;
if (field.hscroll>=field.maxhscroll || field.hscroll<=0) {
speed *= -1;
}
};
}
my_func(my_txt,100);
my_func(my_txt2,50);

ちなみにAS2のPlayer7です。
457Now_loading...774KB:2009/09/26(土) 14:46:45 ID:lpHYVa8F
>>456
onEnterFrameに関数代入してるんだから、最後に入れた関数しか動かんのは当然だろう
最初のmy_funcで代入した関数は存在しないんだから
458Now_loading...774KB:2009/09/26(土) 15:03:42 ID:lpHYVa8F
>>457ちょっと訂正
onEnterFrameに→1つのonEnterFrameに
459456:2009/09/26(土) 15:27:03 ID:sbXa3xl+
この場合のthisはrootでそれにふたつのonEnterFrameを割り当ててたから駄目だったんですね。
MCを振り分けてやってみたらうまくいきました。
ありがとうございました。
460312:2009/09/27(日) 14:52:08 ID:HT34EspN
詳説のサンプルソース見つけたよ・・・
http://moock.org/eas3/examples/

720ページまで読み進んで、やっと書いてあるんだもんなあ
461Now_loading...774KB:2009/09/27(日) 14:57:44 ID:HT34EspN
改めて探したら「はじめに」の端にもあった orz
462Now_loading...774KB:2009/09/27(日) 21:51:30 ID:l68sj9bt
素朴な質問ですが
以下のように作成した配列を持つ変数に、別の配列を代入する場合
代入する前に ary = null と、してもしなくても同じことでしょうか?

var ary1:Array = [];

//ary1 = null;
ary1 = ary2
463Now_loading...774KB:2009/09/27(日) 22:08:15 ID:tcpEvZwZ
>>462
新しい配列代入すれば前の配列は参照が切れて、他から参照されてなければ自動で消されるはずだから
わざわざnull入れなくても大丈夫だと思う
464462:2009/09/27(日) 22:09:22 ID:l68sj9bt
>>463
ありがとうございます
すっきりしました!
465Now_loading...774KB:2009/09/28(月) 00:04:57 ID:KAMRizvx
FLASH + CGI
(AS2.0)

sendmailを使って、スコアを送りたいのですが
変数を送るにはどうすれば良いか教えてくれ!頼むっ!

ちなみに
・名前・メール・タイトル・内容はココのをほぼそのまま利用↓
http://www.mediacreator.jp/tutorials/print_tutorial.asp?id=70

お願いしますだー!
466Now_loading...774KB:2009/09/28(月) 01:15:38 ID:SpQF66Zn
as3のDisplayObjectで質問です。

DisplayObjectContainer(Sprite)にDisplayObject(Loader)を子として追加したんですが、子の表示順序を
親よりも前、つまり奥にするにはどうすればいいでしょうか?addChildAtとかは、同じ階層にあるものでしか意味無いですよね?

宜しくお願いします。
467Now_loading...774KB:2009/09/28(月) 01:18:11 ID:gwiFCwk2
>>465
LoadVars使え
468Now_loading...774KB:2009/09/28(月) 04:06:50 ID:SLZGuAFy
>>466
親子関係にしなければいい
例えば新しいSpriteを作ってそこに2つともaddChildするとか
469465:2009/09/29(火) 00:45:08 ID:SqA/ujS0
>>467
cgi側の処理で経過時間の変数を追加する場合に、どのようなスクリプトを追加すればよろしいでしょうか?

##### レシーブ処理 #####
sub receive{
my $query = CGI->new;
my $returnPath = $query->param('email');
my $from = _convertMimeB(_convertJis($query->param('name')));
$from .= "<$returnPath>";
my $to = $query->param('to');
my $subject = _convertMimeB(_convertJis($query->param('subject')));
my $body = _convertJis($query->param('body'));


### メール作成
my $mail = "";

$mail .= "Return-Path: <$returnPath>\n";
$mail .= "To: $to\n";
$mail .= "From: $from\n";
$mail .= "Subject: $subject\n";
$mail .= "Content-Type: text/plain; charset=\"iso-2022-jp\"\n";
$mail .= "Content-Transfer-Encoding: 7bit\n";
$mail .= "MIME-Version: 1.0\n";
$mail .= "\n";
$body =~ s/(^|\n)\.(\n|$)/$1. $2/g;
$body =~ s/(^|\n)\.(\n|$)/$1. $2/g;
$mail .= $body;
470Now_loading...774KB:2009/09/29(火) 00:45:32 ID:clYtKhw3
>>468
ありがとうございます。やはりそうなりますか・・・ということは表示順は必ず親が先になるのでしょうか?
471Now_loading...774KB:2009/09/29(火) 00:47:54 ID:SqA/ujS0
あとFLASHのASの記述も、何を追加すればよいのか教えてく…れ…たの…む……(フリーザ風)


//送信用のLoadVars
var serveData:LoadVars = new LoadVars();

//受信用のLoadVars
var receiveData:LoadVars = new LoadVars();
receiveData.onLoad = function() {
gotoAndStop(12);
};

sButton.onRelease = function(){
serveData.to = TO;
serveData.name = name.text;
serveData.email = email.text;
serveData.subject = subject.text;
serveData.body = body.text;
serveData.sendAndLoad("sendmail_flash.cgi", receiveData);
gotoAndStop(11);
};
472Now_loading...774KB:2009/09/29(火) 01:12:46 ID:37CdLmh/
なんで普通に質問できないの
473Now_loading...774KB:2009/09/29(火) 01:22:16 ID:eNvxVhcf
ASってエクセルのデータとかcsvのデータ読み込むとか操作することできる?
474Now_loading...774KB:2009/09/29(火) 01:32:04 ID:ug1bRzXl
AS2は知らんがAS3ならできるよ
475Now_loading...774KB:2009/09/29(火) 01:38:40 ID:eNvxVhcf
できるかできないかなんて聞いてないよ。
どうしたらできるの?
476Now_loading...774KB:2009/09/29(火) 01:51:07 ID:airSGqmX
as3xlsみたいなライブラリを使うか自分で書けばできるよ
477471:2009/09/29(火) 02:47:51 ID:SqA/ujS0
>>472

すいません、教えてくださいm(_ _)m
478Now_loading...774KB:2009/09/29(火) 17:02:16 ID:E7GiapOc
質問させてください。
FLVプレイヤーを作りたいのですが、
再生ボタンを押すまではデフォルトで静止画を表示しておきたいと思っています。
別途画像を読み込むのではなく、例えば再生開始まではそのFLVファイルの任意の秒数の静止画を表示しておくというようなことはできますでしょうか?
よろしくお願いします。
479Now_loading...774KB:2009/09/29(火) 20:26:45 ID:37CdLmh/
>>477
sendAndLoad (LoadVars.sendAndLoad メソッド)は
オブジェクト内の変数を、指定された URL に送信するものだから
LoadVarsオブジェクトに好きな変数を追加すればいんじゃん
serveData.score = 255;
としたらscore=255が送信されるから
CGI側では
my $myscore = $query->param('score');
とでもしたらいいのかな

サンプルのだと実行されるたびにメールが送られてくると思うんだけど
それがしたいことなの?
スコアを保存したいなら
FLASH→perl→text で保存して
FLASH→txtで読み込めばいいんじゃない
480477:2009/09/29(火) 20:47:36 ID:SqA/ujS0
>>479

それがしたいことであります!
帰ったらやってみます。ありがとう。
481Now_loading...774KB:2009/09/29(火) 21:59:30 ID:SqA/ujS0
>>479
やってみたのですが、変数のデータが送信されません。timerというムービークリップ内にcountTimeという変数があり、
そちらを送りたいのですが…。timer内には3フレームあり、それぞれ次のスクリプトを記述しております。

■1フレーム目

//グローバル変数の初期化
countTime = 0;
bActive = 1;
startTime = getTimer();

//タイマーストップ用メソッドの定義
function stopTimer() {
bActive = 0;
}
//タイマーの動作を行うメソッドの定義
function action () {
if (bActive) {
var nowTime = ((getTimer() - startTime)/1000);
countTime = nowTime;
}
}
//このタイマーの値を調べるときに使うメソッド
function value () {
return countTime;
}
482477:2009/09/29(火) 22:00:29 ID:SqA/ujS0
■2フレーム目
this.action();

if (countTime >= 20) {
_root.gotoAndStop("gameover");
}

■3フレーム目
this.gotoAndPlay(_currentFrame - 1);


countTimeを送信したいのですが、FLASHとCGIファイルでそれぞれどのように記述すれば宜しいでしょうか?
一応、次のような感じなのかなとは思い、やってみたのですがダメでした…。

FLASH側
serveData.score = timer.countTime;

CGI側
my $myscore = $query->param('score');
483477:2009/09/29(火) 23:17:35 ID:SqA/ujS0
2、3フレーム目はほとんど関係ないです。
20秒経過したらゲームオーバーにしてるだけです。
484Now_loading...774KB:2009/09/29(火) 23:39:48 ID:nqBNLsHO
つかあんたFlash使わないでそのCGI直接叩いて必要なパラメータ送れるの?
その仕組みわかってなきゃ何やっても無駄
485Now_loading...774KB:2009/09/29(火) 23:40:30 ID:nqBNLsHO
CGIの書き方わからないとかだったら問題外
ヨソでお勉強してきて頂戴
486Now_loading...774KB:2009/09/29(火) 23:42:42 ID:nqBNLsHO
Flashで何しようが別にFlashならではの特殊な通信してるわけじゃない
POSTだろうがGETだろうがソケット通信だろうが、既存のその技術をFlashから使ってるだけ
まずはそこを知ってなきゃ話にならない
487Now_loading...774KB:2009/09/29(火) 23:56:21 ID:37CdLmh/
>>483
1フレーム目もいらないからとりあえず何ができていないのか調べるべき

1.サンプル通りに書いてアドレスや名前をメールで取得することができた
2.serveData.score=1(適当な定数)として加えてみてメールで取得することができた
3.CGIに送る直前にtimer.countTimeをtraceしてみてきちんと期待される値がとれている

たぶん2がNOだと思うけどその場合
2-1.scoreが送信できていない
2-2.scoreが送信できているけど正しく処理できていない
をチェックしてみ
1と3はさすがにできてるよね
488477:2009/09/30(水) 09:02:06 ID:6SPGknWw
>>487

2ができてませんでした。
メールを受信したときに題名、名前、アドレス、内容とあって

このscoreが正しく送信された場合、
メールのどの欄に送られてくるものなのでしょうか?内容?

2-2の可能性も高いということですよね?
489Now_loading...774KB:2009/09/30(水) 11:16:47 ID:2APbkzpp
TextAreaへのhtmlTextでfirefoxの検索ヒットした時みたいに
ある範囲の背景を赤にしたいんですがflash.text.StyleSheetに背景設定が見当たらない
これは無理ってことでしょうか?
490Now_loading...774KB:2009/09/30(水) 13:43:57 ID:LWe6F2/p
>>489
背景色はできなたっかんじゃないかな
自前でTextField並べてTextFieldのbackgroundColor設定するとかになっちゃうかな
491Now_loading...774KB:2009/09/30(水) 15:45:40 ID:UfMVZ9M5
mcインスタンスに読み込む画像をメモ帳で指定したいのですが
何処かいい解説サイトはありますか?

例:txtファイルに img01=1.jpg と書いておけば _root.base01に
1.jpgを読み込んでくれるといった事をしたいんです。
外部txtからテキストやhtml,ダイレクトに外部画像読み込みは過去にやった事があるのですが
それらの複合で、更にずっとASから離れてた事もあって四苦八苦中です。
少々漠然とした質問で申し訳ありませんが宜しくお願いします。
492491:2009/09/30(水) 16:07:37 ID:UfMVZ9M5
補足。
少し頭を抱えて閃いたので今やってみました。
this.base.loadMovie("gazou1")
System.useCodepage = true;
this.loadVariables("img.txt",this.gazou1txt);
gazou1=gazou1txt;

一度ダイナミックテキストにメモ帳から変数指定
その変数をgazou1に受け渡して画像読み込み
メモ帳には gazou1txt=01.jpg 同じ階層に01.jpgを置いてあります
インスタンス名 baseにこれだと読み込まれません。
何処か間違ってる箇所はありますか? 現在Flash MXでやってます
493Now_loading...774KB:2009/09/30(水) 16:50:59 ID:cysWOwC3
internal 修飾子を使ったクラスのメソッドに public と internal を使った場合
それぞれどう違うのかが分かりません。
どなたか解説をお願いしますm(____)m
494491:2009/09/30(水) 16:53:16 ID:UfMVZ9M5
連レスすみません。

AS

System.useCodepage = true;
loadVariablesNum("img.txt", 0);
this.img01.loadMovie(image01+".jpg");

メモ帳
image01=01

インスタンス名 img01に 01.jpgが読み込まれません。
試しにダイナミックテキストを置いて変数調べて見ましたが01で読み込まれてました。
プレビューを見るとError opening URL undefined.jpgと出て変数のやり取りが出来てない模様です
495Now_loading...774KB:2009/09/30(水) 16:57:43 ID:kd8olnZD
初心者です。 
マウス座標でスクロールするようにしたいんですが何が駄目なのか全く動きません‥…
インスンス名はmapでやってるし‥かれこれ5時間奮闘です‥…
環境 CS4のAS2 です!

onClipEvent (load) {
MapWidth = 308.10; // マップの横幅
MapHeight = 1112.80; // マップの縦幅
MapSpeed = 5; // マップの移動速度
FlashWidth = 1024; // Flashの縦幅
FlashHeight = 710; // Flashの横幅
}
onClipEvent (enterFrame) {
// x方向移動量
_root.map._x += ((FlashWidth - _root._xmouse) / FlashWidth * 2 - 1) * MapSpeed;
// y方向移動量
_root.map._y += ((FlashHeight - _root._ymouse) / FlashHeight * 2 - 1) * MapSpeed;
// リミッタ
if( _root.map._x > 0) _root.map._x = 0;
if( _root.map._y > 0) _root.map._y = 0;
if( _root.map._x < -(MapWidth - FlashWidth )) _root.map._x = -(MapWidth - FlashWidth);
if( _root.map._y < -(MapHeight - FlashHeight )) _root.map._y = -(MapHeight - FlashHeight);

}

回答お願いします!
496Now_loading...774KB:2009/09/30(水) 17:23:12 ID:T7Uu7fza
回答じゃないけど
今初心者なら2.0じゃなくて3.0覚えたほうがいいと思うんだけど。
497Now_loading...774KB:2009/09/30(水) 17:23:15 ID:QaFwHv5J
>>494
まず、読み込み開始した直後には、データ(img.txt)は当然読み込まれていない。
したがって、loadVariablesNum()の直後にそのデータ内容を参照しても無理。
AS2.0ならLoadVarsを使い、リスナーイベント内でimg.txtの内容を受け取る。
それが出来たら、今度はその値をもとに、MovieClipLoaderを使う。
498489:2009/09/30(水) 17:34:04 ID:2APbkzpp
>>490
回答ありがとうございます
そこまでするほどの件でもないので文字の色を変えるぐらいにします
499sage:2009/09/30(水) 18:13:04 ID:WPNoq1KL
[1フレーム目]
System.useCodepage = true;
this.loadVariables("CP1.txt");
ll=0;
this.play();

[2フレーム目]
ll +=1;//
Line ="L"+ll;//台詞表示
this.stop();
(キー操作で次のフレームへ)
[3フレーム目]
prevFrame();
//前のフレームに戻る

[CP1.txt内容]
&L1=セリフ1&
&L2=セリフ2&

-------------------------------
以上のようなスクリプトで、ページをめくるたびに違うセリフが表示されるように
したいのですが、実際には「L1」「L2」と表示されてしまいます。
正しく表示されるにはどうしたらいいかよろしければ回答お願いします。
500Now_loading...774KB:2009/09/30(水) 19:01:28 ID:QaFwHv5J
>>499
文字列で変数名を指定するなら配列アクセス演算子。

できればテキストフィールドを変数として使うのはやめたほうがいいです。
さらにこの件とは関係ないけど、理由がないなら、loadVariablesじゃなくて、
LoadVars使ったほうがいいと思います。
確実な読み込み完了処理ができる。フレーム遷移も不要になる。
今のスクリプトだと、もしも2フレーム目に移動した時点でテキストの読み込みが完了して
なかったらうまく動作せず、バグの原因になりうるよ。
501Now_loading...774KB:2009/09/30(水) 20:33:02 ID:2MGmXQ2M
addEventListener(Event.ENTER_FRAME, xFollowMouse);
function xFollowMouse(eventObject:Event):void {
x += mouseX;
y += mouseY;
}

-----------------------------------------------------------------------------
addEventListener(Event.ENTER_FRAME, xFollowMouse);
function xFollowMouse(eventObject:Event):void {
x = parent.mouseX;
y = parent.mouseY;
}


誰かこの仕組みの違いを教えて下さい
頭がいたくなってきた・・・orz
502Now_loading...774KB:2009/09/30(水) 21:13:03 ID:lzQbUSXD
FSCommand2("StartVibrate",100,100,3)
この動作をループさせる方法はないでしょうか?

503499:2009/09/30(水) 21:22:16 ID:WPNoq1KL
>>500
ありがとうございます。
いろいろと気をつけないといけないことがあるんですね・・・
504Now_loading...774KB:2009/09/30(水) 21:37:54 ID:h2qXZZ6e
>>502
携帯は専用スレ有り
100ミリ秒バイブ100ミリ秒やすみを三回繰り返してるんだから
settimerかなんかで1200ミリ秒ごとに実行させたら?

>>495
リミッタの条件式は本当にあってるの?
mapのxy座標は度の範囲を動いてほしいの?

>>499
500の補足をすると
Line ="L"+ll;//台詞表示
が間違ってる。llが1だったら"L"+llは"L1"
2だったら"L"+llは"L2"という文字列の値になっちゃう。
から配列アクセス。
505Now_loading...774KB:2009/09/30(水) 21:48:33 ID:h2qXZZ6e
>>488

2-2だと思う。あなたがやった
FLASH側
serveData.score = timer.countTime;
はscoreの値をCGIに送るトロッコに乗せたこと

CGI側
my $myscore = $query->param('score');
は受け取ったトロッコからscoreをおろしたことだから
この二行があってるかはわかんないけど
少なくともそのあとの処理をしなきゃ

mailの送信はやったことないから申し訳ないがわかんない
たぶん$bodyになんとかして加えるんだと思うけど
とりあえずレシーブ処理の最終行の
my $body = _convertJis($query->param('body')); を
my $body = _convertJis($query->param('score')); に変えてみたら
メール本文にflashから送った本文の代わりにscoreが入ると思うから
それで本文が設定したスコアの値になってれば
送信はできてるってことだから
なんとか本文と加える方法を考える
506Now_loading...774KB:2009/09/30(水) 22:05:50 ID:h2qXZZ6e
>>501
xとyがなにを指してるか分かんないけどssってインスタンスがあって
ss.xとss.yってことにする
上はすごい勢いでどっかとんでくんじゃない。
フレームごとにマウスの座標(ターゲットによるけど基本は正)の値だけ移動するんだから。
下は完全にマウスのトレース。フレームごとにマウスの座標にssの中心座標が移動する

もしマウスにゆっくり追尾させたいんなら
addEventListener(Event.ENTER_FRAME, xFollowMouse);
function xFollowMouse(eventObject:Event):void {
ss.x += (mouseX-ss.x)/5;
ss.y += (mouseY-ss.y)/5;
}
こんなん。
フレームごとにssの座標とマウスの座標の差をとってその5分の1だけ近づける
507501:2009/09/30(水) 22:51:18 ID:2MGmXQ2M
>>506さん
応用まで教えてくれてありがとうございます
上と下は同じ挙動をするスクリプトなんですが
マウスから見たインスタンスの座標と、インスタンスから見たマウスの座標
ということにして 上のスクリプトはマウスの座標がインスタンスから見てマイナスになったら
挙動がおかしくなるということで解釈しようと思います

本当にありがとう

今、教えてくれたスクリプトにディフェンスしてる人のインスタンスくっつけて息抜きしてます



508Now_loading...774KB:2009/09/30(水) 22:58:29 ID:h2qXZZ6e
>>507
見当違いだったか。失礼
_parent気になったけどスルーしちゃった

上下のスクリプトのみをメインフレームに書いたら
同じ挙動するってこと??
509501:2009/09/30(水) 23:09:30 ID:2MGmXQ2M
同じ挙動です だけど上のスクリプトを書いてる途中に確認として何度かプレビューしたんですけど
挙動がおかしくなることが何度かあったので・・・(まだ良く分かってない)
まだ初めて2日目なのでもう少し自分で調べてから質問してみます



510Now_loading...774KB:2009/09/30(水) 23:14:51 ID:h2qXZZ6e
>>509
インスタンスも何もおかないの?
片方書いただけだと
当然のように何も表示されないんだけど
511501:2009/09/30(水) 23:16:51 ID:2MGmXQ2M
すみません
インスタンスはあります 申し訳ありません
言ってくれた様にマウスに追従するスクリプトを作ろうとしています
512501:2009/09/30(水) 23:31:52 ID:2MGmXQ2M

addEventListener(Event.ENTER_FRAME, xFollowMouse);
function xFollowMouse(eventObject:Event):void {
ss.x = mouseX;
}
最初にこのスクリトで試してみたら挙動がおかしく、
helpをみたのですがmouseXはインスタンスの継承したプロパティなのに
1つしかないマウスポインタの座標

513501:2009/09/30(水) 23:32:58 ID:2MGmXQ2M
間違えて打ち込んでしまた
もういいや 勉強してくる
514Now_loading...774KB:2009/09/30(水) 23:35:13 ID:h2qXZZ6e
>>511
>>501
x += mouseX;と
x = parent.mouseX;
が同じような挙動するとはやっぱり思えないな。+=でいいの?

こんなのもある。ぼよんぼよん
var vx:Number=0,vy:Number=0;
addEventListener(Event.ENTER_FRAME, xFollowMouse);
function xFollowMouse(eventObject:Event):void {
vx= vx*0.6+(mouseX-ss.x)/1;
ss.x +=vx;
vy= vy*0.6+(mouseY-ss.y)/1;
ss.y +=vy;
}
515501:2009/10/01(木) 02:39:37 ID:+eU3sGwi
>>514

確かに同じ挙動ではないのですが
インスタンスから見たマウスポインタの座標で追従するスクリプト と
マウスポインタのからみたインスタンスの座標で追従するスクリプト の違いで
触った感じだと同じ挙動に感じます

この解釈で覚えてみて他にも試してみようと思います
ぼよんぼよんのスクリプトこれめっちゃ楽しいですね!!
516478:2009/10/01(木) 08:57:21 ID:4ZwKdvSo
すみません、>>478について
何か方法がありましたら教えてください。
517Now_loading...774KB:2009/10/01(木) 23:21:30 ID:vExofZnH
function enterFrame_handler(event:Event):void {
var num:int=0;
num++;
trace(num);
}

このプログラムだと毎回変数numが0に初期化されてしまいます
どうすれば最初の一回だけ初期化するような処理をすることが出来るのでしょうか
回答宜しくお願いします。
518Now_loading...774KB:2009/10/02(金) 01:34:27 ID:v2BI5/9B
>>517
enterFrame_handler の外で変数 num を宣言すればいい。
メンテしにくくなるけど、他の処理で enterFrame_handler や num を使わないと確定しているなら、

var num:int = 0;
addEventListener(Event.ENTER_FRAME,
function(event:Event):void {
num++;
trace(num);
}
);

のように匿名関数の直前に num を宣言して使っちゃうとか。
519Now_loading...774KB:2009/10/02(金) 02:16:52 ID:kNXzdmsD
良スレ
520Now_loading...774KB:2009/10/02(金) 10:41:07 ID:KWFfMX4E
base.addChild(class1);
class1.addChild(class2);
class2.addChild(class3);
base.addChild(class4);

こういった状態の時に、base上で宣言した変数の値を全てのclass上で参照する方法はあるのでしょうか?
Actionscript3.0です。
521Now_loading...774KB:2009/10/02(金) 11:15:24 ID:Jq62w+2g
parent
parent.parent
parent.parent.parent
522Now_loading...774KB:2009/10/02(金) 15:52:21 ID:KWFfMX4E
>>521
ありがとうございました。
やっぱりそう辿っていく方法しかないんですかね。
それぞれのクラスのENTER_FRAME上で、何度もアクセスする数値なので
クラスまたぎのアクセスは重くなる?気がして悩んでいました。
それぞれのクラスで個別に同じ変数を宣言して使用しようと思います。
523Now_loading...774KB:2009/10/02(金) 16:14:24 ID:HIT9dyVa
質問です。
flash CS4でAIRアプリ製作しています。
AIR1.5でパブリッシュする方法がわかりません。

flash CS4にはAIR1.1がデフォルトで
パブリッシュできるようになっているのですが…

AIR1.5は一応ダウンロードしてインストールしているんですが
パブリッシュ設定のplayer設定にはAIR1.5は選択肢として表示されていません。

AIR1.5パブリッシュするには特別な設定がいるのでしょうか?
524Now_loading...774KB:2009/10/02(金) 17:02:38 ID:UjN+B4oi
>>523
今FlashCS4見てみたけど、普通にAIR1.5あったよ
Flashのアップデート確認してみるといいんじゃない?
525Now_loading...774KB:2009/10/02(金) 17:08:55 ID:Jq62w+2g
>>522
上からもある
root.base
baseの位置にもよるが
526Now_loading...774KB:2009/10/02(金) 19:56:38 ID:Cl8f+wH3
>>518
ありがとうございます出来ました!
527Now_loading...774KB:2009/10/03(土) 21:23:10 ID:PGnnc2W0
AS3でタイムラインにムービーを書くのとスクリプトで制御するのはどちらの方が軽い処理になるのでしょうか
528Now_loading...774KB:2009/10/03(土) 22:17:32 ID:1ohNXIwm
>>527
どういう処理をしたいのかによるが、スクリプトの方が殆どの場合軽い。
自由度なら圧倒的にスクリプトが優勢。
529Now_loading...774KB:2009/10/04(日) 21:05:13 ID:39cbh3pO
AS3で、alpha等の少数プロパティを与える時
0.338947348973497・・・
みたいな少数以下のケタがとても長いのを与えても、特に問題は無いのでしょうか?

Math.random()を使った場合等、上記のような少数以下ケタが長い数値排出されますが
これをこのまま与えるより、小数点以下2ケタになるよう計算したのを与えた方が
処理が早くなる等の効果はあるのでしょうか?
530Now_loading...774KB:2009/10/04(日) 21:19:53 ID:crwYYRrb
ベンチ取ったこともバイナリ見たわけでもないけど誤差が出るだけでは?
基本的に浮動小数点処理だと思うけど。
531Now_loading...774KB:2009/10/04(日) 22:09:36 ID:39cbh3pO
>>530
どうも
試しにムービークリップに十数桁の少数を入れてtraceしてみたら
7、8桁程度で切られるみたいですね
alphaの誤差は0.00〜1.00間と思ってましたが、結構細かい誤差が発生するという事でしょうか

やっぱり指定する際に下2ケタに変換した方が無難なようですね
532Now_loading...774KB:2009/10/05(月) 05:11:32 ID:mv1rcnAD
初心でです
okwebに投稿されてたスクリプトなんですが、
removeEventListenerが呼び出されてませんよという回答で解決していました
しかしどこがおかしくて呼び出されてないのか分からないため
どなたか教えてもらってもよろしいでしょうか?お願いします。

var c:int;
var nDeceleration:Number = 0.1;

ball.addEventListener (MouseEvent.MOUSE_OVER, r_over);
function r_over(event:MouseEvent):void {

c=300;

ball.addEventListener(Event.ENTER_FRAME, ballsize);
function ballsize(event:Event):void {
if(ball.width==c){
ball.removeEventListener(Event.ENTER_FRAME,ballsize);
}
else{
ball.width +=(c - ball.width) *nDeceleration;
ball.height +=(c - ball.height) *nDeceleration;
}
}
}
続く
533Now_loading...774KB:2009/10/05(月) 05:13:34 ID:mv1rcnAD
ball.addEventListener (MouseEvent.MOUSE_OUT, r_out);
function r_out(event:MouseEvent):void {
c=150;

ball.addEventListener(Event.ENTER_FRAME, ballsize);
function ballsize(event:Event):void {
if(ball.width==c){
ball.removeEventListener(Event.ENTER_FRAME,ballsize);
}
else{
ball.width +=(c - ball.width) *nDeceleration;
ball.height +=(c - ball.height) *nDeceleration;
}
}
}
534Now_loading...774KB:2009/10/05(月) 05:19:29 ID:mv1rcnAD
すみません
AS3で、マウスがball_mcに乗ると拡大して
ball_mcから降りると縮小するスクリプトなんですが、
繰り返しムービークリップにマウスに合わせてていくと
、縮小するまでの時間と拡大するまでの時間が比例的に早くなっていきます
どうかよろしくお願いします。
535Now_loading...774KB:2009/10/05(月) 09:03:24 ID:QJKh2Zuc
>>532
イベント重ねて登録しちゃってんでしょ。removeする条件見直すか、
hasEventListenerで登録してあるイベント調べて登録しなおす処理にかえりゃいいんじゃない?
536Now_loading...774KB:2009/10/05(月) 09:56:46 ID:y3h2bR2A
>>534
if(ball.width==c){ の部分

ball.width値はcに近づくけどぴったりcにならないからremoveEventListenerが実行されていない。
537Now_loading...774KB:2009/10/06(火) 12:37:58 ID:NebnqR0B
AS3です。SpriteにBlurFilter/ColorMatrixFilterで描画された残像を
あるタイミングで全部きれいに消したい場合はどう記述すればいいですか

538Now_loading...774KB:2009/10/06(火) 22:54:55 ID:hwhgTkXR
サムネイルサイズの画像をクリックするとフェードが掛かって、クリックした画像が
次々に切り替わるようなギャラリーはどうしたら作れますか?

アルファ0%のビットマップを書いたマスク用ムービークリップを、画像読み込み用の空のムービークリップ上に乗せて
マスク用ムービークリップに、マウスクリックイベントで外部画像を読み込む処理を書くみたいな感じで
やるしかないのでしょうか?
539Now_loading...774KB:2009/10/06(火) 23:49:24 ID:vgOOzC17
いかにも作ってます体でめちゃくちゃな事を書くやつたまに居るけど何なの?w
540Now_loading...774KB:2009/10/07(水) 01:57:44 ID:6tNwjGxX
>>538
何かテストで作ったらいいじゃん。
それで問題に当たったらそれを元に聞けばいいし。
541Now_loading...774KB:2009/10/07(水) 03:31:32 ID:DtwhXxAw
>>524
解決できました。
Flash用のアップデートファイルが必要だったんですね。
ご指摘ありがとうございました。
542Now_loading...774KB:2009/10/07(水) 10:10:46 ID:iReFRSiI
AS3でタイマーイベントに引数を渡す方法はないでしょうか?
543Now_loading...774KB:2009/10/07(水) 17:40:52 ID:awVRL/1f
>>542
「AS3 クロージャ」でググると吉かもしれない
544Now_loading...774KB:2009/10/07(水) 19:29:59 ID:RhdmJwq9
AS2.0,CS4,WinXPです。
ラジオボタンのラベル色(文字色)の変更(デフォルト黒→白)が出来ません。

記述は、ラジオボタンMCのonClipEvent (load) で
this.setStyle("fontSize",16);// これはOK
this.setStyle("Color",0xFFFFFF);// これは無効?

と書いています。
フォントサイズは調整出来たのですが、色が変化しません。
どうしたら良いでしょうか?
545Now_loading...774KB:2009/10/07(水) 19:35:06 ID:yiT5Xk4e
>>544
Color -> color じゃない?
546Now_loading...774KB:2009/10/07(水) 20:03:49 ID:RhdmJwq9
>>545
あーほんとだ。
さんきゅう。
547Now_loading...774KB:2009/10/07(水) 23:00:58 ID:kqmPD8qj
var test=stage.addChild(new mc);
とした場合test.x=100;をするとアタッチしたMCがX座標100の位置に来ると思うのですが
変数testを使わずに同じ処理を行うことは出来るでしょうか
548Now_loading...774KB:2009/10/07(水) 23:53:54 ID:gvNmp9j5
>>547
初期位置を与えて初期化はできないんじゃないかな
専用の関数でも作って使いまわせば?

function createNewDO(dispObj:DisplayObject,x:Number=0, y:Number=0):DisplayObject{
dispObj.x=x;
dispObj.y=y;
return dispObj;
}
で、
addChild(createNewDO(new MovieClip(), 100));
みたいな感じ
549Now_loading...774KB:2009/10/08(木) 10:19:44 ID:LAkCAuRm
ACTIONSCRIPT3で配列が存在するか確かめる方法はあるでしょうか
IFで判定しようとしても配列にアクセスすると処理が中断されエラーが出てしまいます
550Now_loading...774KB:2009/10/08(木) 10:52:58 ID:Twod1a+U
>>549
配列の変数がnullか否かをまず見て、nullじゃなきゃlengthを気にしながら処理って感じかな?
551Now_loading...774KB:2009/10/08(木) 12:23:02 ID:LAkCAuRm
>>550
解答ありがとうございます。
nullかどうかをIF文で調べるようにしたのですが
変数が存在しているかを先に見に行っているようで存在しなかった場合はエラーが出力されプログラム自体がスキップされてしまうようです…
552Now_loading...774KB:2009/10/08(木) 12:40:54 ID:A+jjslHY
>>551
エラーはどんなエラーなの?どんなメッセージが出力される?
553Now_loading...774KB:2009/10/08(木) 12:51:38 ID:LAkCAuRm
>>552
条件は未定義であり、プロパティがありません。
と表示されます
554Now_loading...774KB:2009/10/08(木) 13:00:43 ID:A+jjslHY
>>553
なら先に変数を宣言しとけば済む話じゃないの?
何かダイナミックなクラスに後付けでArray型のプロパティ追加してるなら、配列アクセス演算子使えばいいんじゃない?

var o:Object ={};
trace(o["hoge"]==null);//true
o.hoge = new Array();
trace(o["hoge"]==null);//false
555Now_loading...774KB:2009/10/08(木) 13:50:04 ID:53Ur5kxA
AIRでWEBとの通信を行いたいのですが、
URLLoaderのCOMPLETEがSSL(HTTPS)上だと発生しません。
どたなか解決策を教えてください!

コードはadobeに記載されているサンプルコードそのままです。
var variables = new air.URLVariables("name=Franklin");
var request = new air.URLRequest();
request.url = "htps://〜〜〜/"; //←アクセス先がhttpsだと発生しない
request.method = air.URLRequestMethod.POST;
request.data = variables;
var loader = new air.URLLoader();
loader.dataFormat = air.URLLoaderDataFormat.VARIABLES;
loader.addEventListener(air.Event.COMPLETE, completeHandler);
try
{
loader.load(request);
}
catch (error)
{
air.trace("Unable to load URL");
}

function completeHandler(event)
{
air.trace(event.target.data.welcomeMessage);
}
556Now_loading...774KB:2009/10/08(木) 18:24:22 ID:3rPdGKpm
>>554
ありがとうございます
色々やってみたところ出来ました
557Now_loading...774KB:2009/10/08(木) 20:41:41 ID:owhORact
AS3です。
Flashの貼ってあるページを開くときに、URLからgetメソッドでクエリ(パラメータ)を
Flashに渡したいのですが、やり方がわかりません。
現在asファイルを別個にして以下のように書いています。

private var _paramObj:Object;
private var _str:String;

てな感じに定義して

_paramObj=LoaderInfo(loaderinfo).parameters;
_str=paramObj["id"];

で、下のようなURLのクエリを受け取りたいのです。(_strの中に"hoge")

       http://xxx.com/flash?id=hoge

よろしくお願いします。
558PG:2009/10/08(木) 20:45:25 ID:PbDh84qm
質問させてください。
AS2で、String型の内容をEUC-JPの文字コードに置き換えることは出来ますでしょうか。
宜しくお願いいたします。
559Now_loading...774KB:2009/10/09(金) 10:06:02 ID:77NL7aMm
動いているEventListenerを全て表示させるような事は出来ないでしょうか?
プログラムが長くなってしまい永遠に実行されているENTERFRAMEなどがないか確かめたいのですが・・・
560Now_loading...774KB:2009/10/09(金) 12:23:11 ID:DITNIV6F
>>557


var _str:String = loaderInfo.parameters['id']; // これ一行でOKなハズ
561Now_loading...774KB:2009/10/10(土) 00:10:06 ID:7Pzqw2DW
ド素人な質問ですいません。
環境はFlashDevelop3.0.4+DlexSDK3.4です。

Mainで
プロパティ:p1を宣言
Class1のインスタンス:c1をaddChild

Class1内のファンクションでMainのp1にアクセスします。

MainがMovieClipを継承していれば
trace("Main:p1>>>"+MovieClip(parent).p1);

でアクセスできるのですが、

MainがSpriteを継承している場合
trace("Main:p1>>>"+Sprite(parent).p1);
とやると
「未定義である可能性が高いプロパティ p1 に静的型 flash.display:Sprite の参照を使用してアクセスしています。」
と、エラーがでます。

1.Spriteを継承したクラスではこのようなことはできないのでしょうか。
2.MainはSpriteを継承している例が多いのですがMovieClipを継承すると何か問題あるでしょうか。

わかりづらいかもしれませんがよろしくお願いいたします。
562Now_loading...774KB:2009/10/10(土) 00:13:20 ID:7Pzqw2DW
↑FlashDevelop3.0.4(AS3)+FlexSDK3.4です
563Now_loading...774KB:2009/10/10(土) 20:57:29 ID:ErKqtt0/
sage
564Now_loading...774KB:2009/10/10(土) 21:03:24 ID:ErKqtt0/
ミスった
>>561
多分MovieClipはdynamicクラスだでSpriteは違う、ってあたりが関係してんじゃないかな
どちらで作ってもいいけど、MovieClipだと再生関係の機能分無駄だから
Spriteで作るのが定石とか読んだ覚えがある
565561:2009/10/10(土) 22:04:09 ID:7Pzqw2DW
>>564
なるほど、確かにエラーにも静的型だからダメ的に書いてますね
とりあえずMainからステージ管理用のMovieClipを継承したクラスを
インスタンス化してそこから各部品を配置していくようにします

ありがとうございました
566Now_loading...774KB:2009/10/11(日) 21:05:07 ID:KcOnugAD
AS3でボタンを押してはなしたときに実行させるにはどうすればいいでしょうか?
MOUSE_UP+MOUSE_DOWNのような感じです
567566:2009/10/11(日) 21:07:56 ID:KcOnugAD
すみませんMOUSE_CLICKがあったのですねお騒がせしました
568Now_loading...774KB:2009/10/12(月) 03:47:51 ID:vjAH8z5B
CS3です。flvplaybackコンポーネントを使ってflvplayerのスキンを改造
したいと思っています。
flvplaybackコンポーネントに、シークバーがあるのですが、
再生経過を表す「▲」型のハンドルがあり、再生すると左から右へ移動
します。
これを「▲」のハンドルでなくプログレスバーの様に左から棒が進むような
タイプに変更したいです。
いろいろ試してみたのですが、なかなか思うようにはいけません。
例えば「▲」を横棒の矩形に変え、シークバー自体にマスクをかけて
みたりするのですが、そうすると別のコンポーネントである
ボリュームバーのハンドラが消えてしまったり。とか。。

なにか良い方法がありますでしょうか?
569Now_loading...774KB:2009/10/12(月) 13:13:35 ID:vqBdu9jA
flashって決められたファイル形式しかインポートできないんですか?
外部ファイルを読み込めるの知っていますが、
例えばテキストファイルやcsvファイルなどをインポートして、
swf内に含まれるようコンパイルすることはできるのでしょうか。
570Now_loading...774KB:2009/10/12(月) 13:20:05 ID:OnRkh4fM
Stringにすれば?
571Now_loading...774KB:2009/10/12(月) 18:45:39 ID:g7Kg1caq
flash8です

ムービークリップでもボタンでもどちらでもいいのですが
そのオブジェクトにマウスが重なるとドロップシャドウで下が白く光り
文字の色が白から黒になる
話したら元に戻る
クリックしたら別ページへとぶ

この動作はどこに何を書けばいいのでしょうか?

import flash.filters.DropShadowFilter;

var mc:MovieClip;
var filtersArray3:Array = new Array();
var dropShadowFilter3:DropShadowFilter = new DropShadowFilter(0, 45, 0xFFFFFF, 0.8, 16, 16, 1, 1, false, false, false);
filtersArray3.push(dropShadowFilter3);
mc.filters = filtersArray3;

これを_rootの1フレ目に書いてぼやーって光らせることはできたのですが
マウスオン時にこの処理を加える方法や押してリンクすることができません。
572Now_loading...774KB:2009/10/12(月) 22:46:57 ID:f7edP/bh
指定した範囲内のグラデーションをしたく思っています。(WinXP,CS4,AS3.0)

ここでの範囲とは線で囲まれた範囲で、下の図の左側にあるトンネルの断面
みたいな部分です。
http://gazo6.com/0up1/src/gazo63729.png
これを図の右のように青→白のグラデーションにするため、パラメーターを指定して
beginGradientFill()したのですが出来ません。

グラフィックスオブジェクトは var grObj:Graphics=graphics; と指定しており、
単純な(ベタな)塗りは grObj.beginFill(0x00000FF, 0.3); と grObj.endFill(); で
図にあるようにOKです。

どうしたら良いでしょうか?
573Now_loading...774KB:2009/10/12(月) 23:21:01 ID:ZytBbn+n
滅茶苦茶素人質問ですみませんが
fl.*パッケージはどうやったら使えるようになるのでしょうか
環境はflexSDKとFlashDeveloperでやってます
574Now_loading...774KB:2009/10/12(月) 23:50:44 ID:C1LVZPTw
>>573
それはFlash(オーサリングするほう)で使うパッケージだからFlexからは使えない。
もしFlash持ってたらFlexから使ったりしてた例をどっかのBlogで見たけど
記憶ではまともに使えなかったかと。

そもそもfl.*パッケージを使わないと実装できないケースなんてあるの??
575Now_loading...774KB:2009/10/12(月) 23:53:55 ID:rlLIQWOF
>>573
fl.swcをダウンロードしてflexSDKフォルダのframeworkかどっかのswcファイルがあるとこに入れる
詳しくはググって
576Now_loading...774KB:2009/10/13(火) 00:23:20 ID:AJ29kQjz
>>572
shapeだとこんな感じ

var box:Shape = new Shape();
var matrix:Matrix = new Matrix();
matrix.createGradientBox( 100, 100, Math.PI / 2, x, y);

box.graphics.beginGradientFill(GradientType.LINEAR, [0x0000ff, 0xffffff],[1, 1],[0, 255],matrix);
box.graphics.drawRect(0, 0, 100, 100);
box.graphics.endFill();
addChild(box);
577572:2009/10/13(火) 00:49:45 ID:7N3B6Q4c
>>576
この記述を線で囲まれた範囲に適用するにはどうすれば良いのでしょうか?
578Now_loading...774KB:2009/10/13(火) 19:35:12 ID:jRADSJR3
WinXP-Pro,CS4でAS2.0です。

(メインタイムライン内のASです)
var tf:TextFormat = new TextFormat();
tf.bold = true;
tipsT_ins.setTextFormat(tf);
tipsT_ins.text = "abc123";

このようにして、テキストフィールド:tipsT_insにフォーマットを
適用して太字にしようとしましたが変りません。
どこが悪いのでしょうか?
579Now_loading...774KB:2009/10/13(火) 19:48:19 ID:UW5k21U2
>>578
tipsT_ins.setNewTextFormat(tf);
580Now_loading...774KB:2009/10/13(火) 20:37:17 ID:ACFn/1Vg
ttp://hfm-kenchan.com/Lesson/sampl/button40.fla

このサンプルをパブリッシュ設定でバージョンをFlash Player8にすると正常に動かなくなるのですが、どうしてですか?
環境はWinXP Flash8でAS2.0です
581Now_loading...774KB:2009/10/13(火) 21:11:12 ID:jRADSJR3
>>579
できましたー。
ありがとう。
582Now_loading...774KB:2009/10/13(火) 21:49:15 ID:hHAnusqA
addchildでMCを大量に配置するとすぐ重くなってしまいます
何か他の方法で画像(ベクターグラフィック)を大量に設置することは出来ないでしょうか?
583Now_loading...774KB:2009/10/13(火) 23:26:01 ID:45UnqNHV
静止画限定
var myBitmapData:BitmapData = new BitmapData(400, 300);
myBitmapData.draw(mc);
var bmp:Bitmap = new Bitmap(myBitmapData);
addChild(bmp);
584572:2009/10/14(水) 01:06:47 ID:zbsAZzAt
>>576さんの記述を使おうと思いましたが、どうやっても
http://gazo6.com/0up1/src/gazo63729.pngの左の線で囲まれた
範囲内に適用できません。
どなたかアドバイス願います。
585478:2009/10/14(水) 08:49:22 ID:n+LG0bqB
>>478ですが、未だ解決できません。
どなたかご教授下さい。
586Now_loading...774KB:2009/10/14(水) 11:33:00 ID:mcKzO3wL
>>582

ベクタの大量配置は、ベクタをラスタライズする演算が大量に発生するのでCPUに負荷がかかるよ。
大量のベクタを配置しないというのが、フラッシュクリエータのセオリーの一つでもある。
配置したベクタをステージに配置する前に、ビットマップデータとして変化する必要があるよ
587Now_loading...774KB:2009/10/14(水) 13:19:29 ID:vNE5GjlX
XPSP3 CS3にてflashlite を製作しておりますが
抽選というのを製作できずに困っております。

1:math.randomを使い複数個の中から一つを取り出す、というのは
分かるのですが、例えば対象A,B,Cの中からAは50% はb20%はC30%
というような「割合」で出す場合はどのようにすればいいのでしょうか?
対象を10個に増やせばこの場合はどうにかできると思うのですが
%の桁が1桁での抽選の場合、対象は100個かよ・・と思うと
どうにももう少しスマートな方法があるように思えてなりません・・

2:if文にAもしくはCだった場合は処理を・・みたいな
記述というのはどのように記述すればいいのでしょうか?
(A<=B)とかはわかるのですが、いまいちピンときません。。

どなたかご教授いただけますでしょうか・・

588Now_loading...774KB:2009/10/14(水) 13:21:33 ID:T9D6E9oT
ご教示いただけますでしょうか
589Now_loading...774KB:2009/10/14(水) 13:44:11 ID:GK+25LhG
>>587
1:どうしても100回やるしかないと思うな。で、ABCを各50回,20回,30回と。
この場合、重複の検証も必要。

2:OR表記(教科書の「集合」のところ)
590Now_loading...774KB:2009/10/14(水) 13:55:03 ID:8xTeNbk2
>>587
値が0〜0.49ならA、0.5〜0.79ならB、0.8〜0.99ならCとか
591587:2009/10/14(水) 15:01:56 ID:vNE5GjlX
>>589 >>590


どうも自分の考え方に自信がなく、こんな力技でやるものなのか?
と疑問だったのですが、正攻法と捉えることにします。

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


592Now_loading...774KB:2009/10/14(水) 17:03:13 ID:3hYdMUAb
スピードを遅くするやり方教えてください。アクションスクリプト2で
593Now_loading...774KB:2009/10/14(水) 20:24:46 ID:7Fe1/9CT
こんなムービーボタンが複数
lbt_1.onPress = function(){
gotoAndStop("press");
FLVplybk.contentPath = list[1];
FLVplybk.play();
}
lbt_1.onRollOver = function(){
gotoAndStop("over");
}
lbt_1.onRollOut = function(){
gotoAndStop("normal");
};
こんなflvデータ、変数で同数
var n:Number = 0;
var videos:Object = new Object();
list = new Array();
list[0] = "movie_test1.flv";
594593:2009/10/14(水) 20:27:01 ID:7Fe1/9CT
ボタンのほかに、連続とループ再生
//自動連続再生のスクリプト
videos.complete = function(evt:Object):Void {
n++;
if (n < list.length) {
FLVplybk.contentPath = list[n];
} else {
n = 0;
FLVplybk.contentPath = list[n];
}
FLVplybk.play();
};
FLVplybk.addEventListener("complete", videos);
FLVplybk.play();

これにボタンから、自動再生からとも再生中のflvファイルと 符合するボタンの色をonRollOverと同じにする機能を追加したいのです。 n値を拾ってgotoandstopにぶつけるようにしてみましたが、
どうもうまくいかないようです。 こちらの環境はOSX10.5、FLASH Pro CS3、ActionScriptは2.0で書いています。

よろしくお願いいたします。。
595Now_loading...774KB:2009/10/14(水) 20:45:05 ID:Qlt18GDv
任意の範囲内にあるオブジェクトを取得するのにはどのようにすればいいでしょうか?

よろしくお願いします。
596Now_loading...774KB:2009/10/14(水) 20:46:02 ID:qf5R+lpy
esc+g+pみたいなescショートカットキーを、まとめて一覧表にしているところどこかないでししょうか。
アクションパネル右側のヘルプに表示されるというけど、このヘルプにどこに何のコマンドがあるのか探しにくく、
探している命令(主にmovieClip周りの関数)にescショートカットがあるのかないのか分からず困っています
597572&577:2009/10/15(木) 18:03:24 ID:W+Ddu1DD
できました。>>576さんの方法を使いました。

得られたポイントは下記の3点です。
・周囲の線を描く前に matrix.createGradientBox() で範囲を指定する
・beginFill() の代わりに beginGradientFill() を使う
・drawRect() の所で範囲の線(トンネル断面の輪郭)を書く

有難うございました。
598Now_loading...774KB:2009/10/15(木) 23:43:09 ID:PVCpKsjj
XP CS3 環境で製作しています。

横スクロールアクションのような感じで背景がスクロールするモノを製作しているのですが
家、壁、電柱のようにそれぞれの物体がランダムに背景に配置されるように
したいのです。
そのような場合、ランダムを用いた背景の選択はできるのですが
それらを背景として繋げて配置する事ができません。
MC_A(電柱)→MC_B(家)→MC_C(壁)というのがランダムに
配置され続ける、というような感じです・・。

どなたかご教授いただけますでしょうか・・
599Now_loading...774KB:2009/10/16(金) 00:03:55 ID:q2QEy1JZ
1つ1つ生成したMovieClipにEnterFrameつければ出来ると思うよ
でも一回ビットマップに落としてからスクロールさせた方が軽いし良さそうだけど
600Now_loading...774KB:2009/10/16(金) 01:20:42 ID:0eXXl0Uj
CS3のAS2.0です。

ダイナミックテキストの変数をhitokotoと設定後、
タイムラインの1フレーム目にhitokoto="あああ";と書いて表示させたのですが、
ある条件で変数の中身を何もない状態にしたいのですが、どのようにすればいいでしょうか?
601Now_loading...774KB:2009/10/16(金) 01:42:37 ID:BYZxoGRZ
>>600
hitokoto=""
602Now_loading...774KB:2009/10/16(金) 02:44:22 ID:g8E0njvc
XP環境下でCS3を使ってflashliteを製作しております。

他のMCのプロパティを参照するには
どうすればよいのでしょうか?

ABCDの4つのMCを横に並べて表示したい場合でABCDはそれぞれ
横幅が可変します。その度に一個左のMCの_widthを参照して
自身の_xをその分マイナスして配置し位置を詰めたいのです。

ご教授何卒お願いいたします。
603602:2009/10/16(金) 11:46:29 ID:g8E0njvc
どなたか教えていただけないでしょうか・・
何卒何卒・・

いちいち_widthを変数に格納してそれをいちいち呼び出して・・
という処理はいまいちだな・・・と思うのです・・
604Now_loading...774KB:2009/10/16(金) 12:15:59 ID:bP/Sellg
>>603

FlashってHTMLみたいにエラスティックなレイアウトできないよ。
なんかMacOS Xのドックみたいなインターフェースを作ろうとしているのかな。
自分で答えを持っているのだから、それを実装すべき
605Now_loading...774KB:2009/10/16(金) 12:40:52 ID:ftOwkMoW
liteならルートからのパスたどってきゃいけんじゃないかな?
606602:2009/10/16(金) 16:02:34 ID:g8E0njvc
>>604
なるほど、ありがとうございました・・。
頑張ってみます
607Now_loading...774KB:2009/10/16(金) 20:11:30 ID:Brs/5FoS
Flexならそこらへん比較的やりやすいんだけどねぇ
608Now_loading...774KB:2009/10/16(金) 21:42:28 ID:BvpE+IQ3
>>602
Liteはよく知らないけど
_parent.参照したいmc名._widthみたいにできないのかな?

AS3だとキャストしないと見れんかったけど
MovieClip(parent).参照したいmc名.width
609Now_loading...774KB:2009/10/17(土) 20:13:15 ID:sCm06tim
配列から重複を除去する関数を作りたいんだが、
javascriptだと下のでいけるんだけど、acitonscriptだとシンタックスエラーになる
なんで?

function uniq(r){
 return r.filter(function(a,i)
  !r.slice(i+1).some(
   function(b)a===b
  )
 )
}
610Now_loading...774KB:2009/10/17(土) 21:01:20 ID:ZlFxeV/e
>function(b)a===b
えっ
611Now_loading...774KB:2009/10/17(土) 21:14:21 ID:AK6ZSkTV
式クロージャJS1.8からの仕様でFirefoxしか対応してないから
612Now_loading...774KB:2009/10/17(土) 21:17:25 ID:sCm06tim
>>611
そうだった。


修正してみたけど動かねえ。
デバッグしたらbに正しく値が入ってないみたいなんだけど

function uniq(r){
 return r.filter(function(a,i){
  !r.slice(i+1).some(
   function(b){a===b}
  )
 })
}
613Now_loading...774KB:2009/10/17(土) 21:33:46 ID:AK6ZSkTV
return抜けてる
614Now_loading...774KB:2009/10/17(土) 21:38:47 ID:sCm06tim
>>613
これじゃだめなの
615Now_loading...774KB:2009/10/17(土) 21:54:30 ID:sCm06tim
少し考えてから気づいた

function uniq(r){
 return r.filter(function(a,i){
  return !r.slice(i+1).some(
   function(b){return a===b}
  )
 })
}

こうしろってことか。動いた。ありがと
616Now_loading...774KB:2009/10/18(日) 04:12:29 ID:LR7/WpUd
箇条書きですみませんが、よろしくお願いします。

●自分の環境
FlashDevelop(AS3.0)

●自分がやりたいこと
警告メッセージを表示する際、警告メッセージとして追加されたボタンを押すまでは他の操作を受け付けないようにしたい。
その際、奥のレイヤのマウスイベントを無効にする方法が分からない。


●試してみた処理
画面全体を覆うように描画したShapeを一番前にaddChildし、MouseEvent.CLICKを受け付けるよう設定した。
上記を行うことにより奥のレイヤにマウスイベントは届かないかと思ったが、そんなことはなかった。

617Now_loading...774KB:2009/10/18(日) 05:58:58 ID:LR7/WpUd
616ですが自己解決してしまいました。

マウスイベント対象の親オブジェクトのmouseChildrenにfalseを設定すれば、
やりたいことが実現できました。

お騒がせしました。
618Now_loading...774KB:2009/10/18(日) 14:55:17 ID:wiIrQeho
CS3、AS3です。
A.swfに、B.swfを読み込ませて、A.swfのreplay_btnをクリックすると
B.swfをリプレイさせるgotoAndPlay(1)メソッドをB.swfに送りたいと思います。

A.swfに、B.swfを読み込ませることはできました。
ローダ名は「loader_b」としています。

//A.swfのスクリプト
var loader_b:Loader = new Loader();
loader_b.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
loader_b.load(new URLRequest("B.swf" ));

ですが、リプレイのメソッドを書くとエラーがおきます。
//A.swfのスクリプト
loader_b.content.gotoAndPlay(1);

メソッドでなくプロパティでないからエラーが起きるのでしょうか?
良い方法がありましたらお教えください。
619Now_loading...774KB:2009/10/18(日) 15:29:57 ID:4vF77U/3
>>618
Loaderのcontentは、DisplayObjectを返すから、そのままMovieClipのメソッドを使おうとすると、
それDisplayObjectに無いメソッドだけどいいの?というようなエラーになってんじゃないかな?

解決方法は、読み込み完了後にMovieClipにキャストして使えばいいんじゃない
MovieClip(loader_b.content).gotoAndPlay(1);
とか、
var contentMC:MovieClip = loader_b.content as MovieClip;
contentMC..gotoAndPlay(1);
とか
620Now_loading...774KB:2009/10/18(日) 19:38:57 ID:F9p/oKs6
CS3 flashlite です。

tellTargetに変数を指定する事はできるのでしょうか?

tellTarget("hoge" add /:honge){
いろいろ
}

上記のようなスクリプトでMC、hoge1-5までに命令を
出していきたいのですが・・・・

よろしくお願いいたします。
621620:2009/10/18(日) 19:40:16 ID:F9p/oKs6
すみません、あげます
622Now_loading...774KB:2009/10/18(日) 20:11:40 ID:U94Kzos+
liteならまだevalがあったんじゃなかった?
623Now_loading...774KB:2009/10/18(日) 22:05:07 ID:QmfwdeL+
as3で、インスタンスの入れ子になっている所からメインタイムライン
にライブラリからインスタンスを呼び出したいのです。
stageに配置までは分かるのですが、その後そのインスタンスの位置を
stage上の"a_mc"インスタンスの位置に変えたい場合
どういった記述をすればいいのでしょうか?

呼び出したインスタンスを"b_mc"とすると、入れ子のインスタンス中に
b_mc.x = (stage.a_mc.x);
b_mc.y = (stage.a_mc.y);
ではまずいのでしょうか?

624Now_loading...774KB:2009/10/18(日) 23:09:18 ID:tEdYdzvd
>>621
Lite専用スレでは聞いてないの?
http://pc12.2ch.net/test/read.cgi/swf/1200708605/


>>623
b_mc.x = MovieClip(root).a_mc.x; は?
厳密には、MovieClip(stage.getChildAt(0)).a_mc.xだが
625Now_loading...774KB:2009/10/18(日) 23:11:42 ID:tEdYdzvd
>>623
(補足)上の記述は「キャスト」と言います。
626Now_loading...774KB:2009/10/18(日) 23:53:27 ID:QmfwdeL+
>>625
ありがとうございました!
1日悩みましたが、少し作業が進めました。
627Now_loading...774KB:2009/10/19(月) 01:33:48 ID:LFJpmO6g
619さん
遅くなりましてすいません。
ありがとうございました。解決しました。

クラスが違うってことですね。
619さんにいいことありますように。
628Now_loading...774KB:2009/10/19(月) 04:40:52 ID:tMD0CmJN
CS4,AS3.0,WinXPです。ステージ上に複数のShape
(名称:area0, area1, …)を配置するにはどうしたら良いでしょうか?

最初、配列アクセス演算子を使って 
for(var idx=0; idx<5; idx++){
var this["area"+idx]:Shape = new Shape();
//他の処理
addChild(this["area"+idx]);
}

としたところエラーになりました。
何か良い方法はありますか?
629Now_loading...774KB:2009/10/19(月) 10:38:46 ID:gqJHCpBq
配列にクラスの型宣言俺もやって見たけどできなかった記憶がある
:Shapeってやつを消して見てもだめだろうか 違ったらごめんね。

質問です
var textfield:TextField = new TextField();
addChild(textfield);
これで作成したフィールドがボタンとかぶってしまってどちらを上に表示させても困ってしまうので
Textfieldの当たり判定を消したいのですが、可能ですか?
630Now_loading...774KB:2009/10/19(月) 10:56:25 ID:8LBuP51B
wonderflとかに乗ってるasのソースを
flash cs3-4で使うにはどうしたらいいですか?
631Now_loading...774KB:2009/10/19(月) 11:13:59 ID:gqJHCpBq
>>629
自己解決しました。
当たり判定を透明にして力技で解決
632Now_loading...774KB:2009/10/19(月) 13:45:10 ID:1Lytx+f6
FirefoxでMOUSE_WHEELイベントを利用したとき、なぜイベントが2回入るのですか?
理由が知りたいです。
633Now_loading...774KB:2009/10/19(月) 15:31:32 ID:+QbXHa1D
火狐の仕様
634Now_loading...774KB:2009/10/19(月) 23:43:50 ID:1Lytx+f6
>>633
ありがとうございます。
対策がネットにあったのであてました。
635Now_loading...774KB:2009/10/20(火) 00:14:06 ID:E9pY4LQc
>>628
よくわからんけど配列はダメなの?
var area:Array=[];
for (var i:int=0;i<5;i++){
area[i] = new Shape();
area[i].graphics.drawRect(x,y);
addChild(area[i]);
}

みたいな

>>629
textfield.mouseChildren = false;
636Now_loading...774KB:2009/10/20(火) 00:44:11 ID:oFH1IByU
>>635
さんきゅう!!! 出来ました!!!

(ちょっと改変)
var area:Array=new Array();
for (var idx:int=0; idx<5; idx++) {
area[idx] = new Shape();
with (area[idx].graphics) {
lineStyle(2, 0x00FFFF00);
beginFill(0xFF009900);
drawRect(30*idx,30*idx, 100, 100);
}
addChild(area[idx]);
}
637Now_loading...774KB:2009/10/20(火) 01:23:14 ID:l02VR7hw
CS3 AS.2.0 XPです。

answerという変数を持ったボックスにひらがなで答えを入力してエンターを押し、
答えが正しければ次のフレームへ、間違いなら文字を削除するというものを作りたいのですがうまくいきません。


ans1 = "こたえはこれ";

var key_obj = new Object ();

key_obj.onKeyDown = function(){

 if(Key.isDown(Key.ENTER)){
  if(answer==ans1){
   nextFrame();
   answer = "";
  }
  else{
   answer = "";
  }
 }
}

Key.addListener( key_obj );

↑じゃうまくいきませんでした。どうすればいいか教えてください。
638Now_loading...774KB:2009/10/20(火) 03:53:54 ID:oxmZowe2
WinXP-ProでCS4(AS3.0)
newで生成したMCインスタンス内のグラフィックオブジェクトの塗り更新で
質問です。

初めに単純にステージに4つのMCを正方形の頂点に置いて、枠を引いて
この内側を塗りました。イメージとしては、[■] な感じです。この『塗り』用
関数はdrawFunc()という名です。

この正方形の頂点MCを横にドラッグしてしても(横幅を変更しても)常に
塗り描画が更新されるように下のようにしました。
addEventListener(Event.ENTER_FRAME,onFrame);
function onFrame(frameEvt:Event) {
sh.graphics.clear();// var sh:Shape = new Shape(); による sh.graphics を消す。
drawFunc();
}

つまり、[■] が [■■■] → [■■] → [■■■■] と表示されます。
これは良かったのですが、上の記述をMCのAにフレームアクションで書いて、
MCのB内に入れ子で(B[A]の形で)newで生成すると一瞬塗りはできるのです
が直ぐに消えて更新が出来ません。

目的は、マウスやボタン操作に随時反応して描画更新をさせることです。
※Event.ENTER_FRAMEをやめてボタンで既に塗られている状態に
 sh.graphics.clear(); drawFunc(); をすると塗りが消えてしまいます。

何か解決のヒントはありますか?
639Now_loading...774KB:2009/10/20(火) 12:54:13 ID:8njDErIT
>>637
テキストフィールドを変数として扱うのをやめる
Key.isDown(Key.ENTER)ではなく、Key.getCode()を使う
640Now_loading...774KB:2009/10/20(火) 16:46:54 ID:l02VR7hw
>>639
Key.getCode()を使って、エンターで次のフレームに飛ばすことは出来ました。
ただ、答えが一致したらという条件を加えるとうまくいきません。
テキストフィールドを変数として扱うのをやめるとはどういうことなのでしょうか。
641Now_loading...774KB:2009/10/20(火) 16:57:09 ID:oKuBiAlr
>>640
(639さんではないが)
プロパティを使って
テキストフィールド.text = "〜" ってことじゃない?
642Now_loading...774KB:2009/10/20(火) 17:10:44 ID:8njDErIT
>>640
テキストフィールドのプロパティで変数に、answerっていれてるんだと思うが、
これはFlash5の頃、昔の使い方なんです
それは削除して、プロパティのインスタンス名(左端にある)にanswerといれる
値の参照はanswer.text
だから値を代入はanswer.text=""のようになる
643Now_loading...774KB:2009/10/20(火) 17:31:48 ID:l02VR7hw
>>641
>>642
うまくいきました。本当に助かりました、ありがとうございます。
644Now_loading...774KB:2009/10/20(火) 17:45:18 ID:7xXrLkHl
テトリスとかぷよぷよのソースが公開されているサイトはないでしょうか
AS2、3どちらでもいいです
645Now_loading...774KB:2009/10/20(火) 18:53:54 ID:hcbfI9cF
javascriptかなんかで1行ソースみたいなので公開されて無かったかな?
あれ流用すれば?
646Now_loading...774KB:2009/10/21(水) 15:55:25 ID:Ydd8TOGQ
静止テキストをムービークリップにしてマウスオーバーで変化するボタンを作成しています。
が、テキストの字じゃない部分(たとえば「O」の丸の中など)はROLL_OUTになってしまいます。
なにか設定があるのでしょうか。
647Now_loading...774KB:2009/10/21(水) 17:34:07 ID:RBWA051/
flash ヒットエリアでぐぐれ
648Now_loading...774KB:2009/10/21(水) 18:26:37 ID:Ydd8TOGQ
>>647
ありがとうございます。
ボタンシンボルにあるようなヒットエリアを作り
テキストのROLL_OVERでなくヒットエリアのROLL_OVERでイベント発生させるわけですね。
分かりました。

新たな質問があります。
ROLL_OVERとROLL_OUT時に20フレームの動きをつけておりますが、
マウスオーバーしてすぐにマウスアウト、そしてすぐにマウスオーバーとすると
正常なマウスオーバーの終了フレームの状態になりません。
ROLL_OVER時の動作が完了する前に、次のROLL_OVERのイベントが発生してしまうからだと思うのですが
新たにROLL_OVERが発生したときは、現在の状態をクリアしてROLL_OVERの動作を正しく動作させたいのですが
どうすればいいでしょうか。
649Now_loading...774KB:2009/10/21(水) 18:56:15 ID:5oMoZmis
>>648
具体的にどう「動きをつけて」いるのかわからないので、大雑把にいうと
ROLL_OVERやROLL_OUTのエフェクト表示中か、そうでないかを区別する。
エフェクトMCの現在フレーム位置から判断してもいいし、フラグをたててもいい。
で、それぞれの状況に応じて、エフェクト表示続行とか最初からとか切り替えとかを
使い分ける。
650Now_loading...774KB:2009/10/21(水) 19:02:40 ID:6/4CFWJb
すいません。>>638が分かる方いますか?
651Now_loading...774KB:2009/10/21(水) 20:32:12 ID:Ydd8TOGQ
>>649
とりあえずflaをうpしました。
http://www1.axfc.net/uploader/Sc/so/47770.zip

言われていることはなんとなく理解できるのですが、うまくいきません。
フラグを持たせたりしてみたのですが、処理がおかしくなっている状態を
どうやればいいのかが分からなくて・・・。

症状の出し方。
マウスを左右にすばやく振ってオーバーとアウトを高速に繰り返すと
正しい動きにならなくなります。
652Now_loading...774KB:2009/10/21(水) 23:57:30 ID:TUA3dO8s
winXPでCS4です。AS3.0を使用しています。


質問なのですが
ShapeでmoveTo,lineToを使用して20本の曲線によって構成された曲線を
ENTER_FRAMEを使いじょじょに曲げていくプログラムを作りました。

ただ、画面のチラつきがかなり出てしまっています。
このちらつきを解消する手段はないでしょうか?
653Now_loading...774KB:2009/10/22(木) 00:01:45 ID:Pe9qUEnH
ダブルバッファすれ
654Now_loading...774KB:2009/10/22(木) 17:39:12 ID:GSYEVtsf
>>651
自己解決しました。
over時にgotoAndPlayで指定しているフレームを1フレーム目でなく
2フレーム目にすること(1フレーム目は空白キーフレーム))で誤動作がなくなりました。
有難うございました。
655Now_loading...774KB:2009/10/22(木) 19:03:59 ID:Pe9qUEnH
FLASHのオンラインゲームが良くありますがどうやって通信を行っているのでしょうか?
HTTP通信ではないようなのですがソケット通信でしょうか
656Now_loading...774KB:2009/10/22(木) 21:29:14 ID:GJqYKXBI
AS3、Flashdevelop です

マウスカーソルの位置をコントロールすることは不可能でしょうか。
mouseX,Yは参照専用ですよね。

マウスカーソルの代わりにカーソルobjを表示し、見た目上擬似的に動かすことはできますが、
実カーソルの位置とはかけ離れてしまいます。
その時の相対座標を保持してどこかで帳尻を合わせれば出きないこともなさそうですが・・・

何か案をお持ちの方おられましたらよろしくお願いします
657Now_loading...774KB:2009/10/22(木) 23:18:43 ID:Yjm2uONG
>>656
それはOSの仕事をFlashムービーから実行できるって事になるからなあ
セキュリティ的にできちゃいけないことだし、できないんじゃない?
658Now_loading...774KB:2009/10/22(木) 23:19:55 ID:Yjm2uONG
>>656
そう。XMLSocketあたりでぐぐればサーバーのサンプルも含めて見つかるんじゃない?
確か2冊くらい本も出てたはず。
659Now_loading...774KB:2009/10/22(木) 23:21:11 ID:Yjm2uONG
ああ、連投スマン
>>658>>655宛てで
660Now_loading...774KB:2009/10/22(木) 23:28:34 ID:GO6x5j3z
>>656
同じような質問が過去に何度かあったけど、一番の近道は
本物を隠し(Mouse.hide();)、マウスポインタを自作して動かすという方法。
661Now_loading...774KB:2009/10/23(金) 02:46:21 ID:E0b2U2BG
>>656
そんな事が出来たら、FLASHのムービーからマウスカーソルが出れないように出来るでしょ。
そんな危ない事が出来たらいけない。だから出来ないようになってる。
キーボードだけでパソコンをある程度操作出来る人だったら、それでも何とか出来るけど、
そうじゃない人だったら詰みだね
662Now_loading...774KB:2009/10/23(金) 10:59:08 ID:AnuEpsER
テキストをHTMLエスケープしたい
ライブラリとかあったら教えて
663Now_loading...774KB:2009/10/23(金) 17:27:00 ID:TxPrJNq+
実体参照化だけ?
664Now_loading...774KB:2009/10/23(金) 18:16:02 ID:pswTYjKD
var test;でtestという変数を作り
test.a=10;
test.b=20;
という感じで代入するにはどうすればいいでしょうか
665Now_loading...774KB:2009/10/23(金) 18:36:41 ID:IFq1onpG
>>664
testという変数のシリーズに代入するということ?
それなら配列アクセス演算子を使う。

this["test"+A]=10;
this["test"+B]=20;
666Now_loading...774KB:2009/10/23(金) 18:41:18 ID:TxPrJNq+
>>664
こっちか?
var test:Object = new Object();
test.a=10;
test.b=20;
667Now_loading...774KB:2009/10/23(金) 20:58:06 ID:QCcuszA+
キューポイントのtimeに設定出来るのは直接打ち込んだ数字だけ?
668Now_loading...774KB:2009/10/23(金) 23:03:11 ID:dvJHGH4P
質問させてください。
Mac0Sで、AS3です。
画像にマウスオーバーすると、画像がポップアップされるようにしたいのですが、
うまくゆきません。
別ウィンドウを開くのではなくて、あくまでも画像を右上に表示したいだけです。
本(ただし、昔使っていたFlash8のもの・・・)に、似たような動作をするためのスクリプトが載っていたのでまねをしてみたのですが、
うまくいきません。
まず、gazouという名前のmcを写真の上に作りました。
画像に透明ボタンを配置して、そこに
on(release){
loadMovie("/images/1.jpg", gazou);
と書き込んでみたのですが、何も起きず。
(ちなみに旧バージョンでパブリッシュ設定してみました)
CS3の本も見てみたのですが、よくわかりませんでした。
何か他に方法があったら教えていただけるとありがたいです。
669Now_loading...774KB:2009/10/23(金) 23:06:33 ID:R2gE9P0Y
root〜で変数参照できなくなったのはもうそういう書き方すんなってことなの?
モーワケワカンナイ
670Now_loading...774KB:2009/10/23(金) 23:25:07 ID:TxPrJNq+
>>669
まずは表示リストから外れてないか
671Now_loading...774KB:2009/10/23(金) 23:48:02 ID:pswTYjKD
>>665-666
ありがとうございます出来ました!
672Now_loading...774KB:2009/10/24(土) 00:27:08 ID:IPRIjxhB
>>668
AS3 画像 URLRequest
でググる。
673Now_loading...774KB:2009/10/24(土) 09:28:50 ID:p7dm01sl
ActionScript始めてみようと思うのですが、やはり難しいのでしょうか?
JavaScript、PHP、HTML、CSS、XML、SQLなどは出来ます
しかし、ActionScriptは動きが加わるので表座標計算とか難しい数学の知識とか必要そうだなぁという感じがします
ちなみに、以前簡単なFLASHはSwishを使って数年前に作って触った事があります
やはり同じプログラミング言語でも、JavaScriptやPHPなどからすると毛色の違うものなのでしょうか?
674Now_loading...774KB:2009/10/24(土) 09:44:36 ID:ASyY1QPS
>>673
言語としては別に難しくはないけどオブジェクト指向を理解する必要あり
数学系知識は例を見て関数任せ

FlashDevelopとFlexSDKならフリーで環境作れるのでまずはやってみては
675Now_loading...774KB:2009/10/24(土) 10:08:14 ID:mE1dfbLY
var container = new Sprite();
addChild( container );

var mc = new MovieClip();
container.addChild( mc );

trace( container.root ); //参照できる
trace( container.stage ); //参照できる
trace( mc.root ); //参照できる
trace( mc.stage ); //参照できる

removeChild( container );

trace( container.root ); //参照できない
trace( container.stage ); //参照できない
trace( mc.root ); //containerを返す
trace( mc.stage ); //参照できない

これであってる?
676Now_loading...774KB:2009/10/24(土) 10:12:42 ID:nLnOMCB2
FlexとFlashの違いが今だにわからない・・・
677Now_loading...774KB:2009/10/24(土) 10:15:40 ID:p7dm01sl
>>674
オブジェクト指向という事は、まぁJavaScriptを(PHPも5.0からオブジェクト指向が加わっていますが)やっているのでとっつきにくい
というわけではなさそうですね
まだ何も取り掛かっていなくてActionScriptの概要もまるきっり知識が無い状態なのですが、例えばページが数秒後に切り替わるとか
クリックすると次の紹介欄に行くとかいうようなものはJavaScriptでも似たような事が出来るので難しくはなさそうですが、
人物が歩くというようなFLASHは髪の毛一本まで動きが計算されていそうで高度な数学的な知識がいるのかと思ってました

リブリーアイランドのようなものを作る気はないのですが、ああいうキャラクター毎に動きが出たりするようなものは凄い計算が要りそうだなぁ、と。
それでActionScriptは難しそうだから今まで足を踏み入れる自信が無かったのです
言語としては難しくはないという事なので(自分には難しく思えるかもしれませんが)、ちょっとは敷居が下がった気がします
返答有難うございました
678Now_loading...774KB:2009/10/24(土) 11:40:03 ID:cV84nv74
>>677
それだけいろいろなことを学んできたんだから、取りかかる前から高度なことを目指して
悩んでいるより、まず始めてみることが大切なのは分かっているだろうに

>>676
俺も同じだけど、来月からFlexについても学習するつもり
うまい具合に「Flex 3.4プログラミング入門」という本が発売されたから購入してみる
679Now_loading...774KB:2009/10/24(土) 12:02:26 ID:q0WinJEQ
stageに
var gl:Number=1;
と記述して「A」というムービークリップに
trace(MovieClip(root).gl)
と記述したときに
静的に配置したAからは1が出力されますが、動的に配置した「A」はエラーとなりますが
なぜ?
680Now_loading...774KB:2009/10/24(土) 12:15:49 ID:cV84nv74
>>679

だから>>670
例えばコンストラクター内で出力しているとか
681Now_loading...774KB:2009/10/24(土) 12:38:13 ID:eEO3Oz5E
フラッシュで方向キーの入力された値を使いムービークリップに斜め移動を行わせたいのですがどうすればよいでしょうか
現状のプログラムでは→↓と入力した場合→か↓どちらかにしか移動してくれません
682Now_loading...774KB:2009/10/24(土) 15:34:23 ID:q0WinJEQ
↓押してるかどうかの判定でtrueなら
さらに→を押しているかどうかの判定を入れて
trueなら斜めに移動する処理いうのはどう?
683Now_loading...774KB:2009/10/24(土) 16:46:42 ID:RjPPFg7O
>>681
あるいは、「Ctrlキーを押しながら〜」でCtrlキーと併用するのは?
684Now_loading...774KB:2009/10/24(土) 18:51:29 ID:LJRrRYy8
通常半透明のclick_mcがカーソルを重ねた時に不透明になり、
クリックすると2フレーム目へ移動…としたいのですが
これでクリックすると、2フレーム目へ移動せずにエラーで止まります。
色々調べたのですが解決法が分からず…宜しくお願いします

//メインのタイムラインの再生を停止
stop();

//イベントリスナーの追加
click_mc.addEventListener(MouseEvent.CLICK, Down);
click_mc.addEventListener(MouseEvent.ROLL_OUT, Out );
click_mc.addEventListener(MouseEvent.ROLL_OVER, Over );
click_mc.buttonMode = true;
click_mc.alpha = 0.6;

//startをクリックした際の、イベントハンドラ
function Down(event:MouseEvent):void{
//click_mc.visible = false;
gotoAndStop(2);
}

//ロールアウトのリスナー関数
function Out(event:MouseEvent):void {
click_mc.alpha = 0.6;
}

//ロールオーバーのリスナー関数
function Over(event:MouseEvent):void {
click_mc.alpha = 1;
}
685Now_loading...774KB:2009/10/24(土) 18:58:40 ID:gW3858Gp
//ロールアウトのリスナー関数
function Out(event:MouseEvent):void {
var click_mc=event.currentTarget;
click_mc.alpha = 0.6;
}

//ロールオーバーのリスナー関数
function Over(event:MouseEvent):void {
var click_mc=event.currentTarget;
click_mc.alpha = 1;
}

で動くはず
686Now_loading...774KB:2009/10/24(土) 19:52:22 ID:LJRrRYy8
>>685
動きました!ありがとうございます!
687Now_loading...774KB:2009/10/24(土) 23:05:09 ID:RHwVozAQ
質問させてください。

PHPの変数
$hoge = 'hoge';
これをFlash側で取得するにはどうしたらできますでしょうか?
688Now_loading...774KB:2009/10/25(日) 00:15:09 ID:jAoibbwN
Box2Dの質問です。
Ver2.0.1から"GetContactList();がm_contactList メンバからアクセス"に変わった
とあるのですが、具体的にどう書き替えたら良いのか分からず困っています。
助言をお願いします。
689Now_loading...774KB:2009/10/25(日) 00:21:19 ID:FZ0W+pdR
>>687
AS3.0 PHP 通信
とかで検索すればいっぱい出てくるぞ
690688:2009/10/25(日) 01:26:55 ID:jAoibbwN
自己解決しました
691Now_loading...774KB:2009/10/25(日) 11:20:14 ID:ofZzpy4J
多次元連装配列を作りたいのですが、どうしたらいいでしょうか?

いくつかサイトを回ったのですが、結局for文やif文を組み合わせて
無理やり多次元連想の形を作ったものしかありません。

phpなどのようにはいかないでしょうか?
692Now_loading...774KB:2009/10/25(日) 11:50:40 ID:8Qvhl22K
new Array();を使ってForでぶん回すしかない
693Now_loading...774KB:2009/10/25(日) 12:03:44 ID:ofZzpy4J
あーやっぱり……
わりました、それで進めます。

ありがとうございましたー。
694Now_loading...774KB:2009/10/25(日) 14:00:41 ID:BW0SE5Iz
普通にオブジェクトで済む話じゃないのそれは?

var oList ={
item1:{hoge:1,piyo:-1},
item2:{hoge:2,piyo:-1}
};
trace(oList.item1.hoge);
trace(oList["item2"]["piyo"]);

それとも、こういうことがやりかいんじゃない?
695Now_loading...774KB:2009/10/25(日) 18:24:04 ID:7lxAJNZk
CS3環境で製作しています。

getTimer()が初期化できないのですが
皆さん、これはどのようにして初期化しているのでしょう・・

フレーム1で
tms=0;
t_sc=0;
にしているはずなのですが
再生フレームに来て
もう一度プレイすると前の経過時間をgetTimer()が
吸ってしまうのです・・
再生は_currentframe-1で再生し
終了フラグを受けると終了画面からもう一度最初からを
選ぶタイプです。

t_sc = getTimer();
if (t_sc>=tms+1000) {
tms = t_sc;//タイマー初期化
}

/:t_cont = Math.floor(t_sc/1000);//時間表示

何卒よろしくお願いします。
696Now_loading...774KB:2009/10/25(日) 18:27:20 ID:8gUX41s/
getTimerはFLASHが起動してからの何秒たったかだぞ
697695:2009/10/25(日) 18:47:23 ID:7lxAJNZk
>>696

getTimer()がそういうものだということは理解しているのですが
再開される度に初期化して0からにしたいのです。
ストップウォッチのようなflashも見て回ったのですが
それを>>695に当てはめてもどうにも>>696さんのおっしゃられる
「起動してからの時間」しか取らないので困っているのです・・


これを起動してからの時間ではなく、再生してからの時間として
計測するような処理はどのようにすればいいのか分からずに
困っております・・。
698Now_loading...774KB:2009/10/25(日) 19:27:07 ID:bYHerIus
再生したときの秒数覚えておいて
getTimerから引くとか
699Now_loading...774KB:2009/10/25(日) 19:46:33 ID:8gUX41s/
>>697
何秒にしたいのかわからんけどこれでいいんじゃないか?

t_sc = getTimer();

if (t_sc-tms>=1000) {
tms = t_sc;//タイマー初期化
}

t_cont = Math.floor(t_sc-tms);//時間表示

trace(t_cont/1000);
700695:2009/10/25(日) 20:02:54 ID:7lxAJNZk
>>698
>>699

ちょっと説明が下手で申し訳ないのですが
ゲームのようなもので、その制限時間を計る、というタイプのものなのです。
開始フレームでtms,t_scを初期化してプレイ用フレームへ。
プレイ中に時間を計測。
プレイ中に何がしかのフラグが立てばgotoAndPlayで特定フレームへ
飛ぶという仕掛けなのです。
そして、終わり画面があるのですが、「もう一度ボタン」を押すと
どうしても前回のプレイ中の画面での計測時間からスタートして
しまうのです・・・・

プレイ中フレームのところにだけ計測用MCを配置してendフレームに飛ばしたら
消えるかな・・?とかやってはみているのですが・・それもダメで・・
701Now_loading...774KB:2009/10/25(日) 21:05:25 ID:iJxTej8R
「制限時間を計る」がよく分からないが、プレイ時間を計るならば
Dateのミリ秒の差を取ればいいんだが
702Now_loading...774KB:2009/10/25(日) 21:16:40 ID:pznfuxn4
>>700
>>698-699がここまで書いてくれてるんだから自分で考えろよ・・・
703Now_loading...774KB:2009/10/25(日) 21:24:12 ID:oU3cJNmz
>>700
お前>>421か?
答え書かれて理解出来ないなら諦めた方がいい
704Now_loading...774KB:2009/10/25(日) 22:22:25 ID:QxtaftZn
>>695って1秒をカウントしてるようだけど、経過時間はどうやって記録してんの?
そこを初期化すりゃいいんじゃないの?
705Now_loading...774KB:2009/10/25(日) 23:03:16 ID:QxtaftZn
ってt_contってのが経過時間か、でもこれじゃgetTimer()の値を秒にしてるだけじゃね?
t_msには約1秒毎の値が入るみたいだけど、何に使われてるのかな

まぁとにかく、ゲーム開始時のgetTimer()の値を変数に入れて、毎フレームのgetTimer()との差を取れば
それが経過時間になると思うけど
706695:2009/10/26(月) 00:41:13 ID:c0U9ebKa
>>701-705

いろいろとご意見ありがとうございます。。。
しかし経過時間は最初から取得出来ているのです・・・


1プレイ目・・0から始まって65秒かかる。
2プレイ目・・最初からなのに何故か67秒から始まる・・

というようにflaを起動した時間しか取らずに
2プレイ目も0から始まってくれないので困っているのです。。。

というような相談をしていたのです・・

>>703
>>421じゃないです。

707Now_loading...774KB:2009/10/26(月) 00:51:11 ID:NasFQARi
時間でよく分からなくなった場合は、
とにかくtraceとかで、各状況毎の結果を見比べながら
少しずつ設定していくといい
大抵の場合は、どこかで勘違いしてる場合が多いから
708Now_loading...774KB:2009/10/26(月) 01:50:22 ID:OphfLW94
Flexでコンパイルすると動くのに、Flashでパブリッシュすると
エラーが起こるというのはどういう理由でしょう。
709708:2009/10/26(月) 02:31:46 ID:OphfLW94
自己解決しました
710Now_loading...774KB:2009/10/26(月) 04:16:33 ID:Eg69yqt4
ゲームのスコアと名前をローカルに保存してランキング化して表示させたいのですが、参考になりそうなサイトやサンプルなどないでしょうか?
711Now_loading...774KB:2009/10/26(月) 04:28:19 ID:Xto5NYo+
>>710
腐るほどあるからググれ。
712Now_loading...774KB:2009/10/26(月) 08:30:19 ID:ksD7FLMC
>>706
だからもう90%答え出てるだろ
これ見てわからないならFLASHやめた方が良い
713Now_loading...774KB:2009/10/26(月) 12:09:43 ID:AzhysXDO
>>706
getTimerはFlashPlayerが再生を開始してからの時間でもあるから、ASから初期化はできないと思うよ
一回FlashPlayerを終了してもう一度再生すればできるだろうけど

だから、単にgetTimerを秒にしてるだけじゃあなたがやりたいことはできないと思うよ
714Now_loading...774KB:2009/10/26(月) 12:20:16 ID:E3J+/yIB
ある一点の座標が3つの座標(三角形)内に存在するかどうかを検査するにはどうすればいいでしょうか
全て計算で行うためhitTestなどは使用できません
解答宜しくお願いします
715Now_loading...774KB:2009/10/26(月) 12:43:10 ID:+yX9+zxi
flash cs3からcs4にしたんだけど
重いしインタフェース使いづらいしで、cs3に戻そうかと検討してます。
ツィーンとかも自分の作品ではtweenerクラス使ってるし、cs4でやるメリットって何かあるんでしょうか?
716Now_loading...774KB:2009/10/26(月) 13:07:34 ID:L1cH46Vo
>>706
いいか?
Flash起動→ゲーム開始→1プレイ終了→ゲーム開始→2プレイ終了

この場合、1プレイ終了時のgetTimer()は、Flash起動から1プレイ終了時までの時間
2プレイ終了時のgetTimer()は、Flash起動から2プレイ終了までの時間
を出すだけ。
だから、経過時間は累積で増えていく。

「ゲーム開始からプレイ終了」までどれだけ時間がかかったかを知りたいなら
1)ゲーム開始時にgetTimer()でFlash起動からゲーム開始までの時間を記録
2)プレイ終了時にgetTimer()でFlash起動からプレイ終了までの時間を記録
3)2の値から1の値を引くと、ゲーム開始からプレイ終了までの時間が出る
4)3の値を秒換算になおす
という手順が必要。初期化ではなく、開始時の時間と終了時の時間をとれってだけ。
これでわからないなら、おまえさんの頭の悪さを呪ってくれ。
717714 :2009/10/26(月) 13:29:44 ID:E3J+/yIB
自己解決しました
718Now_loading...774KB:2009/10/26(月) 14:10:39 ID:BuasO4OE
Flexでactionscriptゴリゴリしてるんだけど、Treeコンポーネント
使わずに自作Treeを作りたいんですが、できますかね?
再帰使って出来るかと思ったけどうまくできましぇん。
719Now_loading...774KB:2009/10/26(月) 18:59:48 ID:J3bCPRSp
>>710
AS2.0以上ならSharedObjectでググる。
AS3.0が可能ならFileクラスとFileStreamクラスでググる。


>>715
最大の利点はAIR1.5とPlayer10が可能なこと。
ただし、この先ファイル保存や単独での3D描画をしない
ことが確実ならCS3で十分。

俺は必要なのでCS4を使っている。



>>706
そもそも、traceで検証しながら作業しているのか?
720Now_loading...774KB:2009/10/26(月) 19:27:25 ID:dutpCW6W
652で質問させていただいたものなのですが
少し調べてみて、actionscript3.0でダブルバッファの設定を
いじる方法がわかりませんでした。

重ねての質問で申し訳ありませんが、だれか教えていただけないでしょうか?
721Now_loading...774KB:2009/10/26(月) 20:09:11 ID:ksD7FLMC
FLASHは標準でダブルバッファになってるけどね
722Now_loading...774KB:2009/10/26(月) 21:16:57 ID:ZmiPh3tk
function hoge() {
}

function hogehoge( hoge:Function ) {
   (ここ)
}

hogehoge(_root.hoge);


↑のソースの(ここ)の部分で引数で受け取った関数"hoge"のターゲットパスを取得する方法はありませんか?
723Now_loading...774KB:2009/10/26(月) 21:18:40 ID:ZmiPh3tk
あと引数で文字列として渡す方法以外でお願いします。
724Now_loading...774KB:2009/10/26(月) 22:59:48 ID:+yX9+zxi
>>719
ありがとうございます。cs3に戻すのも面倒なのでしばらくcs4使ってみます。
725Now_loading...774KB:2009/10/26(月) 23:31:07 ID:OegR/OUk
ここ数ヶ月前にC++から転向したものですがVectorクラスのないActionScriptが想像できない。
726Now_loading...774KB:2009/10/26(月) 23:40:43 ID:AzhysXDO
Arrayがありゃ充分だろう
727Now_loading...774KB:2009/10/27(火) 00:02:26 ID:/h1WNjRu
何から転向してもかまわんけど、数ヶ月たってるのにリファレンスも読めないと困っちゃうんじゃないかな?
http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/Vector.html
728710:2009/10/27(火) 00:12:10 ID:WoLZnbsj
>>719
いろいろ調べて作ってみたんですけど、どうもうまくいきません。
CS3 AS2.0 XPです。

onEnterFrame = function(){
 ScoreList = new Array();
 Rank = SharedObject.getLocal("TestData","/");
  if(Rank.data.rank1_s == undefined ){
   Rank.data.rank1_s = 0;
   Rank.data.rank2_s = 0;
   Rank.data.rank3_s = 0;
  }
   ScoreList[0] = Rank.data.rank1_s;
   ScoreList[1] = Rank.data.rank2_s;
   ScoreList[2] = Rank.data.rank3_s;
729710:2009/10/27(火) 00:12:51 ID:WoLZnbsj
ScoreList.push(total);

   ScoreList.sortOn(hantei);

    function hantei(a, b) {
    if (a>b) {
      return 1;
     }
    else if (a<b) {
    return -1;
    }
    else {
     return 0;
    }
   }
  rank1_s.text = ScoreList[3];
  rank2_s.text = ScoreList[2];
  rank3_s.text = ScoreList[1];

  Rank.data.rank1_s = ScoreList[3]
  Rank.data.rank2_s = ScoreList[2]
  Rank.data.rank3_s = ScoreList[1]

  Rank.flush();
}

配列に1〜3位までのスコアをおき、pushで今回のスコア(total)を足して、
sortでスコアの大きい順に並べ替えたあとに再表示させてるつもりなんですが、1〜3位すべての値がtotalの値になってしまいます。
730Now_loading...774KB:2009/10/27(火) 01:10:43 ID:I6IAmi3V
>>729
これそのまま動かしてるなら、そうなるだろうね
onEnterFrameだから毎フレーム呼ばれて、そのたびにランキングにtotal加えて並べ替えてるんだから
totalが一番大きい値なら、各順位のデータは一回ごとに押し出されてなくなって
最終的に全てtotalだけになる

これをちゃんと動かすだけなら、onEnterFrame = nullとかして一回しか実行しないようにするのが最短かな
まぁ普通onEnterFrameでデータ保存とかやらんだろうけど
731Now_loading...774KB:2009/10/27(火) 01:16:36 ID:O83QtBtn
AS2、3どちらでも

ファミコンのマリオみたいな2Dゲームを作っていて、その際に制限時間を設けており、ダイナミックテキストで表示。
途中まで進むと休憩バーがあり、触れると一時的に時間が停止して、再度休憩バーに触れると先程まで経過した時間の続きを計測させたいのですが
休憩中の時間を含んだ時間が表示されてしまいます。

何かヒントをください
732Now_loading...774KB:2009/10/27(火) 01:42:49 ID:xG2mYacN
休憩中はカウント止めるだけじゃないのか?
733Now_loading...774KB:2009/10/27(火) 09:35:06 ID:NquniTUa
Arrayなんてバグの元
734Now_loading...774KB:2009/10/27(火) 11:13:34 ID:gjTrLdfN
>>731
どういうカウントのとりかたにもよるだろうに
735Now_loading...774KB:2009/10/27(火) 11:32:23 ID:chUFKmi1
>>731
3.0なら素直にTimerクラスで1000ミリ秒カウントで済むんじゃね?
2.0なら上のほうで散々説明されてるgetTimer()で使って差分で判定かな
736Now_loading...774KB:2009/10/27(火) 13:23:20 ID:RA8bdZ1f
外部からデータを拾って、FLASHで反映させる場合。
XMLを直接読み込ませる方法があると思いますが、
場合によってはPHPなどを仲介するサンプルも見たりします。

素人的には直接XMLを読み込ませる方法がシンプルだと思う
のですが、PHPなどを仲介させる利点などあれば教えてください。
737Now_loading...774KB:2009/10/27(火) 13:31:46 ID:chUFKmi1
>>736
その時に応じたデータを返したいときなんじゃない?
Flashから抽出条件問い合わせて、PHPでDBとかから必要なもの抽出して返すとか。
いつでも固定のデータなら固定ファイルでも構わないと思うけど。
738Now_loading...774KB:2009/10/27(火) 13:33:00 ID:x4Ub0zVe
データベースが扱いやすいから
739Now_loading...774KB:2009/10/27(火) 15:47:30 ID:cyAVlt2F
親のswfと複数の子のswfで構成されたゲームを作ったんですが、
これってひとつのswfにまとめることってできる?
ゲームポータル系のサイトってだいたい1ゲームにつき1つしかうpできないよ
740Now_loading...774KB:2009/10/27(火) 18:06:36 ID:XmMoBU8m
初めまして。Flashを勉強し始めて3週間くらいです。
現在、CS4+AS3.0にて付け焼き刃でFlashを作成中
なのですがどうにも解決できなく…。
http://blog.ipuheke.jp/?p=236
http://blog.orangeage.net/
を参考に、「ドットの入ったFLVをウィンドウサイズ
いっぱいに表示」ということをやろうとしています。

動作確認用に320×240のFLVを用意(本番ではもっと
大きくする予定です)。敷き詰め用に32×32の透過
pngを用意。ビットマッププロパティにて、クラス=
「bg」、基本クラス=「flash.display.BitmapData」
となっています。320×240のステージを用意し、
そこにflvをドラッグしてMC化(基準点:中央)し、
インスタンス名を「video」としました。タイムライン
にムービークリップが配置されている状態です。

ドキュメントクラスを「zengamen」とし、「zengamen.as」
を読み込ませています。以下にソースを書きます。
AS歴2週間くらいなので何がなんだか…。思うような
動作をするには何がいけないのでしょう?
741740:2009/10/27(火) 18:07:38 ID:XmMoBU8m
■zengamen.as(その1/2)

package{
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.system.Capabilities;

import flash.events.Event;
import flash.display.Stage;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.display.MovieClip;


public class zengamen extends Sprite{

public function zengamen():void {

var dotSprite:Sprite = new Sprite();
var bgTile:BitmapData = new bg( 32, 32 );
dotSprite.graphics.beginBitmapFill(bgTile);
dotSprite.graphics.drawRect(0, 0, Capabilities.screenResolutionX, Capabilities.screenResolutionY);
dotSprite.graphics.endFill();
addChild(dotSprite);
742740:2009/10/27(火) 18:08:34 ID:XmMoBU8m
■zengamen.as(その2/2)

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;

var video_ratio = video.height/video.width;
video.x = stage.width/2;
video.y = stage.height/2;
if (stage.height/stage.width>=video_ratio) {
video.width = stage.height/video_ratio;
video.height = stage.height;
} else {
video.width = stage.width;
video.height = stage.width*video_ratio;
}


}
}
}
743Now_loading...774KB:2009/10/28(水) 01:42:12 ID:4l69lngP
737さん738さん。ありがとう。
良くわかりました。
744Now_loading...774KB:2009/10/28(水) 05:19:56 ID:fntJl6Hf
null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。

というエラーが下記の部分で出てしまいます。
どのような原因が考えられるでしょうか。
このコード自体は、ネットで公開されている方のものですが、使用している
Box2Dのバージョンが違う為それを改造しています。
エラーは出るものの、表示は出来るんですが、プレイヤーや
プレイヤーが発射する玉が動きません。
振り向いたりもするので、キー入力も受け付けているようです。

m_Body.m_linearVelocity.x = (0.0 + 100 * (m_InputR - m_InputL))/PhysManager.PHYS_SCALE;
if(m_InputU > 0){
m_Body.m_linearVelocity.y = (0.0 - 150)/PhysManager.PHYS_SCALE;
}
745Now_loading...774KB:2009/10/28(水) 06:28:05 ID:nrBxiAOo
>>739
手作業で一つにするしかないんじゃね?
746Now_loading...774KB:2009/10/28(水) 06:31:42 ID:nrBxiAOo
>>744
そのまんまの意味。
データが何も入ってない変数で計算しようとしてるから、エラーが出てる。

デバッガーかトレイスで変数確認してみたらどうでしょ
747Now_loading...774KB:2009/10/28(水) 11:35:41 ID:FTrratic
AS3.0でテトリスを作る場合、皆さんはブロックの描画処理をどうやって行いますか?
(addChildで一つずつ描画、ビットマップに書き出しなど)
748Now_loading...774KB:2009/10/28(水) 14:09:13 ID:fw9nlJzY
FlashMXでimg0というインスタンス名のムービークリップにJPG画像をloadMovieで読み込みました
それをドラッグさせようと

_root.img0.onPress = function(){
this.startDrag();
}

としたのですが、ドラッグできません。

画像を読み込まずにやったり、img0というムービークリップに直接ドラッグ処理をするとドラッグできました。
どうにかして上の処理でドラッグさせることできないでしょうか?
749Now_loading...774KB:2009/10/28(水) 15:19:01 ID:IVJQCwwg
>>748
読み込み完了後に記述
750Now_loading...774KB:2009/10/28(水) 19:23:49 ID:kL67OP+v
>>747
テトリス程度なら描画処理を切り詰める必要ないので拘りに応じて作る。
751Now_loading...774KB:2009/10/28(水) 21:34:50 ID:MnFbXWTg
FLASH CS4
AS2

10秒経過したらゲームオーバーにしたくて(フレーム移動で対応)1からカウントをダイナミックテキストで表示しているのですが
カウント開始ボタンを押すと、押すまでに取得した時間が表示されてしまいます。

何か参考になるサイトがあれば教えてください。それか、誰かが物凄い勢いで答えてくれたらとても嬉しいです
752Now_loading...774KB:2009/10/28(水) 22:06:56 ID:kL67OP+v
753Now_loading...774KB:2009/10/28(水) 22:35:18 ID:MnFbXWTg
ありがとうございます!
本当に助かりました!
754Now_loading...774KB:2009/10/28(水) 22:56:22 ID:Xlm4A1cm
つか時間関係のライブラリとか探せばありそうなもんだけどな
755Now_loading...774KB:2009/10/28(水) 23:28:41 ID:SDFkjm4v
AS2.0,CS4,WinXP
MC内にattachMovie()で配置した複数の子MC(インスタンス)を名前を指定せずに
一気に消す方法はありますか?

abc.removeMovieClip()でインスタンスを指定して(abcと指定して)消すのは分かり
ますが、複数の名前があり、また数も多く記述が面倒です。

1つの理想形では、AS3.0のようにremoveChildAtを使って重ね順に(番号指定で)
下記のように消す方法です。
for(var id=0; id<個数; id++){
removeChildAt(個数-id-1);
}

よろしく願います。
756755:2009/10/28(水) 23:40:01 ID:SDFkjm4v
(追記)
一番の理想形は、携帯での全消去(AllDelete)のような一括消去です。
757Now_loading...774KB:2009/10/29(木) 06:33:14 ID:2ymuVMsV
CS3でEmbedを使う方法はありますか?
CS4で無いと無理そうですが…
758Now_loading...774KB:2009/10/29(木) 07:00:14 ID:O7tWxQ59
>>755
for (var name in mc) {
  if (typeof(mc[name]) == "movieclip") {
    mc[name].removeMovieClip();
  }
}
759Now_loading...774KB:2009/10/29(木) 21:40:21 ID:m0ISIR2g
変数名を取得することって出来ますか?
ググってもそれらしきものは出てこないのですが
760Now_loading...774KB:2009/10/29(木) 22:59:49 ID:1EU4V/2u
レンタルサーバーのヘテムルでflash media serverを使って通信を行いたいのですが64kbpsの5コネクションまでとなっています
これはどういう意味なのでしょうか
5つまでしか同時に通信が出来ないということでしょうか
761755:2009/10/30(金) 00:37:26 ID:LgO8QdjS
>>758
さんきゅう。試してみます。
762Now_loading...774KB:2009/10/30(金) 19:39:46 ID:T4Rm1fvF
userData.id を使うとエラーでパブリッシュ出来ないんですが何が原因でしょうか

//var floorShape:Shape;
var floorBodyDef:b2BodyDef = new b2BodyDef();
floorBodyDef.position.Set(2.5, 3);//左から、上から
floorBodyDef.angle = 1 * (Math.PI / 180);
floorBodyDef.userData = floorSpt;
//floorBodyDef.userData.id = "box";//なぜかエラーする
floorBodyDef.userData.width = 4 * 100;
floorBodyDef.userData.height = 20;
spt.addChild(floorBodyDef.userData);

var floorSpt:Sprite;
floorSpt = new Sprite;
floorSpt.graphics.beginFill(0xBBBBBB, 0.6);
floorSpt.graphics.drawRect(-2 * 100, -3, 4 * 100, 6);
floorSpt.graphics.endFill();

//shape
var floorShapeDef:b2PolygonDef = new b2PolygonDef();
floorShapeDef.friction = 1;
floorShapeDef.SetAsBox(2, 0.1);//幅、厚さ:1/2で考える

//床コリジョン生成
var floor:b2Body = world.CreateBody(floorBodyDef);
floor.CreateShape(floorShapeDef);
floor.SetMassFromShapes();
763762:2009/10/30(金) 19:43:28 ID:T4Rm1fvF
すいません、やはりこっちでお願いします。

//body
var floorBodyDef:b2BodyDef = new b2BodyDef();
var floorSpt:Sprite;
floorSpt = new Sprite;
floorSpt.graphics.beginFill(0xBBBBBB, 0.6);
floorSpt.graphics.drawRect(-2 * 100, -3, 4 * 100, 6);
floorSpt.graphics.endFill();
floorBodyDef.userData = floorSpt;
//floorBodyDef.userData.id = "floor";
floorBodyDef.userData.width = 4 * 100;
floorBodyDef.userData.height = 20;
floorBodyDef.position.Set(2.5, 3);//左から、上から
floorBodyDef.angle = 1 * (Math.PI / 180);;
spt.addChild(floorBodyDef.userData);

//shape
var floorShapeDef:b2PolygonDef = new b2PolygonDef();
floorShapeDef.friction = 1;
floorShapeDef.SetAsBox(2, 0.1);//幅、厚さ:1/2で考える

//categoryBitsで自分の属するグループを指定.デフォルトは1
//maskBitsで自分と衝突が起こるグループを指定.デフォルトはffff
floorShapeDef.filter.categoryBits = 0x0001;
floorShapeDef.filter.maskBits = 0x1111;

//床コリジョン生成
var floor:b2Body = world.CreateBody(floorBodyDef);
floor.CreateShape(floorShapeDef);
764Now_loading...774KB:2009/10/30(金) 20:18:06 ID:e3ZagqEP
>>763
どんなエラーが出るかくらい書いたら?
まぁそれはともかく、Spriteにidなんてプロパティあったっけ?
〉floorSpt = new Sprite;
ここも気になるけど
765762:2009/10/30(金) 20:25:38 ID:T4Rm1fvF
>>764
こういう風に書いてたサイトもあるので、あるのかどうか分かりません。
エラーは下記です。
ReferenceError: Error #1056: flash.display.Sprite のプロパティ id を作成できません。
766Now_loading...774KB:2009/10/30(金) 20:51:56 ID:e3ZagqEP
>>765
あなたにピッタリのページ見つけた
ttp://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=8857&forum=20&post_id=42917

結論としてはid =〜ってのは無理ってことで
767762:2009/10/30(金) 21:13:14 ID:T4Rm1fvF
>>764
ありがとうございます!
768638:2009/10/30(金) 21:40:44 ID:x+5gBCLX
すいません、>>638をお願いします。
769Now_loading...774KB:2009/10/30(金) 22:07:53 ID:e3ZagqEP
>>768
drawFunc()の中身が分からんと何とも……
エスパーするとマウス座標が想定通りに取れてないとかかな
770Now_loading...774KB:2009/10/31(土) 15:22:08 ID:ONFVrUZd
>>722
関数オブジェクトはムービー系オブジェクトとは立ち位置が違う存在なので
(どっちかって言うとECMA側の存在)取得する方法は無かったかも

うろ覚えだけど callee とか caller とか無かったっけ? それも立ち位置違うようなら方法は無いから、

自分でパックしたクラスでも用意するのが普通の判断
771Now_loading...774KB:2009/10/31(土) 15:26:03 ID:ONFVrUZd
>>760 その質問はむしろレンサバ側に聞くべき
772Now_loading...774KB:2009/10/31(土) 15:36:45 ID:ONFVrUZd
>>768 俺、入れ子状態でも配置できてドラッグリサイズ可能な汎用Windows風ウィンドウ部品とか
AS3で書いてるが、とりあえずENTER_FRAMEとか使わないな。
ましてその中で new Shape とかなんでやねんって感じだ。

俺の場合、他言語でのノリそのままにマウスのイベントに対して、そのハンドルのタイミングで
SpriteやMovieClipのbitmapDataに対してドローしてる。
773638:2009/11/01(日) 03:42:37 ID:m/B0b7np
>>769
>>772
どうも。
テストでは上手くいくのですが、入れ子にした途端にダメです。
四隅のドラッグは検知しているようですが・・・
ENTER_FRAMEを使う理由は、clear()で前の描画を消して→再描画
という更新作業を繰り返すためです。

もっと調べてみます。
774Now_loading...774KB:2009/11/01(日) 09:07:15 ID:zdUYJ6nz
>>773
ごめん一個見間違えてたところある。よく見たら new Shape() の所コメントアウトされてたのな
ちょっと事情で携帯P2なもんだからよく見えて無かった。

改めて元質問見直して見た&俺は普段 FlashDevelop の人なのでコードのスタイル違うかもしれないが、
例えば trace かけてAもBもイベントはちゃんと発生してるのは確認した?

あと別の所で、ADD_STAGE イベントとか使って初期処理はしてる?
コンストラクタで生成されたタイミングでは、例えば幅の情報とか信用できないので、
(=まだメモリに展開されただけなので表示系の処理は準備が完了してない)
ステージに追加された後に判定してると思うけど、入れ子の場合、想像より段階が発生するので
タイミングが合わずに正しい幅ゼロで計算されてる可能性がある。

例えばwidthやheightを拾って何かしている場合、もっとも正しい値が欲しかったら、
ADD_STAGEの後ENTER_FRAMEで1回以上FLASHの描画処理が走った後でないと
思ったように描画されない。

時間としては1フレの差なので、タイミングや書き方によってはたまたま正常に見える場合もあるけど、
内部的にはそんな感じだ。

主にdrawFunk以外を調べてみて
775Now_loading...774KB:2009/11/02(月) 12:42:47 ID:i7tcMJS3
AS2 CS4 WinXP
初歩的なことかもしれませんが質問させてください。

function Blink(target_mc:MovieClip, BMaxCnt, BMaxEndCnt):Void {
BMinCnt = BMaxCnt/2;
BCnt = 0;
BEndCnt = 0;
target_mc.onEnterFrame = function():Void {
BCnt++;
if (BCnt>=BMinCnt && BCnt<BMaxCnt) {
this._alpha = 0;
} else if (BCnt == BMaxCnt) {
this._alpha = 100;
BCnt = 0;
BEndCnt++;
if (BEndCnt == BMaxEndCnt) {
delete this.onEnterFrame;
}
}
};
}
↑というスクリプトを書いてタイムライン上に置いたMCに
onClipEvent (load) {
_root.Blink(this,4,4);
}
と書き、手軽にブリンクができるスクリプトを作ったんですが
ブリンクさせるMCが同時に2つあると変数がかぶってしまうのか
うまいこと動きません。
MCが同時に2つ3つあってもブリンクさせるにはどこを直せば動くようになりますか?
776Now_loading...774KB:2009/11/02(月) 13:42:02 ID:l8Y1UbHY
AS3.0のアニメーションライブラリで一番軽いものはなんでしょうか
777775:2009/11/02(月) 17:13:49 ID:i7tcMJS3
自己解決しました。
function Blink(target_mc:MovieClip, BMaxCnt, BMaxEndCnt):Void {
BMinCnt = BMaxCnt/2;
target_mc.BCnt = 0;
target_mc.BEndCnt = 0;
target_mc.onEnterFrame = function():Void {
this.BCnt++;
if (this.BCnt>=BMinCnt && this.BCnt<BMaxCnt) {
this._alpha = 0;
} else if (this.BCnt == BMaxCnt) {
this._alpha = 100;
this.BCnt = 0;
this.BEndCnt++;
if (this.BEndCnt == BMaxEndCnt) {
delete this.onEnterFrame;
}
}
};
}
778Now_loading...774KB:2009/11/03(火) 00:16:58 ID:gO7hK7Kf
3つの値が同値の場合処理をするというif文を書く場合
一番簡潔に書ける書き方はどのような書き方になるでしょうか
779Now_loading...774KB:2009/11/03(火) 16:50:13 ID:0cjqljMa
a==b&&b==c

==で同値と判定できる物の場合

a==b==c なんて答えは期待してはいけない
780Now_loading...774KB:2009/11/03(火) 23:07:55 ID:2/UzT0O/
横スクロールアクションを作っていて
AS3.0で衝突判定を取り、空中にいる時はジャンプ
出来ないとしたいんですが、連打や押しっぱなしにしていると
何故か空中にいる時もジャンプが出来てしまいます。
原因と思われる箇所は下記なんですが、何か分かりますか。

for (var ce:b2ContactEdge = bb.m_contactList; ce != null; ce = ce.next){
if (ce.contact.GetShape1() && ce.contact.GetShape2()) {
var Obj1:Object = ce.contact.GetShape1().m_body;
var Obj2:Object = ce.contact.GetShape2().m_body;

if (Obj1.m_userData && Obj2.m_userData) {
}else{
ground = true;
trace(m_InputU,ground,"衝突");
}
}

ジャンプさせる条件はm_InputUに1を渡して、下記にしています
if (m_InputU > 0 && ground){
square.m_linearVelocity.y = -2.5;//ジャンプ
781Now_loading...774KB:2009/11/03(火) 23:46:44 ID:JtuueFfg
>>780
日本語になってないぞw
それと、どのオブジェクトがどの役割をしているのかが分からん。
スクリーンショットして画面をUpし、質問文を書き直すのが吉。
782Now_loading...774KB:2009/11/04(水) 04:16:45 ID:FA8mXvM1
>>780
理解せずにそのままコピペしてるから
783Now_loading...774KB:2009/11/04(水) 10:57:54 ID:l+8d8fn0
マジレスすると >>781-782 と同意見

こうすればいい、ってサンプル書こうとすると全部1からこっちが書かないといけない雰囲気

で、それをコピペして動きました!ってなって、今度は違う箇所で同じ事になり、
結果、作者はこのスレの名無しって作品が出来上がる

なのでそれが嫌なら目的と状態を観察して分析して試して、その後ポイントを絞って質問するといいかも
784Now_loading...774KB:2009/11/04(水) 11:12:16 ID:l+8d8fn0
ちなみに >>780 がまったく理解できていないと思われる理由は、作りの詳細の説明がないこと、
前提の説明がおかしいと、原因と思われる箇所だと提示されたソースが本質的でないこと、
あきらかに他人のライブラリとおぼしき詳細不明な属性値について唐突に言及していること。

色んな他人のソースをかき集めてキマイラみたいな状態になってそうな予感

単純に元質問の答えを書くなら、「空中にいる、ってフラグでも立ててその間は単にキーイベントのハンドラをスキップする」だけ
ハンドラと判定が別立てならここに質問せずとも自分で簡単に気づける程度の話だ
785Now_loading...774KB:2009/11/04(水) 11:49:37 ID:Q/yuYsUz
>>784
786Now_loading...774KB:2009/11/04(水) 14:01:22 ID:xO6xARZF
はじめまして、当方Flashを触り始めて1ヶ月ほどの者で、
この度ニコニコ動画の生放送のようなモノを作ることになりました。
環境はCS4+AS3.0、FMS3.5で開発しており、動画の再生は何とかできたのですが、
ライブ配信が始まってからの時間(ニコニコ生放送でいうところの"経過時間")を
取得する方法がわかりません。
ググって調べてはいるのですが引っかかるのは動画が再生されてからの時間だけです。
配信が始まってからの経過時間を取得する方法をご存じの方、
どうかご助力お願いします。
787Now_loading...774KB:2009/11/04(水) 14:04:11 ID:l+8d8fn0
>>785 ×
788Now_loading...774KB:2009/11/04(水) 14:08:33 ID:l+8d8fn0
>>786
そのライブ配信が始まるタイミングで時間記録して現在時間との差分取るだけのような
どんな処理書いてるかわからないけど、自分で書いた仕様なら具体的な実装コードはあなたしか知らない
789Now_loading...774KB:2009/11/04(水) 14:28:24 ID:+D1UOLmz
外部SWFをロード後、表示サイズが固定になり変更できません。

以下のような感じで、AS3で、A.swfの中にB.swfを読み込んで表示しようとしています。
var Bloader:Loader;
Bloader.loadBytes(B.swfのByteArrayデータ);
addChild(Bloader);

単体でB.swfを動かすと400×400で表示されますが、A.swfでloadBytesして表示すると、描画サイズが375×500になり、下が欠けます。
Bloader.heightを変更しても効果ありません。

しかし、B.swfの代わりにC.jpgの画像を読み込ませると、問題なく元のサイズで表示され、またheightを変更すると、思い通りに変更したサイズで表示されます。

mxmlで以下のようにすると問題ないのですが、最終的にはloadBytesにしたいので、解決になっていません。
<mx:SWFLoader source="B.swf" scaleContent="true"/>

恐れ入りますが、ご教示願えませんでしょうか。
790786:2009/11/04(水) 15:16:29 ID:xO6xARZF
>>788
レスありがとうございます。

ライブ配信の途中からでも閲覧できるようにしたいのですが、
途中からSWFを起動した場合でも配信開始の時間を取得できるのでしょうか?
この経過時間を利用してコメントの表示タイミングを指定するつもりですので、
なるべく正確な時間を取得したいと考えています。

遅くなりましたが、以下がドキュメントクラスの内容です。

public class Test extends Sprite {
private var PATH_FMS:String = "rtmp://192.168.11.126/live"
private var video:Video;
private var nc:NetConnection;
private var ns:NetStream

public function Test() {
init();
}

private function init():void {
video = new Video()
addChild(video)

//ネットワーク接続
connectFMS();
}
791786:2009/11/04(水) 15:19:24 ID:xO6xARZF

//video受信
private function receiveVideo():void{
ns = new NetStream(nc);
ns.client = new Object();
ns.play("○○○○");

//videoに直接ストリームをattach
video.attachNetStream(ns)
}

//ネットワーク接続
private function connectFMS():void{
nc = new NetConnection();
nc.objectEncoding = ObjectEncoding.AMF0;
nc.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus);
nc.connect(PATH_FMS);
nc.client = new Object();
}

//ネットワーク接続イベント
private function onNetStatus(evt:NetStatusEvent):void {
if (evt.info.code == "NetConnection.Connect.Success"){
//video受信
receiveVideo();
}
}
}
792Now_loading...774KB:2009/11/04(水) 15:29:38 ID:l+8d8fn0
>>790-791 ああそうか、「途中から参加した場合」って話か

多分それは、少なくともクライアント側だけじゃわかりようがないと思う。
あなたが提示したソースは単にNetStream使った受信の為の仕掛けで、
そこにあるのはクライアントローカルでの開始や終了の情報だけだ。

つまり「いま受信開始した内容は実はすでに始まっている全体スパンの一部です」っていう
別の情報をサーバ側から送る仕掛けでも作らないと無理なんじゃないかな

時間軸は最低2本あるよ。
ローカル再生のスパンと、コンテンツ固有のスパン
793Now_loading...774KB:2009/11/04(水) 15:34:54 ID:l+8d8fn0
クライアントローカルでの開始や終了って言い方は曖昧だった。
要は「サーバから(何かを)受信開始/終了しました」って
だけしか情報が無いって事。

そこに自分で「実はこれは、とある時間軸の一部です」って情報を送る仕掛けが必要、って事。配信開始時刻とか

サーバ側がもしもそれを送ってないなら、それも実装しないと無理
794786:2009/11/04(水) 15:37:43 ID:xO6xARZF
>>792
やはりクライアント側だけでは対応できませんでしたかー、
薄々そうじゃないかとは思ってましたが……。
FMS側は別の人間(こっちも素人)が設定しているので
とりあえずその人と相談してみます。

お答えいただきありがとうございました。
795Now_loading...774KB:2009/11/05(木) 08:15:10 ID:18DCOohN
恐らくWindowsのキーリピート機能が原因だと思うのですが、
キーを押しっぱなしにした時も押した一回だけキーイベントを実行、とするにはどうすればいいのでしょうか?
環境はAS3.0でFlash Developを使ってます。
よろしくお願いします。
796Now_loading...774KB:2009/11/05(木) 08:27:39 ID:OsTEhOMS
>>795
たぶんこんなん

var keys: Array = [];
stage.addEventListener(KeyboardEvent.KEY_DOWN, function( event: KeyboardEvent): void
{
  if (!keys[event.keyCode])
  {
    keys[event.keyCode] = 1;
    
    //1回しか実行されない
  }
  //毎回実行される
});
stage.addEventListener(KeyboardEvent.KEY_UP, function( event: KeyboardEvent): void
{
  keys[event.keyCode] = 0;
});
797Now_loading...774KB:2009/11/05(木) 12:52:02 ID:cUg0AiLY
はじめまして、winでMX2004を使ってます。
attachmovieについて勉強しているのですが、行き詰ったので質問させてください。

attachmovieを使い(ボタンを押すたびに)Itemを複製して、
複製されたもの(例えば、item1をクリックしたらitem1だけ)を
あらかじめステージに配置したボタン(色を指定しています。)クリックで色を変えたいのですが
可能でしょうか?

可能であればご存知の方、どうかご助力お願いします。
798Now_loading...774KB:2009/11/05(木) 13:21:31 ID:18DCOohN
>>796
とても早い回答、本当にありがとうございました。
おかげで先に進めそうです
799Now_loading...774KB:2009/11/05(木) 13:41:03 ID:AQuB7eI4
>>797
2004てことはAS2.0かな。
ボタン押す→attachMovieで複製→複製されたMCをクリック
→ボタンを押して先に選択したMCの色変更
こういう流れでオケ?

やろうとしてることは可能だと思うけど、具体的にどこで詰まってるの?
たとえば、attachMovieはいったん脇に置いて、
ボタン押下で、選択しているMCの色を変える、ということはできる?
800797:2009/11/05(木) 13:54:37 ID:cUg0AiLY
>>797様、素早い返答ありがとうございます。

実は、『ボタン押下で、選択しているMCの色を変える、ということ』ですが、
その部分に関しても、上手くいっていないです。

よろしければ、引き続きご助力をお願いいたします。
801797:2009/11/05(木) 13:57:13 ID:cUg0AiLY
800 名前:797[sage] 投稿日:2009/11/05(木) 13:54:37 ID:cUg0AiLY
>>797様、素早い返答ありがとうございます。

すみません、>>800様の間違いです。

802Now_loading...774KB:2009/11/05(木) 14:19:57 ID:AQuB7eI4
>>800
単一に塗りつぶすか、詳細な設定をするかでちょっと違うんだが、
とりあえずここの解説がわかりやすいと思う。
ttp://hakuhin.hp.infoseek.co.jp/main/as/color.html
まずは、ステージにitem1ってMCとボタンを配置して、ボタンで
item1の色を変えるとこからやってみるといいよ。
上のサイトの説明でわからないとこあったら訊いておくれ。
803797:2009/11/05(木) 14:29:30 ID:cUg0AiLY
>>802様、ありがとうございます。
これから参考URLを見て、やってみます。
 
またわからない事がありましたら、こちらでお尋ねします。
ありがとうございました。
804797:2009/11/05(木) 16:12:53 ID:cUg0AiLY
>>802様、まだいらっしゃいますでしょうか?
上記URLを参考に
1フレーム目(タイムライン上):var color_obj = new Color(Item1);
ボタン :on (press) {color_obj.setRGB( 0xFF0000 );}
として無事にボタン押下でItem1の色を変えることはできました。

上記の(Item1)の部分に変数(?)を使えれば、
『attachMovieで複製→複製されたMCをクリック→ボタン(色の設定済み)を押して先に選択したMCの色変更』
も可能だと思うですが、どのようにASをかいたらいいのでしょうか?

何度もすみません。よろしければ、ご助力ください。
805Now_loading...774KB:2009/11/05(木) 16:25:17 ID:1PNbh0Z7
ひょっとしてまさか、Adobeのリファレンスも追いかけないで全部他人任せで作ろうとしてないか?
いや質問すること自体は悪い訳じゃないけど
806797:2009/11/05(木) 16:30:34 ID:cUg0AiLY
>>805様、他人任せのつもりはなかったのですが・・・
すみません。

書いてくださった『Adobeのリファレンス』などを閲覧して、また尋ねたいと思います。
すみません、また、『Adobeのリファレンス』を教えてくださってありがとうございました。
807797:2009/11/06(金) 10:30:53 ID:PZxVE4er
先日は不愉快な重いさせてすみません。
独学ですが、以下のASで元MCの色の変更(複数MC)はできました。

mcName = A;←タイムライン上

onClipEvent (load) {theColor = new Color(this);}
onClipEvent (enterFrame) {if (this.hitTest(_root._xmouse, _root._ymouse, 1))
{_root.mcName = this._name;}} ←以上、複製したいMC

on (release) {_root[_root.mcName].theColor.setRGB( 0xFF6699 );} ←色変更ボタン

これに
count = 1; ←タイムライン上

on (press) {_root.attachMovie("A", "A"+_root.count, _root.count);}
on (release) {_root.count++;} ←attachMovieのボタン
として、複製したMCもボタンで色を変更したいのですが行き詰ってしまいました。
よろしければ、ご助力いただけないでしょうか? よろしくお願いします。
808Now_loading...774KB:2009/11/06(金) 15:22:16 ID:zMWp19Gq
>>807
独学えらいっす。
さて、onClipEventで書いたASはattachMovieには反映されないと思うんで
フレームアクションにする必要があるんじゃないかな。
さらに、onClipEvent(enterFrame)でhitTestを無駄に走らせるよりは
MovieClip.onReleaseかonPressあたりを使ったほうがいいように思います。

その場合は、オリジナルのMCシンボルの第1フレームに、こんなふうに書くことができます。
theColor = new Color(this);
this.onRelease=function(){_root.mcName=this;}

で、クリックした時点で_root.mcNameにはクリックしたMCへの参照が
入ってるので、色を変更する時には
on (release) {
_root.mcName.theColor.setRGB(0xFF6699);
}
でいいはず。
809797:2009/11/06(金) 16:15:11 ID:PZxVE4er
>>808様 ご回答ありがとうございます。

『onClipEventで書いたASはattachMovieには反映されない』など、いろいろな決まりがあるのも
知りませんでした。
 
帰宅後、内容を理解しながら進めていこうと思います。
 
本当に、ありがとうございました。
810Now_loading...774KB:2009/11/06(金) 18:11:45 ID:pWWXWmwf
flexもこちらで良いでしょうか?
本当に初歩でもうしわけないのですが、なぜ、これで実行すると
1120: 未定義のプロパティ qwerty へのアクセスです。
とエラーが出てしまうのでしょうか、解決法が分かりません…

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[

public var qwerty:String;
qwerty = "aaa";

public var asdfgh:String = "bbb";


]]>
</mx:Script>

</mx:Application>
811Now_loading...774KB:2009/11/06(金) 18:17:05 ID:ximoQQXU
>>810 普通に考えてどういうスコープ解決になってるのかわからない

てか、こんな感じに宣言フィールドと代入を同じ場所に同時に置いてもいいの?
812Now_loading...774KB:2009/11/06(金) 18:50:04 ID:pWWXWmwf
>>811
すみません、functionでやらないと駄目なんですね
ありがとうございました
813Now_loading...774KB:2009/11/06(金) 19:53:41 ID:pWWXWmwf
また質問させていただきます。
下記のxmlファイルを読み込むプログラムを実行すると下記のように先ほどと同じエラーが出ます。
1120: 未定義のプロパティ completeHandler へのアクセスです。
1120: 未定義のプロパティ loader へのアクセスです。
ちなみにこれは変数名など変えているだけで、それ以外はactionscriptの本に書いてあるものと変わりません。
flexで使うために何か変えなければならないのでしょうか? 構文ミスはないと思うのですが…

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[

public var testxml:XML = new XML();
public var xmlurl:String = "test.xml";
public var request:URLRequest = new URLRequest(xmlurl);
public var loader:URLLoader = new URLLoader(request);
loader.addEventListener(Event.COMPLETE,completeHandler);
public function completeHandler():void {
testxml = XML(loader.data);
}


]]>
</mx:Script>

</mx:Application>
814Now_loading...774KB:2009/11/06(金) 19:58:01 ID:s0V7Fx/J
>>813
少しは自分で調べろよ
本当にわからないときだけ質問しろ
815Now_loading...774KB:2009/11/06(金) 20:16:50 ID:pDVlk4wU
>>813
入門レベルも勉強してねえじゃねえかw
816Now_loading...774KB:2009/11/06(金) 20:29:36 ID:pWWXWmwf
>>814
調べました。
自分でも>>810はひどかったと反省していますが、
これに関しては今日、パッと分からないため、質問したのではなく、
前々から本を確認しましたし、色々ググって検索をしましたが、
なぜ、そのまま流用できないのか分かりません。

>>815
すみません、わからないんです…

それと失礼、importをここでは書き忘れていましたが、それを加えても駄目なんです
<![CDATA[

import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.*;

public var testxml:XML = new XML();

これで足りると思うのですが…
817Now_loading...774KB:2009/11/06(金) 20:32:32 ID:PJhFUEsu
>>813
「Flex creationComplete」とかググると勉強になると思うよ
Flex絡めるとASだけの場合とは微妙に違うから結構面倒なんだよな、ここら辺
818Now_loading...774KB:2009/11/06(金) 20:48:28 ID:pDVlk4wU
819Now_loading...774KB:2009/11/06(金) 21:31:35 ID:ximoQQXU
>>813
>>810 と同じ。問題の要点を考えてくれ。わかってないないならわかりましたと言わないでくれ。

public から始まるそのフィールドの宣言と、宣言されたその変数を同じ高さで使ってる。

そのCDATAの領域は、AS3で言う public class... の内側と同じになってる。

つまりメンバ変数の宣言か、メンバ関数の宣言しか書けないと思え。
さっき上で自分で function と言ってなかったか?
820Now_loading...774KB:2009/11/06(金) 21:42:59 ID:ximoQQXU
もうついでに書いとく。こんなの入門初日にやる話だ。
AS3でのソースの構造は、

パッケージスコープの宣言 {
 インポートの指示
 クラスの宣言 {
  メンバ変数の宣言
  メンバ関数(メソッド)の宣言 {
   〜内容〜
  }
 }
}

で、mxmlの例の領域は上図で言うクラスの宣言の内側(が、もうちょい柔軟になったもの)だ。
エラーになる理由は、上図の『内容』が飛び出してしまってあらぬ場所に書かれているから

もう一度自分が書いた内容の『形』を見直して、これ以上の詳細はリファレンスを調べろ
821Now_loading...774KB:2009/11/06(金) 22:16:39 ID:pWWXWmwf
皆さんありがとうございました。このページを見て解決することができました。(張り合わせですが…)
http://www.adobe.com/jp/devnet/flex/quickstart/handling_events/
正直、イベントとか良く分かっていないので、ちゃんと理解した上で先に進みたいと思います。

>>817-818
creationCompleteは目についてはいましたが、使い道についてしっかりと理解できていませんでした…

>>819-820
そうですね、そこら辺があまり理解できていないことがよくわかりました…
丁寧に書いていただきありがとうございます。
822Now_loading...774KB:2009/11/06(金) 22:48:36 ID:2PKvKhbq
>>821
つーか、全部自分の頭だけで考えようとしてるじゃね?

コーディングは簡単なサンプルを多数入手して、それらをイジクリまわして
修得するのが良いと思う。
そうすれば、どのパラメーターが&どの関数がどういう役割を果たすかが分かる。
823Now_loading...774KB:2009/11/06(金) 23:10:27 ID:pWWXWmwf
>>822
アドバイスありがとうございます。
一応、今は本に載っている奴やネット上のを持ってきて改造しています
最初はそんな感じだったのですが、無理だと思いましてw
確かにサンプルから学べることは大きいと思います。なかなか理解できないところもありますが。

でも、flexの情報ってあまり無いのでflexで使うために色々手こずっています。
単にプログラミング自体初心者というのが大きいと思いますが…
824Now_loading...774KB:2009/11/06(金) 23:20:58 ID:ximoQQXU
>>823
それならとりあえず Flex固有の部分は置いといて、今わかり得る範囲で
まずはプログラミングに慣れて徐々に範囲を広げてくといいと思うよ。

それこそ変数一つ、条件分岐のIF文てどんな時使うの?から始まって繰り返し処理や配列のような
Flash/Flex以前のプログラミングパラダイムを消化しつつ、せっかくだから
絵を動かしちゃおっかな〜って感じでトライして行くと気づいたら色々身に付いてくる。

>>822 も言うように既存サンプルを参考にしつつ理解しながらつぶしていければ
世界はどんどん広がる一方だからがんばれ
825Now_loading...774KB:2009/11/06(金) 23:23:05 ID:PJhFUEsu
俺も今Flexに手を出してるけど、何か疑問が生じたら「Flex ○○」でググってたいてい解決してるよ
基本的には公式の言語リファレンスとヘルプが頼りだが、先駆者も結構いるし
826Now_loading...774KB:2009/11/06(金) 23:30:01 ID:emNNQ3f7
Flexは結構ヒットするよね。
mxライブラリをAcstionScript風に書こうとして結構嵌るけど。
827Now_loading...774KB:2009/11/06(金) 23:58:16 ID:pDVlk4wU
FlexじゃなくてFlashオーサリング+AS3から始めた方がいいんだろうけどFlash高いからなあ。

俺もFlex初心者だけど、Flexについては>>818のヘルプがなにげにいいから助かってはいる。
最初から読んでいったらそれなりに理解できると思う。
この後は和書にいい本が無いので、オライリーの洋書クックブックに手を出そうかと。
AS3とFlexのね。
828Now_loading...774KB:2009/11/07(土) 04:26:23 ID:a0GIOWUB
初心者は黙ってサンプルソースからオリジナルを作りなさい。
サンプルソースを参考に一から作ろうとするな。
829Now_loading...774KB:2009/11/07(土) 05:33:52 ID:PhPoaQrp
CS4,AS3.0,WinXP-Proで、dispatchEventの質問です。
ドキュメントクラス(親)とMCにリンケージしたクラス(子)を用意し、子から親へ
イベントの送出をしたいのですが出来ないです。
記述は、import部分を省略すると、

親側(受信する)
public function AS_dEvt_01() {// ドキュメントクラス名:AS_dEvt_01
addEventListener("Child01_Evt", child01);
}
private function child01(Evt:Event):void {
try {
trace("受信しました");
} catch (errorEvt:Error) {
trace(errorEvt.message);
}
}

子側(送信する)
public function Sender_01() {// public class Sender_01 extends Sprite
buttonMode=true;
addEventListener(MouseEvent.CLICK, onClick);//MCをクリックして実行
}
private function onClick(mouseEvt:MouseEvent) {
try {
trace("送信します");
dispatchEvent(new Event("Child01_Evt"));//自作イベント "Child01_Evt" を送信
} catch (errorEvt:Error) {
trace(errorEvt.message);
}
}
上手くいけば、親側で「受信しました」と出力したいのですがエラーも何も現れません。
Webや本で調べましたが原因が分かりません。どうすれば良いでしょうか?
830Now_loading...774KB:2009/11/07(土) 07:36:37 ID:x52NR8qD
addEventListener("Child01_Evt", child01);

子.addEventListener("Child01_Evt", child01);
831Now_loading...774KB:2009/11/07(土) 09:34:52 ID:oCY2DkWq
>>830 に追記しておくと、イベントルーティングの要点は、
「"誰が"起こしたイベントを」「誰が聞いているか」って事。
それを正しく明示するのがポイント。
「送出しちゃえば誰かが勝手に見てくれる」訳じゃないって事
832Now_loading...774KB:2009/11/07(土) 11:16:34 ID:njJCClIF
>>829
あと、
バブリングしないからするようにしてやる
dispatchEvent(new Event("Child01_Evt", true));
親に送出
parent.dispatchEvent(new Event("Child01_Evt"));
833829:2009/11/07(土) 15:18:25 ID:6OH43FNJ
>>830-832
有難うございます。
試しましたが、832さんの方法で上手くいきました
830さんの記述では、子.addEventListener("Child01_Evt", child01); の
親側での子の定義と参照方法が分からなかったです。
(MCのインスタンス名を使っても駄目でした)
834Now_loading...774KB:2009/11/07(土) 16:14:51 ID:oCY2DkWq
>>833 Flashの世界ではインスタンスとか参照って言葉が、似てはいるけど異なるニュアンスで
使われてるから説明しづらいけど、
要は親側のインスタンスに子の参照を外から渡しといてやらねばわかりようがありません

あるいは thisからroot見て辿れなかったっけ

この辺は他言語使ってる人には普通に伝わる話なんだが、携帯でサンプル書くのは辛い
835Now_loading...774KB:2009/11/07(土) 16:17:34 ID:oCY2DkWq
なんか変な言い方した俺

親に対して外から子(にしたい)インスタンスの参照を渡して、
親はそれを操作するって事
836Now_loading...774KB:2009/11/07(土) 18:24:14 ID:njJCClIF
>>833
子はFlash上に配置済みなんでしょ?
その子のインスタンス名をプロパティパネルで自分で設定できているなら
親からそのインスタンス名でアクセスできるよ
837Now_loading...774KB:2009/11/08(日) 00:46:22 ID:AnXmI2Dq
CS4 AS2.0でサーバーのCSV読み込みから条件分岐をしようとしてます
またCSVは不規則に更新されるので定期的に読み込み直す仕様です
まだサーバーのほうから読み込みではなくテスト段階で、同じ階層から読み込みですが

function move(){;
var textCsv:LoadVars = new LoadVars;
textCsv.onData = function(data){
var itemList:Array = data.split(",");
trace(itemList[3]);
}
textCsv.load("data.CSV")
}
setInterval(move,10000);
if(itemList[0]>0){
     stop();
}

CSV内データ→1,2,3,4,5

これで条件内の命令実行してくれません…
ほかの命令(gotoとか)も試してみましたがだめでした
また、setintervalも指定した時間待ってくれるのは最初の一回だけで、
そのあとはものすごい勢いで出力されていきます
どこが間違ってるんでしょうか?

後、サーバーから複数CSVを検出して読み込んで配列に入れるとかできないでしょうか
ご存知の方やいい方法があったら教えてください
838Now_loading...774KB:2009/11/08(日) 00:59:30 ID:q/kxrB4t
>>837 とりあえず無名関数の中で宣言されてる変数を外のif文が見てるのが無意味なのはおいといて、
その一塊自体フレーム中で生きてるの?
あるいはループでなんども再定義されてない?
839Now_loading...774KB:2009/11/08(日) 01:02:22 ID:R6Y29xa2
>>837
条件分岐がうまくいかないから、まずはitemList[0]の値や型がどうなってるか
traceしてみては?
しかし、なんかASごちゃごちゃになってないか?
そもそもなんで、onData内でloadしてんの?
if判定は外に出ちゃってるけど、これで繰り返し実行されてるの?
それともフレーム遷移で繰り返し実行してるのか?
だとしたらそのたびにsetInterval()されてる気もするが。
840Now_loading...774KB:2009/11/08(日) 01:04:18 ID:q/kxrB4t
あと、サーバから複数のCSVを「検出して」って表現が怪しい感じだけど、
単に複数回ロードするなり、あるいは何らかの規約を設けてまとめてロードすればいいのでは

例えばXMLの中にn個のノード作ってそれぞれにCSV書かせて受け取るとか
841Now_loading...774KB:2009/11/08(日) 01:07:10 ID:q/kxrB4t
あほんとだ。よく見たら無名関数の中でロードしようとしてるww

ロードについてはこの内容だと永遠に実行されないだろこれ
842Now_loading...774KB:2009/11/08(日) 01:20:13 ID:okvM4tWB
出た出たw
843Now_loading...774KB:2009/11/08(日) 01:28:41 ID:AnXmI2Dq
>>838-841 返事ありがとうございます!

うぬぬ頭が沸騰しそうです…

兎に角ループ場所がおかしいみたいですね
if直前にtraceいれたら数字出ませんでした
関数の中だけでしか有効じゃないんですね…

サンプルコードを弄くって組んでるので正直滅茶苦茶だと思います…
844Now_loading...774KB:2009/11/08(日) 16:39:13 ID:sy4qJ6yf
5秒おきとか10秒おきとか30秒おきとかに効果音を出したくて、
for (i = 0 ; i < STable.length ; i++) {
myID = setInterval(SoundOut,STable[i]);
}
と書いたのですが、SoundOut関数が1回しか実行されてません。
こんなことは出来ないのでしょうか。
845Now_loading...774KB:2009/11/08(日) 16:54:32 ID:q/kxrB4t
setIntervalのリファレンスとJavaScriptのでいいからサンプルと、
あとすぐ上の方のレス追いかけてみるといい
846Now_loading...774KB:2009/11/09(月) 09:59:06 ID:kvqFsD3Q
844です。スミマセン、関数側の問題でした。ちゃんとテーブル数分実行されました。
847Now_loading...774KB:2009/11/09(月) 13:17:02 ID:l7Fn7kYe
fpsは、画像を描画の回数なのか、処理を行う回数なのか
どっちなのかに?
848Now_loading...774KB:2009/11/09(月) 13:21:06 ID:X4CuXU/g
>>847
イベントと描画
849Now_loading...774KB:2009/11/09(月) 13:24:55 ID:l7Fn7kYe
>>848
ありがとう
イベントって入力の検知する間隔?
850Now_loading...774KB:2009/11/09(月) 13:34:42 ID:X4CuXU/g
内部的に
onEnterFrame = function() {
  イベントを検知
  リスナーを実行
  再描画
}
みたいな感じ


と勝手に予想してみた
851Now_loading...774KB:2009/11/09(月) 14:55:43 ID:+cM8hHxO
単純に描画フレーム数だと思っていいかと
処理は描画の前に行われて、イベントなど描画途中の変更は次のフレームの
初めまで待たされる
強制的に描画反映させるのがupdateAfterEvent()
852Now_loading...774KB:2009/11/09(月) 20:23:53 ID:rF15612r
fps = frame par second
なので単純に1秒辺りに描画完了可能なフレーム数だね
1秒間に何回描画が完了できるかの値

なので、描画以外の処理があまり走ってない場合と走ってる場合で、結果が変わる場合もある
そんな瞬間的な値
853Now_loading...774KB:2009/11/10(火) 15:40:08 ID:V1/7w4JU
タイマーで一度だけ処理して自分自身(タイマー)を削除するにはどうすればいいでしょうか
854Now_loading...774KB:2009/11/10(火) 16:28:31 ID:8Epn+dIm
setTimeout()
855Now_loading...774KB:2009/11/10(火) 17:15:50 ID:xvLIZey8
上の書き込みでFlexでxmlの読み込みなどを質問した者です。
ブラウザによって表示に影響がでることはあるのでしょうか?
http://www.adobe.com/jp/devnet/flex/quickstart/handling_events/
先週、こちらのプログラムを改造してxmlを読み込むものを作り確かにfirefoxで動作を確認しました
しかし、今週、何があったのかfirexoだと表示されなくなってしまいました。
パソコンの環境かと思い、別のPCのFlexでも試したのですが、同じように表示されません。
ちなみにサーバーにアップロードしてswfにアクセスすると問題なく表示されます。
私が調べたところではローカルでIE7,Chromeでも表示されません。Opera、Safariでは表示されます。

次の書き込みにプログラムを書き込みますのでもしよろしければ試していただけると幸いです。
856Now_loading...774KB:2009/11/10(火) 17:16:36 ID:xvLIZey8
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="center" verticalAlign="middle" width="300" height="200" creationComplete="creationCompleteHandler(event);">
<mx:Script>
<![CDATA[
import flash.events.MouseEvent;
import mx.events.FlexEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;

public var xmltest:XML = new XML();
public var xmlurl:String = "test.xml";
public var request:URLRequest = new URLRequest(xmlurl);
public var loader:URLLoader = new URLLoader(request);

public function creationCompleteHandler(event:FlexEvent):void {
//myButton.addEventListener (MouseEvent.CLICK, clickHandler);
loader.addEventListener(Event.COMPLETE,clickHandler);
}

public function clickHandler ( event:Event ):void {
xmltest.ignoreWhitespace = true;
xmltest = XML(loader.data);
myLabel.text = xmltest.name.toString();
}
]]>
</mx:Script>

<mx:Panel title="My Application" horizontalAlign="center" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10">
<mx:Label id="myLabel" width="180" fontWeight="bold" fontSize="24"/>
<mx:Button id="myButton" label="Click Me!" />
</mx:Panel>
</mx:Application>
857Now_loading...774KB:2009/11/10(火) 17:17:26 ID:xvLIZey8
test.xmlの内容

<?xml version="1.0" encoding="utf-8"?>
<test>
<name>test</name>
</test>
858Now_loading...774KB:2009/11/10(火) 17:30:33 ID:xvLIZey8
ちなみにアップロードするとこんな感じになります
http://a3g5.web.fc2.com/testxml.swf
xmlから読み込んだtestという文字が表示されるかと思います。
859Now_loading...774KB:2009/11/10(火) 18:45:08 ID:V1/7w4JU
>>854
ありがとうございます
setTimeout()は削除しなくても勝手に消えてくれるのでしょうか
860Now_loading...774KB:2009/11/10(火) 19:51:47 ID:QyKZJoI5
>>859
あー、ガベージされないねえ
http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/flash/utils/package.html#setTimeout%28%29
使用後でもclearTimeout()でいいのかな?

ならば、Timer()でrepeatcountを1にしておけばいい
http://livedocs.adobe.com/flex/3_jp/langref/flash/utils/Timer.html#Timer%28%29
心配なら利用後にインスタンスの変数にnull入れてやればいい
861Now_loading...774KB:2009/11/11(水) 07:44:02 ID:LnSSoBKe
フラッシュでアナログ時計を作ってるのですが、
下のスプリクトでは短針が30度ずつしか回転しません。
5度ずつ回転させるにはどうすればよいですか?

var d = new Date();

hour_mc.rotation = ( d.hours / 12 )*360;
minute_mc.rotation = ( d.minutes / 60 )*360;
second_mc.rotation = (d.seconds / 60 )*360;
862Now_loading...774KB:2009/11/11(水) 11:05:06 ID:wvywG4dB
Scriptなw

勘違いしてるかもだけど、度で良かったんだっけ?ラジアンじゃなくて
863Now_loading...774KB:2009/11/11(水) 11:26:47 ID:B75+ETrc
>>861
10分置きに5度ずつってことでいいのかな?
たぶんこんなん
hour_mc.rotation = ( d.hours / 12 * 360 ) + ( Math.floor(d.minutes / 10) * 5 );
864Now_loading...774KB:2009/11/11(水) 16:14:13 ID:LnSSoBKe
>>863
できました!ありがとうございます。
865Now_loading...774KB:2009/11/11(水) 20:21:45 ID:LlW97hOL
Windowsの文字入力中のカーソルキーのように左右キーを押しっぱなしにすると一瞬引っかかりその後滑らかに進んでいくようにするにはどうすればよいでしょうか
標準では引っかかりの時間が長すぎるので自作したいと思っています。
866Now_loading...774KB:2009/11/11(水) 21:33:11 ID:wvywG4dB
ロジック丸投げ質問か

一度ひっかからない処理を書いて、初回時には任意時間の間だけ実際に行いたい処理を
スキップしとけばいいんじゃね?
867Now_loading...774KB:2009/11/11(水) 21:42:06 ID:wvywG4dB
正解書いてしまうとあなたの自作にはならないので考え方を書いておくと、
処理は2つ。例えばカーソルの移動を想像した時、一つは
「一度キーが押されたらそれが離されるまで状態が継続される」ロジック。
もう一つは「押された状態、にある時にカーソルを移動させるロジック」

前者と後者の間にスキップが無く直結してる時、ひっかかりは無くするっと動いてしまうから、
押下直後から一定時間過ぎるまでは後者のロジックをスキップすればいいって事

これはあくまで俺の方法なので他にもっとスマートなの方法もあるかもしれないが
868Now_loading...774KB:2009/11/11(水) 21:47:01 ID:LlW97hOL
おかげさまで解決しました
869Now_loading...774KB:2009/11/11(水) 22:57:29 ID:88vTyeEt
ASの質問ではないのでスレ違いかとは思いますがわかる方おられれば教えてください

FlashDevelop3.0.4(日本語化)+FlexSDK3でコーディングしています
毎回ではないのですが保存して開いたとき、コメントブロック間に
入れていない改行が入ってしまうときがあります
@paramの上下が多いですがそれ以外の行もなることがあります

改行が入っているときは別のテキストエディタで開いても改行されているため
実際改行コードが入っていると思います

UTF8形式、改行はCRLFの設定になっています

どなたか同様の現象が出て改善されたかたおられましたらご教授よろしくお願いします
870Now_loading...774KB:2009/11/12(木) 17:48:17 ID:s0t0Ao9P
赤青緑〜と色をグラデーションさせるにはどうすればよいでしょうか
ランダムに表示するのは簡単に出来るのですが・・・
871Now_loading...774KB:2009/11/12(木) 19:16:10 ID:1tV+6lnt
>>870
AS3かな?
ちょっとややこしいけど
http://oshige.com/flash/as3note_cs4/2009/07/post-30.html

var s: Sprite = new Sprite();
var m: Matrix=new Matrix();
m.createGradientBox(1000,200,0,0,0);
s.graphics.beginGradientFill(GradientType.LINEAR, [0xFF0000,0x0000FF,0x00FF00], [1,1,1], [0,127,255], m);
s.graphics.drawRect(0,0,1000, 200);
s.graphics.endFill();
addChild(s);
872Now_loading...774KB:2009/11/13(金) 20:26:04 ID:DvYaMGQo
5つの数値が入っている配列の中で一番大きな値と小さな値を取るのですがifで比較しながらforで回すしか方法はないでしょうか?
他にも方法があれば教えて下さい
873Now_loading...774KB:2009/11/13(金) 20:31:53 ID:DU56Ubaj
そんな都合を満たす方法は基本的にそれだけ
逆に一発でそんな事が出来るのはExcelぐらい
874Now_loading...774KB:2009/11/13(金) 20:36:47 ID:RmSguEaC
配列をソートして頭と尻を取ればいいだけじゃね?
875Now_loading...774KB:2009/11/13(金) 20:39:51 ID:DU56Ubaj
配列ソートって結局コンパレータ書かなきゃいけないからfor回しとあんま変わんなくね?
876Now_loading...774KB:2009/11/14(土) 05:21:31 ID:7xf1mjKQ
FlexSDKを使ってAIRアプリを作っています
質問なのですが、socketを利用してそこらへんのサイト(googleとか)に接続することは可能でしょうか
877Now_loading...774KB:2009/11/14(土) 10:38:08 ID:GfQmXUeI
55656776という数値があり1つずつ比較するプログラムを作っています
一度5が見つかるとその後の5はスキップするように比較用の変数databaseを作り一度見つかった数値をdatabaseに入れindexOfで比較を行っています
indexOf自体の速度はどの程度なのでしょうか、かなり頻繁に使う関数なので重さが心配です
878Now_loading...774KB:2009/11/14(土) 11:57:31 ID:QCcZY+Vg
>>877
オブジェクトを使ったほうがいいよ
var cache: Object = {};

if (!cache[number]) {
  cache[number] = 1;
  // 処理
}
879Now_loading...774KB:2009/11/14(土) 12:12:56 ID:GfQmXUeI
>>878
おお!そう言う方法もありますね
それでやってみたいと思います!ありがとうございました
880Now_loading...774KB:2009/11/14(土) 12:35:11 ID:iNWoGy22
>>876 作ってるならテストコード書いて試せばいいだけでは
Air はわからないが、前にローカル実行させた swf では上手く行った
Web公開した物は自ドメイン外はNG。間に CGI挟んで実現したけど
881Now_loading...774KB:2009/11/14(土) 12:59:11 ID:D37KSoP5
ボタンを押して、「文字の色や、背景色が変わる」っていうのをどなたか教えて頂けませんか?
882Now_loading...774KB:2009/11/14(土) 13:11:54 ID:QCcZY+Vg
>>881
AS3だと

btn.addEventListener(MouseEvent.CLICK, onClick);
function onClick( event: MouseEvent ): void
{
  // 色変更処理
}

文字色の変更方法は「AS3 テキスト 色」とかでぐぐってくれ
背景色は、そもそも背景がないので自分で作る

function drawBg( color: uint ): void
{

}
883Now_loading...774KB:2009/11/14(土) 13:14:24 ID:QCcZY+Vg
>>881
みすった

function drawBg( color: uint ): void
{
  graphics.clear();
  graphics.beginFill(color);
  graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
  graphics.endFill();
}

こんな感じの関数用意して
onClickのところで
drawBg(0x000000);
884Now_loading...774KB:2009/11/14(土) 13:58:26 ID:0YwgC2Pp
シンボルなどをそのまま表示させアニメーションさせるよりも全てのシンボルを1つのビットマップに落としてから表示させるほうが処理が軽くなるのでしょうか?
良く見た目に重そうな処理をしているFLASHはビットマップに落としてるものが多いので・・・
885Now_loading...774KB:2009/11/14(土) 14:08:24 ID:QCcZY+Vg
>>884
アニメーションが位置移動だけなら
cacheAsBitmap=true
したほうが良い

複数のシンボルをひとつのビットマップに出来るんなら、
たぶん例外なくそっちの方が軽い
886Now_loading...774KB:2009/11/14(土) 14:09:30 ID:7xf1mjKQ
>>880
一応作ってみたんですが、動かなくてやり方が悪いのかと思って質問しました
Airもローカルなので希望が見えてきました
頑張ってみます
887Now_loading...774KB:2009/11/14(土) 14:58:05 ID:0YwgC2Pp
>>885
ありがとうございます
http://wonderfl.net/code/e46468df00627db52b390219f12b25247b556062
上記のプログラムはビットマップに描きだしていますが軽いですよね
この様に動き続ける場合でもビットマップ書き出しは有効なのでしょうか
888Now_loading...774KB:2009/11/14(土) 15:46:59 ID:QCcZY+Vg
>>887
基本的に
・オブジェクトは少ないほうが良い
・オブジェクトはビットマップの方が良い
・位置移動だけならcacheAsBitmapでも可

なので、やりたい事が一枚のビットマップで実現できるならそれに越したことはない。


889Now_loading...774KB:2009/11/14(土) 16:19:49 ID:BpEqVc/r
AS3です! 入れ子になっているMCのグローバル座標が取得できません・・・
localToGlobal関数を調べたんですが、どうも理解できずに苦しんでおります

以下は、mc_parentの中のmc_childの座標を取得したい、という場合ですが

var lp:Point = new Point(mc_parent.mc_child.x, mc_parent.mc_child.y);
var gp:Point = mc_parent.localToGlobal(lp);

trace(gp.x, gp.y);

とやると「条件は未定義であり、プロパティがありません」と出てしまいます・・・
890Now_loading...774KB:2009/11/14(土) 16:54:08 ID:QCcZY+Vg
>>889
localToGlobalの使い方は別に間違ってないから、エラーは別のところで出てると思うよ
エラー内容に行番号が出てると思うから、それ確認してみ
891Now_loading...774KB:2009/11/14(土) 17:55:40 ID:BpEqVc/r
>>890
できましたあー!
ありがとうございまっす
892Now_loading...774KB:2009/11/14(土) 19:26:05 ID:D337PV3B
アルファ有りのFLVを表示させるのとアルファ有りのPNGでパラパラアニメのように表示させるのではどちらの方が負荷が高いでしょうか
893Now_loading...774KB:2009/11/15(日) 02:33:37 ID:i2hDEBbI
AS3でMovieClipの特定のフレームにSpriteを放り込みたいんですが、どうすれば良いでしょうか?
894Now_loading...774KB:2009/11/15(日) 02:44:40 ID:cG5flydp
ASでフレーム制御はできないだろうから、タイムラインで区切ってラベル付けるなりして
特定するしかないんでない?
895Now_loading...774KB:2009/11/15(日) 02:53:47 ID:i2hDEBbI
タイムラインの再生とか停止、ジャンプはできますよね??

すべてAS3で完結させたいんですが...
Flashなどは使わず

ラベルを指定してそこにSpriteを入れるということでしょうか??
addChildAtだとレイヤーが変わるだけですし...
896Now_loading...774KB:2009/11/15(日) 02:56:05 ID:Rr+6u+EG
>>893
MovieClipを継承したクラス内のENTER_FRAMEイベントハンドラ等で現在のフレームカウントを見ておいて、
それが特定のフレーム数になった時、そのSpritをadd
897Now_loading...774KB:2009/11/15(日) 03:22:37 ID:i2hDEBbI
>>896
なるほど、
やってみます^^
898Now_loading...774KB:2009/11/15(日) 07:53:17 ID:1b75bbDV
_root.attachMovie("mc","mc",1);
で作成されたムービークリップにクリックイベントなどを適用する場合どうすればいいでしょうか?
899Now_loading...774KB:2009/11/15(日) 11:37:55 ID:Rr+6u+EG
>>898 AS2なら、eval("_roo.mc").onClick = 関数
で出来たような。他の方法もあったかもしれんが。

AS3でも要はインスタンス特定して addEventListener すればおk
900Now_loading...774KB:2009/11/15(日) 12:06:24 ID:IAkZx6yv
ライブラリのビットマップ画像を直接ビットマップデータに書き写すことは出来るでしょうか
901Now_loading...774KB:2009/11/15(日) 12:24:43 ID:17ibCnN6
質問ですが携帯で電波や電池状態で画像を動かすようには出来たのですが
同じような感じで充電状態に動かそうとしても画像が途中で止まってしまう上に
動いた後に停止入れてるにも関わらず繰り返してしまいます。
解決策はありますでしょうか?
902Now_loading...774KB:2009/11/15(日) 13:08:17 ID:G1I9rbum
>>898
AS2なら、_root.mc.onRelease=function(){}とかだね
903Now_loading...774KB:2009/11/15(日) 17:30:30 ID:7xS5PD34
イベントハンドラにデータを送りたいと思い、このようなコードをグーグル先生に教えていただきました
private function someHandler(str:String):Function {
return function(me:MouseEvent):void {
FlashConnect.trace(str);
};
}

someObject.addEventListener(MouseEvent.CLICK, someHandler("hoge"));

見事hogeと表示されたのですが、構文が理解不能です・・・
どのような理屈で動いているのでしょうか
904Now_loading...774KB:2009/11/15(日) 17:52:11 ID:Rr+6u+EG
>>903 戻り型をインラインで定義してるだけ

= addされるハンドラ用の関数の参照を someHandler が返してる。
someHandlerは文字列を受け取り、関数の参照を返す。
返される参照はインラインでFunction型として定義されていて、
そこではイベント時に渡されるイベント情報を受け取る定義があって
(me:MouseEventと書かれているブロック=いわゆるハンドラ関数そのもの)、
その中でadd時に渡された文字列をtraceしている。

この書き方のポイントは、イベントオブジェクト以外の何らかの値をハンドラに別に渡したい場合の方法。

わかりやすく書きたければ、もっとシンプルに thisで参照できるプライベートメンバにもたせときゃいい

初めて書くのなら、その例の書き方はちょっとトリッキーなのであえてまねする必要は無いよ
905Now_loading...774KB:2009/11/15(日) 18:03:17 ID:Rr+6u+EG
OOP的に言えば意味合いが変わって来るんだが‥ 例えば

private str:String = "hoge";

private function someHandler(me:MouseEvent):void {
 FlashConnect.trace(this.str);
}

someObject.addEventListener(MouseEvent.Click, someHandler);

との違いを良く比べてみて
これは >>903 に書いた例
906Now_loading...774KB:2009/11/15(日) 18:10:24 ID:Rr+6u+EG
あと連投済まないが、もしもイベント時に独自な値をハンドラに渡したかったら、
自分で Eventクラスを継承した専用クラスを書いて dispatch で飛ばすって方法がある
その方が意味的にも理に叶っていてすっきり簡単だからお勧め
907Now_loading...774KB:2009/11/15(日) 18:43:24 ID:7xS5PD34
>>904-906
詳しくありがとうございます。難しいですね
addの時に結局、いつもの形のイベントハンドラが渡されてるんですね
渡されたstrがどこに保持されてるかが分からなくて不安ですが、インライン関数を勉強すれば理解できそうです
dispatchを書ければいいんですけれど、具体的にやりたいことはmx:HTMLのhtmlTextのなかのリンクをクリックしたときなので、どのように拡張していいやら・・・
908Now_loading...774KB:2009/11/15(日) 19:15:41 ID:Rr+6u+EG
>>907 strはaddしたタイミングで確定され、その瞬間における不変な値として引き渡されてる。

※なので本ソースの"hoge"を任意に動的に変更する必要があったら、文字列直接でなく
間に別のオブジェクトを挟む必要がある。これはオブジェクトへのポインタ値は不変だけど
メンバの値は関係ない為

mxmlの中で既存のイベントに絡めたい場合には、冗長だけどそのハンドラ内から再度独自イベントを
dispatch するか、上の this の例みたいに単に別に用意しておいて自分で見てもらう形の方がいい。

特にOOP的な作法に拘りがなければ、その方が手っとり早い
909Now_loading...774KB:2009/11/15(日) 19:16:35 ID:Rr+6u+EG
×本ソース ○元ソース
910Now_loading...774KB:2009/11/15(日) 20:16:56 ID:IAkZx6yv
全く動かさなくてもインスタンスって表示すれば表示するほど重くなるのでしょうか
911Now_loading...774KB:2009/11/15(日) 20:28:29 ID:/Xd0D0me
>>910
メモリを消費するから重くなりまっす
912Now_loading...774KB:2009/11/15(日) 20:32:44 ID:Rr+6u+EG
>>910 自分で何もしなくても表示処理は常にある分だけ走るので重くなると言えば重くなるよ
913Now_loading...774KB:2009/11/16(月) 00:06:30 ID:fNaoGY7C
インスタンスって生成した状態とコンテナに入れたときとで重さってどのくらい変わるんだろう??
914Now_loading...774KB:2009/11/16(月) 01:08:33 ID:To/it24V
環境はCS3 シーン分けをして、最初のシーンで宣言した変数を別のシーンでも使いたいのですが、これはシステム的に可能なのでしょうか。
一方通行なら一応は可能みたいなのですが、gotoAndPlayでシーンの最初に戻ると操作が固まるなのの症状が出たりしています。
915Now_loading...774KB:2009/11/16(月) 01:10:38 ID:To/it24V
現状のスクリプト試作分

/*シーン1*/
/*変数宣言*/
/* gotoAndPlay("シーン2", 1); などと入れると、エラー1067(暗黙の型変換)が出る*/

var bunki:int= 0;

/*シーン2*/
/*変数処理*/

function arut(e) {
play();
}

function brut(e) {
bunki++;
play();
}

stop();

aka.addEventListener(MouseEvent.CLICK, arut);
ao.addEventListener(MouseEvent.CLICK, brut);
916Now_loading...774KB:2009/11/16(月) 01:12:31 ID:To/it24V
/*シーン3フレーム1*/
/*フレーム3から戻ってくると、at1が効かなくなる*/

stop();

function at1( e ) {
gotoAndPlay(5);
}

function at2(e) {
gotoAndPlay(3);
}

mizu.addEventListener(MouseEvent.CLICK, at1);
midori.addEventListener(MouseEvent.CLICK, at2);

/*シーン3フレーム3*/
/*フレーム1に戻る*/


stop();

mizu.addEventListener(MouseEvent.CLICK, rp1);

function rp1( e ) {
gotoAndPlay(1);
}
}
917Now_loading...774KB:2009/11/16(月) 01:13:18 ID:To/it24V
/*シーン3フレーム5*/
/*次シーンへ*/

stop();

mizu.addEventListener(MouseEvent.CLICK, esp1);

function esp1( e ) {
play();
}

/*シーン4フレーム1*/
/*シーン3フレーム1に同じく、戻ってくると効かなくなる*/

var bunkis:int=bunki;

stop();

function rut1(e) {
switch (bunkis) {
case 0 :
gotoAndPlay(3);
break;
case 1 :
gotoAndPlay(5);
break;
}
}

midori.addEventListener(MouseEvent.CLICK, rut1);
918Now_loading...774KB:2009/11/16(月) 01:14:59 ID:To/it24V
/*シーン4フレーム3*/

stop();

midori.addEventListener(MouseEvent.CLICK, tan1);

function tan1( e ) {
gotoAndPlay(1);
}

/*シーン4フレーム5*/

stop();

midori.addEventListener(MouseEvent.CLICK, tan2);

function tan2( e ) {
gotoAndPlay(1);
}
919Now_loading...774KB:2009/11/16(月) 02:18:32 ID:UJNF9riL
>>913
つ System.totalMemory


>>914
久々の丸投げかw
どうせならFlaファイルごとUpしる。
920Now_loading...774KB:2009/11/16(月) 10:19:33 ID:Y5oy3l76
CS4 AS3.0でsort()についてなのですが
下記のコードだと結果が異なる理由を教えて貰えないでしょうか。

var hoge:Array=['black','BLack','blue','red','reD','Green','white'];
var hoge2:Array=['black','blue','red','BLack','reD','Green','white'];
trace(hoge.sort(1));
//出力:black,BLack,blue,Green,reD,red,white
trace(hoge2.sort(1));
//出力:BLack,black,blue,Green,red,reD,white

宜しくお願いします。
921Now_loading...774KB:2009/11/16(月) 10:50:33 ID:pWzp99rR
>>920 大文字小文字が区別されてない。
そして同じ物と見なされた要素の登場の順については、内部の都合としか言えない(比較と置換の結果)

てか区別されなかったのかww ほんとかよww
922Now_loading...774KB:2009/11/16(月) 11:05:44 ID:pWzp99rR
>>913 Flash用語と微妙に異なるただのクラスから生成されたインスタンス‥
例えば Spriteを継承した何らかのクラスを new して得られるインスタンスって意味なら、
多分 add されるまで描画処理は走らないだろうから、コンテナ‥ Flashが管理する表示用コンテナ
に add した後よりは遅くない。

具体的な時間差については内容によると思うので自分で計測しないとわからない
923Now_loading...774KB:2009/11/16(月) 11:15:05 ID:pWzp99rR
>>914-918 携帯で見るのが辛いのでちゃんとソース見て無いが、
単に別シーンの何らかの変数を見る事は出来るか?って話なら出来るはず

ちゃんと対象を特定して別のシーンの何かを一つづつ trace して試していけば誤りは見つかる
注意点はフレーム間をループする時、再定義されてないかだとか、そこら辺。動きを把握して
一個一個確認して
924Now_loading...774KB:2009/11/16(月) 14:46:54 ID:Mo9+sIJW
タイマーに引数を設定するには無名関数を使用するしかないのでしょうか
925Now_loading...774KB:2009/11/16(月) 15:47:58 ID:Y5oy3l76
>>921
内部の都合ですか・・・
こんな配列になる事はまずないんですけど、不安ですね
有り難うございます
926Now_loading...774KB:2009/11/16(月) 16:23:38 ID:mFODm7v1
良く分かってないから変な事言ったらごめんだけど
引数に1付けてるから
sortOptionsがCASEINSENSITIVEになってるんじゃないのかな?
大文字と小文字を区別しないソートを指定するらしい。
927Now_loading...774KB:2009/11/16(月) 16:37:48 ID:Y5oy3l76
>>926
オプションに1を設定する事で、大文字小文字関係なしなのは理解してるんですが
配列に格納されてある「'BLack'」の順番だけが異なる配列のソート結果が
何故こうも異なるのかというのが不思議で。
928Now_loading...774KB:2009/11/16(月) 17:14:26 ID:mFODm7v1
>>927
すいません。激しく勘違いしてましたね…。
私もちょいといじってみたけどよく分かりませんでした。
929Now_loading...774KB:2009/11/16(月) 19:22:57 ID:pWzp99rR
>>927 不安になる必要は無い
中の都合ってのは何も訳の分からない事やってる訳じゃなくて、ロジックの副産物的な結果って事

どうしても気になるならクイックソート、シェルソート、ポゴソート等でググるなどして、
試しに sort処理そのものを自分で書いて動きを確認してみるといい

「ロジックの都合」の意味が多分わかる。
中の単品の比較処理の際にロワーケースに揃えて確認も忘れずに

ASって言うよりプログラミングの基礎的な話になってくるけど
930BON:2009/11/16(月) 21:03:07 ID:HfaXZVoO
AS2でクリックしたボタンをHITの状態にしておきたいときのアクションの方法を教えてください。
931Now_loading...774KB:2009/11/16(月) 21:07:51 ID:vkjkRcQy
>>927
>>929の補足。調べたら内部でクイックソート使ってるみたい
932Now_loading...774KB:2009/11/16(月) 21:14:24 ID:/xIkXBhc
>>930
ボタンじゃなくてMCでやる
933BON:2009/11/16(月) 21:27:49 ID:HfaXZVoO
>>932 返信ありがとうございます。ちなみにMCを作った後はどういう処理をすればよいのでしょうか?
初心者なものですみません。
934Now_loading...774KB:2009/11/16(月) 21:46:10 ID:/xIkXBhc
>>933
MCのタイムラインにHIT状態のフレームを作る。
そのフレームにhitとか適当なラベルをつけとく。
クリックで、MCにgotoAndStop("hit")を実行させればいい。
MCのクリック設定は>>902
935Now_loading...774KB:2009/11/16(月) 22:32:36 ID:A+4t6tG4
flvをゲームのエフェクトとして使用することは出来るでしょうか
パーティクルでリアルタイム演算しても良いのですが軽さを重視したいので
936Now_loading...774KB:2009/11/17(火) 02:12:27 ID:b6fUP7g5
>>935 単に動画を Sprite のように表示したいって話なら出来るが‥
ゲームのエフェクトって表現が何を指してるかわからないので何とも言えない

あと動画は全般的に軽くは無い。何と比較するかによるが、
重い場合がありこそすれ、そもそも超軽量!って類の物じゃない
937Now_loading...774KB:2009/11/17(火) 10:17:34 ID:s0oxjc8g
>>928
いえ、こちらこそ変な部分を気になって質問してしまいすみません

>>929・931
まさかこんなに掘り下げたアルゴリズムが関係してるとは思いませんでした。
本当に有り難うございます。
938Now_loading...774KB:2009/11/17(火) 16:38:23 ID:S0cxLeqz
>>936
爆発などのアルファ値ありのエフェクトです
939Now_loading...774KB:2009/11/17(火) 20:15:46 ID:hOTV0vZS
凝ったカットインやバンクとして使うなら兎も角、軽さを求めてるならflvって選択肢にはならない。
940Now_loading...774KB:2009/11/17(火) 20:22:30 ID:Typ17tMX
質問です。

MovieClipにTextFieldをaddChildするにはどうしたらいいでしょうか?
941Now_loading...774KB:2009/11/17(火) 20:30:38 ID:b6fUP7g5
>>938
>>936>>939 参照
動画がどうやって再生されてるかさえ知ってれば
多分選択肢から速攻で外れる。実験はむしろしていいとは思うけどね

>>940 そこまで自分で書いてて何故出来ない?
addした後に何か問題あったって話か?
942Now_loading...774KB:2009/11/17(火) 20:33:37 ID:UkauQrgy
var t: TextField = new TextField();
t.text = "ggrks";
mc.addChild(t);
943Now_loading...774KB:2009/11/17(火) 21:39:41 ID:JYKqAts2
>>939,941
ありがとうございます
flvは圧縮された動画なので重いことは重々承知していたのですがリアルタイムレンダリングとどちらが早いか気になったもので・・・
実際に実験してみると再生前に一瞬カクついて使い物になりませんでしたorz
944Now_loading...774KB:2009/11/17(火) 21:51:02 ID:b6fUP7g5
>>943 動画の考え方を応用して、自作でアニメーションクラス作るって手もあると思う
逆転の発想と言うかむしろ正攻法と言うかって感じだが

つまり、小さい flv でも用意しようとしたって事は何らかの動画を用意できるって事だろうから、
それを例えば40枚くらいの png にでもして、MovieClipを継承したクラスを作り、
中で ENTER_FRAME 毎に1コマづつ表示するなどすればいいんじゃないかな
945940:2009/11/17(火) 22:01:56 ID:Typ17tMX
>>942
ありがとうございまっす
mc.をどこに付けるかわかりませんでした
mc.t.textとするものとばかり思っていました
まさかaddChildに付けるとは!素人すぎてすみません
946Now_loading...774KB:2009/11/17(火) 23:05:27 ID:lAwdONFp
>>945
フォーマットというか文字の大きさの指定とかは大丈夫?
947Now_loading...774KB:2009/11/17(火) 23:25:12 ID:JYKqAts2
>>944
その方法で行ってみようと思います
やっぱり手動で1フレームずつ配置していくしか方法はないですよね
948Now_loading...774KB:2009/11/17(火) 23:30:20 ID:b6fUP7g5
>>947 俺なら配列に入れて回す等するが、別にFlashのGUIで1フレームづつ貼っていっても
いいかもしれない
後の都合を考えてやりやすいように
949Now_loading...774KB:2009/11/17(火) 23:37:30 ID:JYKqAts2
>>948
配列に入れる場合やっぱり識別子を設定しないといけませんか?
950Now_loading...774KB:2009/11/17(火) 23:50:17 ID:b6fUP7g5
>>949 俺はFlashDevelopで何でも作る人なので
手順や考え方が違うのかもしれないが、
例えばクラスの中でメタを使って、埋め込み画像を取り込んで配列化したり、
別途動的にロードしたりする

Flash製品でライブラリから引くなら必要なんじゃない?
俺はFlashMX以降アップデートしてないので知らないが
951Now_loading...774KB:2009/11/17(火) 23:59:52 ID:yegjLJmb
>>947
連番画像を書き出せるなら、連番で勝手に全部読み込むよ
952Now_loading...774KB:2009/11/18(水) 00:06:22 ID:QFARPa4c
>>950
FLASH CS3を使っているのですが正直フレーム自体使ってないので乗り換えも検討してみます

>>951
01.png02.png03.pngとかでも大丈夫でしょうか
953Now_loading...774KB:2009/11/18(水) 00:07:15 ID:QFARPa4c
フレームっていうかタイムラインですね
954Now_loading...774KB:2009/11/18(水) 00:11:45 ID:PSm6G1dA
>>952
そう、そういう連番ファイルにしておいて、01.pngを読み込むと
「残り全部読み込むか?」みたいなメッセージが出る。
オケってすると、連続したフレームに連番通り画像が配置される。

たしかにタイムラインまったく使わないなら、CS3いらないかも。
955Now_loading...774KB:2009/11/18(水) 00:14:36 ID:QFARPa4c
>>954
おおお!出来ました!ありがとうございます
956Now_loading...774KB:2009/11/18(水) 01:15:22 ID:m7EkbpZ4
初歩的な質問ですいません。
this.tween = new Tween(mc, 'x', Elastic.easeOut, 0, mc.x, 3, true);の第3引数にある「Elastic.easeOut」ですが、
ActionScript 3.0 コンポーネントリファレンスガイドのElasticのメソッドの詳細に記されている
public static function easeOut(t:Number, b:Number, c:Number, d:Number, a:Number = 0, p:Number = 0):Number
に値(引数)を予め設定することで同じElastic.easeOutでも
Tweenした時の挙動を調節できるのでしょうか?
設定できるのであればどのようにすればいいのですか?
助けてくださいm(_ _)m
957Now_loading...774KB:2009/11/18(水) 03:25:07 ID:vQUpszZ4
FLASH OOP for ActionScript 3.0 (著:FLASH OOP Japn,クスール)翔泳社
で質問です。

p297の上の方で、
「色の[0x6a987b]をバイナリで表現すると、[00][6A][98][7B] になり、
先頭の1バイトは使われません」

とありますが、先頭の1バイトはアルファチャンネルじゃないのでしょうか?
958Now_loading...774KB:2009/11/18(水) 07:03:55 ID:0vxGoxS0
>>957
省略したら使われない
アルファチャンネルも使いたいなら
0x006a987b
としっかり書かないとだめ
959Now_loading...774KB:2009/11/18(水) 16:17:36 ID:1jFwv7B6
>>958
てんきゅう
960Now_loading...774KB:2009/11/18(水) 17:27:11 ID:hpCByArH
質問じゃなくて相談です。
みんなで協力しあってFlashゲームを作りませんか?
目標はネットで対戦できるドラクエです。
961Now_loading...774KB:2009/11/18(水) 17:31:29 ID:qr7XEoBE
タクティックスオウガならやりたかったけど残念
962Now_loading...774KB:2009/11/18(水) 17:38:33 ID:hpCByArH
>>961
タクティクスオウガの要素も取り入れます。
てか専用スレ立てたかったけど立てられなかったのでどなたか親切な方お願いします。

スレタイ:Flashゲームを作ろう!
内容:みんなで協力しあってFlashゲームを作りませんか?
目標はネットで対戦できるドラクエです。
963Now_loading...774KB:2009/11/18(水) 17:43:35 ID:gmsXHTkQ
絶対完成しないからやめといた方がいい
964Now_loading...774KB:2009/11/18(水) 17:55:44 ID:hpCByArH
>>963
絶対完成させるからスレ立てお願いします。
ちなみにすでにチャットまではできています。
965Now_loading...774KB:2009/11/18(水) 18:29:27 ID:QFARPa4c
チャットよりもRPG部分のほうが大切だと思うが
966Now_loading...774KB:2009/11/18(水) 18:36:37 ID:hpCByArH
>>965
もー!
だからそれを作るためにスレ立てして欲しいんです。
967Now_loading...774KB:2009/11/18(水) 18:49:26 ID:vo86S0aN
968Now_loading...774KB:2009/11/18(水) 19:27:29 ID:FbI6w2/6
何故一人で作らない?
969Now_loading...774KB:2009/11/18(水) 19:33:21 ID:3814TRM7
>>960
先ずプロトタイプを作りなはれ。
970Now_loading...774KB:2009/11/19(木) 02:09:01 ID:pil6UDU/
 あ
971Now_loading...774KB:2009/11/19(木) 11:36:31 ID:63UqDeK/
裏で計算を行いながら画面を描画したいのですがタイマーを使ってもカクカクしてしまいます
FPSは上限の30のままなのになぜカクカクしてしまうのでしょうか
972Now_loading...774KB:2009/11/19(木) 11:40:26 ID:SUd8iare
フラッシュでゲーム作りたい!と思ってFlashDevelopとFlexSDK入れたはいいけど
コードがちんぷんかんぷんです。
どこかHelloWorldから解説してくれてるサイトないですか?
973Now_loading...774KB:2009/11/19(木) 11:45:49 ID:kqhzYpIj
974Now_loading...774KB:2009/11/19(木) 12:32:57 ID:SUd8iare
>>973
ありがとうございます!
975Now_loading...774KB:2009/11/19(木) 13:02:41 ID:63UqDeK/
AS3でrootにaddchildしたインスタンスをcontainerというインスタンスの中に移動したいのですがどうすればいいでしょうか
976Now_loading...774KB:2009/11/19(木) 13:05:43 ID:gCz8CXOL
>>975
container.addChild(root.インスタンス)
でいいんじゃね?
977Now_loading...774KB:2009/11/19(木) 13:13:01 ID:63UqDeK/
>>976
普通にaddchildし直すだけでよかったんですね
ありがとうございました
978Now_loading...774KB:2009/11/19(木) 18:40:53 ID:uYSCDtz3
質問です
AS3です
var xmlRequest:URLRequest=new URLRequest("imageData.xml");
var xmlLoder:URLLoader=new URLLoader(xmlRequest);
var imgData:XML;
var imageLoader:Loader;
var rawImage=String;

var imgNum:Number=0;

xmlLoader.addEventListener(Event.COMPLETE, xmlLoadeedF);

function xmlLoadeedF(event:Event):void{
imgData=new XML(event.target.data);
rawImage=imgData.imgge[imgNum].imgURL;
imageLoader=new Loader;
imageLoader.load(new URLRequest(rawImage));
master_mc.addChild(imageLoader);
}
で1120:未定義のプロパティへのアクセスとエラーがでます。
何が間違っているか分かりません。
ご指導よろしくお願いします
979Now_loading...774KB:2009/11/19(木) 18:56:52 ID:4fC9Ac7F
>>978
var rawImage=String;
ここかな?
エラー行番号からどこか特定できない?
980Now_loading...774KB:2009/11/19(木) 19:25:01 ID:uYSCDtz3
>>979
xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
と出ています。
よろしくお願いします。
981Now_loading...774KB:2009/11/19(木) 19:44:36 ID:nKk0KxN1
xmlLoaderが定義されてないよ
xmlLoderと定義されてる
982Now_loading...774KB:2009/11/19(木) 19:46:44 ID:wa842Wme
エクスエムエル・ロダー
983Now_loading...774KB:2009/11/19(木) 19:53:08 ID:vfeB1ihC
ロダーの所と>>979を直したら出来たな
あと、imgData=new XML(event.target.data);これのnewはいらないんじゃないか
984Now_loading...774KB:2009/11/19(木) 20:02:17 ID:omZf3QZo
スペースキーをマウスのダブルクリックのように二回連続で押すと関数を呼び出すようなプログラムはどうやってつくればいいでしょうか
985Now_loading...774KB
返信遅くなりましてすみません。
>>978
>>981
さんのおかげで出来ました。
ありがとうございます。