[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 04/29 17:01 / Filesize : 316 KB / Number-of Response : 902
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:Now_loading...774KB [2008/07/08(火) 15:08:44 ID:37ODdv7N]
AcitonScriptのことなら
初歩的な質問でもなんでもおk

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

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

前スレ
ActionScript 誰かが物凄い勢いで解答するスレ 19
pc11.2ch.net/test/read.cgi/swf/1205361771/
関連スレ
Flashの超基本的な質問はここでしろ! part37
pc11.2ch.net/test/read.cgi/swf/1202144062/l50
Flash製作初心者の質問スレッド レイヤー38
pc11.2ch.net/test/read.cgi/swf/1202151748/l50

57 名前:Now_loading...774KB mailto:sage [2008/07/18(金) 10:13:06 ID:j1Ba85R1]
ActionScript3.0アニメーションっていう本を読んでます。
角度と移動量から、xとyを計算してENTER_FRAMEでアニメーションさせる
というサンプルが思ったとおりの動きをしないのですが、何か勘違いしてるのでしょうか?

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

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

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

これで、右下45度に向かってballが移動するのかとおもうのですが、角度が45ではありません。
たとえば90にしても、真下にはいきません。
どっかおかしいですか?

58 名前:Now_loading...774KB mailto:sage [2008/07/18(金) 11:54:24 ID:W31UC1S8]
>>55
パスが違ってるだけじゃね
ボタンはコンテナじゃないし
>>56
拡大縮小するとか、htmlでは設定できるが本来の表現じゃなくなるからなあ
>>57
>var radians:Number = angle * Math.PI / 180;
radiansってどこで使ってるの?

59 名前:Now_loading...774KB [2008/07/18(金) 16:15:09 ID:OGGUuJ9T]
クラスのコンストラクタでMCを作成して
stageにaddChildしたいのですがstageへアクセスできないみたいで、できませんでした。
クラスからstageにMCをaddChildするにはどうすればいいのでしょうか。

60 名前:57 mailto:sage [2008/07/18(金) 21:09:44 ID:j1Ba85R1]
>>58
あああ、ほとんだ
サンクス。解決した

61 名前:Now_loading...774KB [2008/07/18(金) 22:20:00 ID:ulTCy8U8]
こんちわ、最近Flashはじめた厨房です。
一時粘着させてもらいます。

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

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

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

これってどういうことなんですか?

62 名前:61 [2008/07/18(金) 22:31:04 ID:ulTCy8U8]
あ、ごめんなさい、環境変数にASのパス入れてなかったorz
またきます。

63 名前:Now_loading...774KB mailto:sage [2008/07/18(金) 22:33:58 ID:j1Ba85R1]
importはファイル名じゃなくてクラス名だから
import src
だよ

って、もうどっかいなくなったかな?

64 名前:61 [2008/07/18(金) 22:39:21 ID:ulTCy8U8]
>>63
あ、いえ、まだいます。
環境変数でD:\Flash\srcにクラスパスを設定したとします。
で、srcフォルダ配下にas3っていうフォルダを作成したとします。
as3フォルダ内にpackage src.asでパッケージ宣言をした場合、どういった書式になるんですか?
import src.*;
で通るんでしょうか?

65 名前:61 [2008/07/18(金) 22:40:59 ID:ulTCy8U8]
すんません。
package src.as3でパッケージ宣言をしたasファイルを設置した場合、でした。




66 名前:Now_loading...774KB mailto:sage [2008/07/18(金) 22:41:49 ID:FX6z5Ir1]
通りません

67 名前:61 [2008/07/18(金) 22:51:51 ID:ulTCy8U8]
>>66
ちょwwwテストしたら通ったぢゃないっすかwww

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

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


あれ?でも返り値としてsample変数を受け取りたくない場合ってどうすればいいんっすかね・・・・。
どなたか教えてください。

68 名前:Now_loading...774KB mailto:sage [2008/07/18(金) 22:56:26 ID:FX6z5Ir1]
最初の「var sample:TestTrace = 」を書かずに単にnew TestTrace();だけ書くとか?

69 名前:Now_loading...774KB mailto:sage [2008/07/18(金) 23:11:02 ID:QA7zb/vg]
それでOK

70 名前:61 mailto:sage [2008/07/18(金) 23:13:07 ID:ulTCy8U8]
お、通りましたー!
サンクスです。またきます。

71 名前:61 [2008/07/19(土) 02:29:05 ID:c8rCFT/w]
ちょっとまた質問です。
Loaderクラスをインスタンス化したloaderっていうのを作りました。
で、loaderのプロパティであるloadに引数としてswfファイルのパスを指定してあげて実行したら下記エラーが出ました。

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

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

・・・・・続く

72 名前:61 [2008/07/19(土) 02:30:32 ID:c8rCFT/w]
private function loadHandler(event:Event):void {
addChild(loader);
mc = loader.content as MovieClip;
mc.stop();
}
}
}
====================================================================
mc = loader.content as MovieClip;がいけないんですかね?どういう書き方をすればいいんですか?
どなたか教えてください。


73 名前:Now_loading...774KB mailto:sage [2008/07/19(土) 08:38:35 ID:6/557yl0]
よくわからんがmcってどこで宣言してんだ?型は?

74 名前:Now_loading...774KB mailto:sage [2008/07/19(土) 08:57:42 ID:6/557yl0]
あ、わりい宣言してるしOrz

75 名前:Now_loading...774KB [2008/07/19(土) 10:57:48 ID:ok6jVTwd]
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

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

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

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

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

この場合のアドバイスを願います。




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

lineProp={onEnterFrame:function (){delete this.onEnterFrame;this.gotoAndStop(2);trace("初期フレームに移動しました");}}
this.waveBoardM.attachMovie("lineM", NewLine, lineDepth, lineProp);

77 名前:61 [2008/07/19(土) 12:03:17 ID:c8rCFT/w]
おはようです。

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

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

[参考にしたサイト]ttp://myactionscript3.blog51.fc2.com/blog-entry-5.html

78 名前:Now_loading...774KB mailto:sage [2008/07/19(土) 12:19:19 ID:AcLa6oK9]
>>77
変な処理だけど、間違ってはいないんじゃないかなあ

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

で、nullじゃない場合は。読み込んでるのがAS3.0のswfファイルじゃないんじゃないかな?
昔のswfムービーとか

79 名前:Now_loading...774KB mailto:sage [2008/07/19(土) 12:25:06 ID:X5JZ6CsC]
>>77
trace(loader.content)は?
入ってたとして、asでnullが返されるということは型変換に失敗している
直接キャストして例外を拾えば何から変換しようとしたか分かるから試せ
あとnew MovieClip()はいらんだろ
よくわかってないやつが書いてるような中途半端なサイトは参考にするな
外部swfのロードなんてlivedocsにもサンプルが転がってるわけだし

80 名前:61 [2008/07/19(土) 12:36:51 ID:c8rCFT/w]
loader.contentもnullでしたorz
ってことは読み込み時に失敗してるってことっすよね。
でもtrace(xmlPath);でtest.swfとちゃんと値は入っているのですが・・・。
ちなみにtest.swfのファイルの設置場所は下記のとおりです。

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



81 名前:61 [2008/07/19(土) 12:44:34 ID:c8rCFT/w]
>>79
livedocs参考にして書いてみた。
===========================================
package src.as3{
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class SWFLoad2 extends Sprite {
public function SWFLoad2(swfPath:String){
var request:URLRequest = new URLRequest(swfPath);
var loader:Loader = new Loader();
loader.load(request);
addChild(loader);
}
}
}
===========================================
エラーなく通った!!でも外部swf再生されない・・・orz
swfの参照先は>>80と同じなんですけど、このパスの指定方法ってだめなんすか?
よくわからん・・・・・。


82 名前:Now_loading...774KB mailto:sage [2008/07/19(土) 21:59:16 ID:OqFtwf1a]
>>76
さんきゅう。
う〜ん、1フレずれるのかあ。。。

83 名前:61 [2008/07/20(日) 00:09:45 ID:w3L7cTKp]
質問です。
コンストラクタで返り値を取得したいんですけど、どうすればいいんですか?

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

回答おね

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

もういいから
本買うなり基本教えるサイトなり
超基本スレ行け

85 名前:Now_loading...774KB mailto:sage [2008/07/20(日) 08:18:37 ID:MIJKU1I4]
livedocs一度全部読め





86 名前:Now_loading...774KB mailto:sage [2008/07/20(日) 11:28:49 ID:Bbd96xxA]
俺の予想では、61はコリン・ムック。

87 名前:Now_loading...774KB mailto:sage [2008/07/20(日) 15:50:25 ID:86TDyYv4]
61はJavaプログラマに1ペソ

88 名前:Now_loading...774KB mailto:sage [2008/07/20(日) 19:50:17 ID:3zw84w+O]
こんな低レベルでJavaプログラマと言えるのかどうか

89 名前:Now_loading...774KB [2008/07/20(日) 21:55:23 ID:8BTeS3fg]
Aはこの3通りの繰り返しを持つ
1.空白
2.AA
3.cAc

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



その結果を表示するプログラムをお願いします。

90 名前:Now_loading...774KB mailto:sage [2008/07/20(日) 21:57:27 ID:3zw84w+O]
その前に文章を日本語に翻訳してからもう一度質問してもらえますか?

91 名前:Now_loading...774KB [2008/07/20(日) 21:58:46 ID:8BTeS3fg]
20回で自動的にプログラムが終了するので、Aとcの文字列ができる場合があります

92 名前:Now_loading...774KB mailto:sage [2008/07/21(月) 00:18:56 ID:Q2//RK2W]
AS3でByteArrayのcompress、uncompress以外に圧縮処理をする方法ってありますか?

93 名前:Now_loading...774KB mailto:sage [2008/07/21(月) 00:30:04 ID:M7FDRJhn]
>>88
書き方がJavaPGあがりっぽかったからなんとなくね

94 名前:Now_loading...774KB mailto:sage [2008/07/21(月) 01:04:13 ID:PiCsFE2U]
コンストラクタの返り値とか言う人が Java あがりとはこれいかに


95 名前:Now_loading...774KB mailto:sage [2008/07/21(月) 01:22:17 ID:M7FDRJhn]
>>94
そこに関しては同感
つーかコンストラクタで返り値返せる言語ってないような希ガス



96 名前:Now_loading...774KB mailto:sage [2008/07/21(月) 02:53:52 ID:EwyO36/F]
コンストラクタの戻り値はインスタンス

97 名前:Now_loading...774KB mailto:sage [2008/07/22(火) 23:11:01 ID:BbNzRPpm]
>>94
ごめん。
ちょっと「じゅん(^_^)V」の反応を試した。

どっちでもなく中立なのが分かって安心した。
それでも今後反発する人に関しては知らん。

98 名前:Now_loading...774KB [2008/07/23(水) 01:12:51 ID:lFK78v7b]
as3です。
一枚の巨大な画像があるとします。
横2000px 縦500pxというサイズです。

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

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

何か別の方法はありますでしょうか。


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

教えてエロい人!

100 名前:Now_loading...774KB mailto:sage [2008/07/23(水) 07:58:40 ID:oqQeDPIW]
>>99
ttp://blog.7to3.net/web/2007/12/09/prepare-as3-developing-environment-with-flashdevelop/
の2参照

101 名前:Now_loading...774KB mailto:sage [2008/07/23(水) 08:05:47 ID:oqQeDPIW]
そいや,videoでflv使う際にバッファリングする箇所を指定って出来るんですかね?
たとえば,360secの映像のうち,30secから40secまでと120secから150secまで,みたいなカンジ.

102 名前:Now_loading...774KB mailto:sage [2008/07/23(水) 08:15:02 ID:JclxLIkJ]
特定の部分だけにモザイクをかけたいのですが、
できるでしょうか?

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

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

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


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





103 名前:Now_loading...774KB mailto:sage [2008/07/23(水) 09:02:09 ID:NqIjq0/U]
>>101
FLVPlaybackにbufferTimeプロパティってのがあるよ。何ミリ秒バッファリングするのか指定できるプロパティ。
でも、配信専用サーバー用意してないと意味無いんだよね。
普通にflv読むプログレッシブ形式だと、どのみち全部読み込むし、読み込まない部分は動かないし。

104 名前:Now_loading...774KB mailto:sage [2008/07/23(水) 09:05:04 ID:NqIjq0/U]
>>102
そのページにソースまで乗ってるじゃないの。
それが分からないと無理なんじゃないかな?
モザイク固定だったら、あらかじめ描いておけば済む話なんじゃない?

105 名前:Now_loading...774KB mailto:sage [2008/07/23(水) 09:17:04 ID:JclxLIkJ]
>>104

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

マウスに反応するのではなく、
 特定の部分だけにモザイクをかけるサンプルがあれば、
何とか理解できると思います。




106 名前:101 mailto:sage [2008/07/23(水) 09:19:34 ID:oqQeDPIW]
>>103
ありがとう.Red5(Flash配信サーバ)使ってるから何とかなると思う.
希望の光が見えてきたよヽ(´ー`)ノ

107 名前:Now_loading...774KB [2008/07/23(水) 09:47:59 ID:IjIxoyvR]
>>100
FlashDevelopの"FirstRun\Library\AS3\frameworks\FlashCS3\fl"を指定したところ、

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

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

他に色々と試行錯誤してflフォルダをSDK内に入れて相対パスにしたりもしてみましたが全てエラー
もう涙目です。何か間違っていますでしょうか
ちなみにFlashDevelopのバージョンは3.0.0β7です。

108 名前:Now_loading...774KB mailto:sage [2008/07/23(水) 09:55:44 ID:oqQeDPIW]
>>107
flex-config.xmlの記述ミスではないでしょうか?
参考までに自分のxmlのsource-path部分をコピペしときます.
<source-path>
<path-element>C:\Program Files\FlashDevelop\FirstRun\Library\AS3\frameworks\FlashCS3</path-element>
</source-path>


109 名前:Now_loading...774KB [2008/07/23(水) 10:21:19 ID:IjIxoyvR]
>>108
FlashDevelopのインスト先が同じなのでそのままコピペさせて貰ったんですがやはりエラーが出てしまいます。
現在SDKのバージョンは3を使用していたので、2でやってもみましたが結果は同じでした。

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


ハマりすぎて仕方ないのでflパッケージを諦めて別の方法で作成することにします。
回答ありがとうございました。


110 名前:Now_loading...774KB mailto:sage [2008/07/23(水) 20:31:43 ID:IWw5Vdke]
>>98

っ transform.matrix

111 名前:Now_loading...774KB mailto:sage [2008/07/24(木) 22:17:04 ID:LKk+wmbL]
FlashCS3ProのAS3で質問します。

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

根本的にオブジェクト指向ってのが判ってないという者です・・・
cStr()で上で設定したstrAryの中身をいじりたいんですけど、どうやればいいんでしょうか?
他の外書きクラスからcMain.cStrって呼び出して使いたいのです。
(実際にはstrAryにはRSSのパースしたのが入ってます。)

112 名前:Now_loading...774KB [2008/07/24(木) 22:19:39 ID:LKk+wmbL]
ようするにstr = strAry[0]; をしたいって事です。


113 名前:Now_loading...774KB mailto:sage [2008/07/24(木) 23:40:05 ID:9YFGAhAX]
第34回 HTMLからFlashムービーに変数を渡してみよう:ITpro
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20061206/256146/

この解説ページのようにHTMLのフォームからSWF内に変数を使って文字列を送りたいのですが、
上記はAS2での解説で、AS3だとうまくいきません(FlashCS3を使用しています)
どこを変えればAS3でも動くようになりますでしょうか? お願いします

114 名前:Now_loading...774KB mailto:sage [2008/07/24(木) 23:44:44 ID:GCBaMxUl]
>>111-112
クラス定義の内側で宣言した変数はメンバ変数と言われ、
基本的にクラス内のメソッドからは自由にアクセスできます
var strAryの前にそれぞれ、クラスの外部からもアクセスしたいならpublicを、
内部からのアクセスだけでよいならprivateを付けましょう

115 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 00:16:55 ID:GMMixAZ6]
>>114
ありがとう。



116 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 10:18:43 ID:VnVDP8gP]
>>114
ばかっ!外部から参照したいだけならprotectedだろっ!ばかっ!

117 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 10:26:46 ID:2orjErp2]
落ち付いてマニュアル読み直せw

118 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 11:10:12 ID:eDPjqEov]
as3でAccordionコンポーネントを使用する方法ってりますか?
普通に考えて無理だと思うし、調べてみても無理っぽい記述しかないが…。
明確な回答は見つかりませんでした。

よろしくお願いします

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

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




120 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 14:52:27 ID:2orjErp2]
>>119

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

みたいにEventクラスで受けて、必要ならばtypeの値でどんなイベントかを
判定すればいいんじゃないかな?

121 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 15:12:50 ID:Gb723wB/]
>>120
ああ、なるほど・・・
すげえ助かった。ありがとう。

122 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 15:48:00 ID:LWrSDg+Y]
//Main.as
package{
 import flash.display.Sprite;
 import flash.text.TextField;
 import flash.text.TextFieldAutoSize;

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

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

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

AS3です。
なぜ、文字を表示するのにaddChild(sub)をする必要があるのでしょう。
Subで既にaddChildを行っているのでそれだけで十分だと思うのですが。
Subで音楽を鳴らす場合は、addChild(sub)をしなくても鳴らせます。

123 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 15:49:43 ID:VnVDP8gP]
>>117
僕が悪かったですごめんなさい

124 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 15:50:24 ID:LWrSDg+Y]
すいません、↓のHogeはSubです。
public class Hoge extends flash.display.Sprite{

125 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 16:24:39 ID:Gw/20vnf]
>>122
例えば
Subというウィンドウにテキストが表示されてても、そのウィンドウが画面に表示されてなければテキストは見えないでしょう?

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


分かりづらいかな・・?w



126 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 17:54:37 ID:LWrSDg+Y]
>>125
ありがとうございます。
package(class)の違いで、別ウィンドウが存在するんでしょうか。
音楽の方はなんとなく分かりました。

127 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 19:02:12 ID:c6UsrShW]
表示域は常にひとつです。トップレベル、この場合Mainがその表示域のベースとなります。
表示域とは演劇でいうステージです。意図的に照明(visible)を切り替えない限り常に見えます。
addChildはこのステージに背景や演者を設置する手段です。
newで生成した段階ではまだ舞台袖にいる段階で、ステージ上にはいないので見えません。
しかし音楽はステージ上にいなくても聞こえますよね。

さて、次に文字ですが、この場合Subを木、文字を木の実として考えましょう。
木の実を木に対してaddChildすると、木には木の実が配置されます。
しかし木自体がまだ舞台袖にあり、ステージ上に無いので見えません。
木(Sub)をステージに設置(addChild)して、初めて木の実もステージに登場するわけです。

128 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 20:09:06 ID:LWrSDg+Y]
>>127
ありがとうございます。
なるほど、すごく分かりやすく理解できました。

129 名前:Now_loading...774KB mailto:sage [2008/07/26(土) 00:23:47 ID:l/QqDgBv]
AS3swfファイルを起動すると、まず、
スタートパッケージのコンストラクタの処理をするのは分かったのですが、
その後、プログラムの位置はどこにある状態なのでしょう。
C言語のwhile待ちやWin32APIのGetMessageに当たるものです。

スタートパッケージの始めの部分で待っていて、
マウスが押されたりすると、スタートパッケージ内に
mouseDownHandlerなどが無いか探し、
無ければまたスタートパッケージの始めの部分で待っている感じでしょうか。

130 名前:Now_loading...774KB mailto:sage [2008/07/26(土) 00:53:58 ID:6N/EnPDD]
イベントドリブンを理解しましょう

131 名前:Now_loading...774KB mailto:sage [2008/07/26(土) 01:09:41 ID:dygQBh9z]
>>129
他の言語から移ってくると気持ち悪く感じるかもしれないけど
メインのループ処理は完全に隠蔽されてる
あえて言うなら FlashPlayer の中だけど
普通の開発者はそれを意識する必要が全くない

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



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

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

>>131
普通の開発者はそれを意識する必要が全くない
というのはなんとなくは分かっていたんですけど、
new、addChildしたものが開放される(する)タイミングが分からなくて、
プログラムの流れが気になりました。

133 名前:Now_loading...774KB mailto:sage [2008/07/26(土) 13:40:41 ID:gkEZz+dm]
>>132
イベントドリブンやGCなんてのはActionScript固有のものでもないし、
どちらかというと最近では主流になりつつあるものだから、
そっちについて個別に学んだ方が理解が深まると思うよ。
C使いだったならC#と比較してるサイトいっぱいあると思うから。

134 名前:Now_loading...774KB mailto:sage [2008/07/26(土) 14:45:54 ID:l/QqDgBv]
>>133
ありがとうございます。
なるほど、C#を少しかじって理解を深めたいと思います。

135 名前:Now_loading...774KB [2008/07/26(土) 23:12:25 ID:ujU4TWfq]
1・外部XMLファイルをプログレスバーを表示してローディング→2・Tweener等を使ってサイト名表示等のアニメーション演出→3・XMLファイルデータを元に外部jpgを読み込み表示

といったflashをタイムラインを使用せずAS3で作成してあり、2の処理中に3へ処理をスキップする機能を持つスキップボタンを付けたいと思っているのですが
どのように考えれば良いかが上手くつかめません、2のスクリプト処理中の流れを割り込み(2で作られた演出用のスプライト等を削除し)3へ移動させる?というのは
どういった処理を行えばいいのでしょうか?



136 名前:Now_loading...774KB [2008/07/28(月) 16:32:11 ID:VNCXamqf]
as3です。
同一ディレクトリ内にある別のasファイル(VideoLoader.as)の中の変数(_hoge:uint)を
別クラスのBtnsClass.as内のスクリプトで、「参照&書き換える」には、
どのようにしたらいいでしょうか。

VideoLoader内でpublicで変数を宣言しています。
BtnsClass内のコンストラクタです。
VideoLoader._hoge = 5; では駄目でした。
VideoLoader._hogeにも型宣言するのはおかしい気がするし、
publicで指定しているのになぜアクセスできないのか、、、
かなり悩んでます。


137 名前:Now_loading...774KB mailto:sage [2008/07/28(月) 17:44:22 ID:SuSWJ2Co]
AS3で静的コンストラクタみたいな
使い方ができるものがありましたら教えてください。

138 名前:Now_loading...774KB mailto:sage [2008/07/28(月) 18:09:46 ID:1fUSat/w]
>>136
livedocs.adobe.com/flash/9.0_jp/main/00000064.html#wp909014

>>137
www.trick7.com/blog/2007/01/07-082232.php

139 名前:Now_loading...774KB [2008/07/28(月) 19:09:09 ID:QYVJsqYm]
マスクの下にあるムービークリップにattachMovieしたオブジェクトがマスクされません
回避方法としてはどういうものがありますか?




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

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

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

bbb.swf内
var send_lv:LoadVars = new LoadVars();
var recv_lv:LoadVars = new LoadVars();
recv_lv.onLoad = function(){←aaa.swf経由で表示させると、こいつが走らない
trace("data");
};
send_lv.sendAndLoad("aaaaa.com/zzzzz.php",recv_lv, "POST");
どなたかすみませんが教えて頂けませんでしょか

141 名前:Now_loading...774KB mailto:sage [2008/07/28(月) 21:35:54 ID:TxBAy1NH]
var senddata:URLVariables = new URLVariables();
senddata.cmd = "cmd";
senddata.key1 = "001";
senddata.key2 = "002";
trace("##########: "+inkdata.toString());

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

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

毎回
cmd=cmd&key1=001&key2=002
とサーバー側で受け取る方法ってないですかね?

142 名前:Now_loading...774KB mailto:sage [2008/07/28(月) 23:17:43 ID:XO5DuyEj]
as2で作ったswfをas3で読み込んだらloader.contentがnullになってしまいます・・・
これってどうすればいいんでしょうか
ちなみにas2のflaファイルはもうないんです

143 名前:137 mailto:sage [2008/07/29(火) 00:22:15 ID:Z0cq8PeP]
>>138
ありがとうございます。

144 名前:Now_loading...774KB mailto:sage [2008/07/29(火) 00:58:41 ID:S+kplSAU]
>>140
そもそもbbb.swfはどうやってロードしてるの?

145 名前:Now_loading...774KB mailto:sage [2008/07/29(火) 09:26:28 ID:DZacUpsR]
>>139
マスクはどうやって作ってるの?
attachMovieは正の深度だよ
>>142
fla無いならAS3への移行できんからAS2で読み込んで処理する



146 名前:Now_loading...774KB mailto:sage [2008/07/29(火) 17:29:01 ID:Np3YCmwO]
質問です。環境:AS3, Flex3
Q:デフォルト値が設定されている引数が複数あるとき、n番目の値だけ指定して、他を省略する事はできますか?

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

VBのCall f(arg4:=40)みたいなことは出来ないでしょうか

147 名前:Now_loading...774KB mailto:sage [2008/07/29(火) 19:06:49 ID:3ZXx5RAK]
>>146
argumentsオブジェクトを使うといいかも。

148 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 13:04:03 ID:/jifwed9]
AS3です。
addChildの反対のdeleteChildみたいなのがありましたら教えてください。

149 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 15:13:37 ID:cdPPc+ee]
>>148
removeChild
答えた代わりに一つ聞きたいんだけど、この程度のことググった方が早くない?
どうしてわざわざ聞こうと思ったの?煽りとかじゃなくて。

150 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 15:29:53 ID:/jifwed9]
>>149
ActionScript3 + addChild + (反対 or 開放 or deleteChild)
あたりではググっていたのですが見つけられませんでした。

また、newに対するdelete、コンストラクタに対するデストラクタ
がない(行われるタイミングが分からない)というのもあって、
addChildの反対のものも無いのでは
という気持ちがいけなかったのかもしれません。

151 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 16:28:12 ID:cdPPc+ee]
なるほどね。とりあえず今後はLiveDocsのリファレンスガイドを活用するといいよ。
すべてのクラスとそのメソッドについて一覧と説明があるから、
そこを順番に見ていけば基本的なことの大半は解決するはず。

それからGoogleも単なる道具だから、使う側が工夫する必要もある。
「ActionScript3」の部分でAS3の情報に絞ったつもりだったんだろうけど、
ネット上のドキュメントはどちらかというとActionScript 3.0といった表記の方が多いんだよね。
例えばそこを変えただけでも(ActionScript 3.0 addChild)、LiveDocsが最初に引っかかるし。
あとremoveChildのことを「addChildの反対です」と表現してることってほとんどないし、
どういう書かれ方をしてるか予測して検索した方がより正解にたどり着きやすくなると思うよ。

152 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 16:43:23 ID:yG5n5h/q]
リストに対する追加/削除はadd<->remove
newに対する機能はdispose、ただしgcにまかせていいクラスならdisposeは存在しない

AS3に限らず最近のフレームワークはみんなこんな感じ


153 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 17:44:43 ID:s39ND9NC]
AIR1.1になって、IME.enabledを設定してもIMEのオン、オフができなくなってしまったのだけど、解決方法を知っている人いませんか?
AIR1.0では問題無くオン、オフできるのだけど。

154 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 18:37:00 ID:/jifwed9]
>>151>>152
すごく勉強になりました。
次に質問させていただくときには、気をつけたいと思います。
ありがとうございました。

155 名前:Now_loading...774KB [2008/07/31(木) 19:29:34 ID:e2PUWTO5]
ある日数の範囲(例:20080801〜20080930)と
ある日数の範囲(例:20080815〜20081031)に
重なりがあるかどうかを判定するにはどうしたらよいでしょうか?



156 名前:Now_loading...774KB mailto:sage [2008/07/31(木) 20:13:03 ID:ayqNwGZU]
Date.timeで数値としての日時が取得できるから、それを比較すればおk

157 名前:Now_loading...774KB mailto:sage [2008/07/31(木) 20:16:17 ID:VgsN3smr]
>>155
期間A→A1〜A2
期間B→B1〜B2
とすると、重なるのは
■A1------------A2
■    B1------------B2

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

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

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


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

これでどう?質問の本質を理解してないかも。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<316KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef