08/08/18 04:44:14 B7mViElF
>>280
すいません、左クリックの誤記でした;
左クリック押しっぱなしだとスルーで、
コンテキストメニュー出すとワープになりますねぇ。。。
やっぱり壁の縁にHitTest記載した隠しシンボルをずらり並べるとか
完全に角形化するしかなさそうですね・・・
待ってる間に実際グーグルでいろいろ調べてたんですが大体そうやっているみたいでしたし
・・・
朝早くからありがとうございました。
精進イタします<(_ _)>
282:Now_loading...774KB
08/08/18 17:24:55 XiIEBvpl
Flex/AS3.0です
任意のタイミングで要素を追加、指定した要素を削除、全要素を列挙できるデータ構造として、
Dictionaryを使用したいと考えています。オブジェクトをキーとして、同じ物を値として保存するような・・・。
キーと値が同じなので、直感的に無駄な部分があるように思えて仕方ありません。
キーと値が同じようなDictionaryの使い方ってするものなんでしょうか。
用途のイメージです↓
var dict:Dictionary
public function addObj( obj:Object ){
if( dict[obj] == undefined )
dict[obj] = obj;
}
public function rmvObj( obj:Object ){
if( dict[obj] != undefined )
delete dict[obj]j;
}
public function traceDict(){
for each( obj:Object in dict){
trace( obj.toString() );
}
}
283:Now_loading...774KB
08/08/18 17:38:00 3rh6DCFZ
>>282
値を取り出すために同じ値を必要とするならば、値を取り出す時点でその値が手元にあることになり、なんのために取り出すのかと
284:Now_loading...774KB
08/08/18 17:45:20 XiIEBvpl
>>283
値の取り出しはfor eachでのみ行うつもりです
用途は買い物カゴに商品を登録するようなイメージです
好きな商品をカゴに入れる→dict[obj] = obj
後で取り消したい場合はカゴから取り出す→ delete dict[obj]
最終的にカゴに入っている商品の総額を求める for each ( obj in dict ){ ...... }
やはり変な使い方でしょうか
285:Now_loading...774KB
08/08/18 17:49:09 nfZWJrk4
長文失礼します。
●環境 Adobe Flash CS3 ProfessionalでAS3.0使っています
●コード(2.swfに書き込んでいるコードです)
import flash.display.MovieClip;
import flash.display.Loader;
import flash.events.EventDispatcher;
var ldr:Loader = new Loader();
this.addChild(ldr);
//Button_btn5をクリックで3.swfを読み込む
this.Button_btn5.addEventListener(MouseEvent.MOUSE_DOWN,func01);
function func01(e:MouseEvent):void {
ldr.load(new URLRequest("3.swf"));
}
//テキストの表示
var theText:String;
theText = "表示するテキスト";
var theTimer:Timer = new Timer(50);//タイマーの設定
theTimer.addEventListener(TimerEvent.TIMER, onTick);
var myTextField:TextField;//以下テキストフィールドの設定
myTextField = new TextField();
※以下x.y座標などの設定(略します)
//フォーマットの設定(略します)
myTextField.defaultTextFormat = myFormat;
addChild(myTextField);
※以下Timerの設定(略します)//end
ページごとにそれぞれswfファイルを作成して、ボタンのクリックによってそれぞれのswfに移動するコンテンツを作成しています。
2.swfを読み込んだとき、「//テキストの表示」以下のコードによって1文字ずつテキストを表示するのですが、Button_btn5をクリックして3.swfを読み込んだとき、2.swfで表示されたテキストが3.swfに表示
された状態となってしまいます。
3.swfやその他のswfを読み込んだときに、このテキストが表示されない状態にしたいのですが、どうすればよろしいでしょうか?swfファイルの読み込み方がまずいのでしょうか?
改善方法をご存知の方、よろしくお願いします。
286:Now_loading...774KB
08/08/18 17:51:05 3rh6DCFZ
>>284
なるほどーそういう使い方なら別に変ではないと思いますよ
287:Now_loading...774KB
08/08/18 17:55:31 XiIEBvpl
>>285
addChild(ldr)をaddChild(myTextField)より後に書くか、
SetChildIndexでmyTextFieldの重なり順を変えるか、
func01でmyTextField.visible = false とするかしてみたらどうでしょうか
288:Now_loading...774KB
08/08/18 18:01:26 3rh6DCFZ
>>285
3.swfを読み込んだLoaderがTextFieldより深度が深くなってしまうという認識でいいですか?
Event.COMPLETEイベントを使って3.swfを完全に読み込んだあとにaddChildしたらいいかも
ムリやり消したいならvisibleをfalseにするとか
289:Now_loading...774KB
08/08/18 18:01:56 nfZWJrk4
とりあえず、addChild(ldr)をaddChild(myTextField)より後に書くことにより解決しました。
お早い回答ありがとうございます。
3つの方法がありますが、どの方法が一番利便性が高いのでしょうか?
290:Now_loading...774KB
08/08/18 18:13:14 nfZWJrk4
>>288
はい。TextFieldが一番前にきてしまうのです。
fanc01にmyTextField.visible = false;を加えたところ、ボタンをクリックすると
TextFieldは削除されたのですが、swfが読み込まれなくなりました…。
291:Now_loading...774KB
08/08/18 18:15:25 RRsF2cli
>>284
アホすぎで泣けたw
1000個のインスタンスのうち1つを選ぶのに
毎回毎回for eachで値を比較するわけだなw
292:Now_loading...774KB
08/08/18 18:40:31 NfD0Qby0
>>291
暑さで脳みそ溶けてないか?
293:Now_loading...774KB
08/08/18 18:43:08 RRsF2cli
>>292
まさか、そんな作りの買い物かご作ってるのか?
ASスレだから言うが、お前は無能だw
294:Now_loading...774KB
08/08/18 21:36:28 69F2CPZ/
ごく普通の考え方だと思うぞ?しかも結構初歩的で教科書的な。
どう勘違いしてるやら?
295:Now_loading...774KB
08/08/19 00:12:43 OnM4YQZu
291の問題点は日本語が読めないところだな
296:Now_loading...774KB
08/08/19 01:16:41 cYnpiDvP
Timerクラスで100ミリ秒前後でループさせているのですが、時間が安定しません。
どうにか安定させる方法はないでしょうか。
297:Now_loading...774KB
08/08/19 01:29:51 qevvbjcQ
>>296
無理。Flashプレーヤーはそのへんかなりいい加減なのよ。
高FPSにして、都度チェックするのと併用するのがポピュラーな手段だけど、それでも安定するとは言えない。
今後に期待するしかないのよ現状は。
298:Now_loading...774KB
08/08/19 02:04:36 cYnpiDvP
>>297
ループする間隔を長くすれば 全体で見たズレは少なくなりますか?
299:Now_loading...774KB
08/08/19 02:27:56 yFXjgqte
>>298
>>297は計測精度的なことをいっているが、
>>296の言い草ではおそらく
時計の表示タイミングのことぐらいの話だろう?
もしそうならTimerクラスじゃなくて
時間計測開始時の起動後ミリ秒を取得してこれを基準ミリ秒として
EnterFrameイベント毎に現在起動後ミリ秒を取得して
そのミリ秒と基準ミリ秒との差分が1000ミリ秒以上なら
1秒経過として時計の表示を更新するとともに
基準ミリ秒を+1000ミリ秒するようにすれば
フレームレートがよほど低く無い限り
見た目でのずれは
人間の目では感じることがなくなるよ。
Timerクラスは「ほぼ」指定したミリ秒間隔で実行するから
適度な遅延などあいまいな処理に使ったりで、
時計などには向かない。
ヘルプにもそう書いてあったはず。
時計の表示の更新に使うと最大で約指定ミリ秒×2の
表示のズレがどこかで生じる。
300:Now_loading...774KB
08/08/19 06:01:21 MNV9t+Mg
>>294
どの教科書に自分自身をキーにして自分自身を索引しましょうって書いてあるの?
普通はキーとデータの組み合わせだが
>>295
日本語が読めても無能では困る
301:Now_loading...774KB
08/08/19 08:14:06 qevvbjcQ
>>300
なにを勘違いしてるか分からんけど、こういうことでしょ?
ごくごく普通。
var cart:Dictionary=new Dictionary()
var item1:Object = {name:"商品A", price:500}
var item2:Object = {name:"商品B", price:300}
function addItem(item){cart[item]=item}
function removeItem(item){delete cart[item]}
function sum(){
var result=0;
for each(var item in cart)result+=item.price;
return result;
}
addItem(item1);
addItem(item2);
trace(sum()); //800
removeItem(item1);
trace(sum()); //300
実際の運用はCartクラスとItemクラスなんかを作って整理するのが多いんじゃないかな?
302:Now_loading...774KB
08/08/19 08:38:47 MNV9t+Mg
カートの中身の順番が不定な通販システム作るのかw
for in やfor eachはもれなく列挙することは保証しているが、
その順番については不定
303:Now_loading...774KB
08/08/19 09:11:16 qevvbjcQ
もう無能でいいよw
つきあいきれんw
304:Now_loading...774KB
08/08/19 12:35:31 6WSTXBPD
>>302
> カートの中身の順番が不定な通販システム作るのかw
> for in やfor eachはもれなく列挙することは保証しているが、
> その順番については不定
305:282=284
08/08/19 12:45:20 Tu77xjM1
自分のせいで荒れてしまってますね。すみません。
>>302
>>284で示した買い物カゴの例はあくまでイメージです。通販システムを作りたいわけではありません。
実現したいことはあくまで>>282に記述した
1.要素の登録
2.指定した要素の削除
3.登録された要素の列挙
です。
特定の要素を必要とする事はないので、ランダムアクセスは必要ありませんし、
中身の順番は不定で構いません。
どのような方法を用いるのが適切でしょうか。是非ご教授下さい。
306:Now_loading...774KB
08/08/19 14:16:10 5kuvsE+n
MNV9t+Mgはかわいそうな子
307:Now_loading...774KB
08/08/19 19:37:08 I9tAL0LM
質問です。少数値の計算は整数値よりも処理に負担がかかると聞いたのですが、毎フレーム少数値の計算を繰り返すとした場合、
それを防ぐために事前にMath.floorを使って整数にするときと少数のまま処理処理し続けるのではどちらの方が負担がかかるのでしょうか?
308:Now_loading...774KB
08/08/19 19:40:59 D4hib965
やってみればいいんじゃないでしょうか
309:Now_loading...774KB
08/08/19 20:07:34 V18lMoZN
D:\Flash\sample.swfがswf、D:\Flash\sample.htmlがhtmlだとします。
これでsample.htmlへアクセスしたときにD:\Flash\sample.htmlというパスを動的に取得したいのですが、どうすればいいでしょうか?
310:Now_loading...774KB
08/08/19 20:43:55 D4hib965
>>309
javascriptを使えばできたと思います
311:Now_loading...774KB
08/08/20 00:03:21 u1zcHG65
この場合は無理だと思います
312:Now_loading...774KB
08/08/20 11:55:36 rtbrbiHF
>>305
いまいちイメージが湧かないんだが、たとえばリストボックスとか、
複数のjpg画像で商品を表示しておいてそれを選択して確定ボタンを押すと
買い物かごエリアにその商品が表示されるとかなのか?
あと、指定した要素の削除にはランダムアクセスが必要だと思うぞ
313:Now_loading...774KB
08/08/20 11:59:37 xRczFEqI
Flash CS3/AS3.0で質問させてください。
Flash CS3にてMCシンボル
oya、koをそれぞれ作成し、oya内にkoを配置、"ko_mc"と命名。
oyaに以下のクラスをリンケージ
public class Oya extends MovieClip{
//コンストラクタ
public function Oya():void {
this["ko_mc"].koMethod();
}
//メソッド
public function oyaMethod():void {
trace("oyaMethod() called");
}
}
koに以下のクラスをリンケージしました。
public class Ko extends MovieClip{
//コンストラクタ
public function Ko():void{
}
//メソッド
public function koMethod():void {
trace("koMethod() called");
//parent.oyaMethod();
}
}
上記の状態で、Ko側からOyaのメソッドを呼び出したい場合、どのように
すればよいでしょうか。
koMethod()でコメントアウトしている書き方では以下のエラーが出力されます。
未定義である可能性のあるメソッド oyaMethod を、静的型 flash.display:DisplayObjectContainer の参照を使用して呼び出しました。
以上、よろしくお願いいたします。
314:Now_loading...774KB
08/08/20 14:10:22 2osAeMLk
>>313
親をこうして、
public class Oya extends MovieClip {
public var ko_mc:Ko
public function Oya():void {ko_mc.koMethod();}
public function oyaMethod():void {trace("oyaMethod() called");}
}
子をこんなで
import flash.display.MovieClip
public class Ko extends MovieClip {
private var oya_mc:Oya;
public function Ko():void {oya_mc = Oya(parent)}
public function koMethod():void {
trace("koMethod() called");
oya_mc.oyaMethod();
}
}
で、[パブリッシュ設定]の[ActionScript3.0]の「ステージのインスタンスを自動宣言」
のチェック外せばいけるんじゃないかな?
parentは使わないで、Oya型のプロパティを用意して、そこにparentをOyaでキャストしたのを入れて置いて使う感じ
315:Now_loading...774KB
08/08/20 14:30:51 xRczFEqI
>>314
教えていただいた方法で意図した動作が可能になりました。
キャストという方法があるんですね。
後、「ステージのインスタンスを自動宣言」というパブリッシュ設定項目に
ついてもまったく認識してませんでしたので、キャストとともに
ちょっと勉強しようと思います。
ありがとうございます。
316:Now_loading...774KB
08/08/20 16:31:47 RIt+z6DK
AS3.0です。contents.flaとControll.asを作りcontents.swf内のボタンを押したときの動作(再生と一時停止)をControll.as内に定義したいと思ってます。
contents.flaのフレームアクションは以下のとおりです。
import Controll;
var obj:Controll = new Controll();
addChild(obj);
bt_play.addEventListener(MouseEvent.CLICK, bt_playClick);
bt_pause.addEventListener(MouseEvent.CLICK, bt_pauseClick);
function bt_playClick(eventObj:MouseEvent)
{
obj.Play();
}
function bt_pauseClick(eventObj:MouseEvent)
{
obj.Pause();
}
続きます。
317:316
08/08/20 16:34:40 RIt+z6DK
Controll.asの中身は以下のとおりです。
package {
import fl.motion.Animator;
import flash.display.*;
public class Controll {
static var animeobj = new Animator();
//一時停止
public static function Pause():void {
animeobj.pause();
}
//再生
public static function Play():void {
animeobj.resume();
}
}
}
以上を実行すると
ArgumentError: Error #2012: Controll クラスをインスタンス化することはできません。
at _fla::MainTimeline/_fla::frame1()
とエラーが出ます。どのように直したらよいでしょうか。
よろしくお願いします。
318:Now_loading...774KB
08/08/20 16:51:52 YfXV1Gub
おれはAS3は全く解らないから聞き流してくれかまわない。
勘で、addChildいらない。といってみる。
319:Now_loading...774KB
08/08/20 17:32:02 XCrjyQ50
addChildももちろんいらないけどstatic関数呼ぶならインスタンスから
関数呼んじゃだめ。Controll.Play() Controll.Pause() とか。
320:Now_loading...774KB
08/08/21 03:48:05 yiuNeS3H
質問します。エクリプス+ASDTで作成環境を整えたいのです。
mtascで文法チェックすると警告・エラーは英語で出されますが、
これを日本語化できるのであればヒントをください。
もしくは、Flash8basicを持っているので、
これのコンパイラを利用して文法チェックできないものでしょうか。
というかどんな環境で制作していますか。
windowsXP、エクリプスはv3.2、ASDTはv0.0.8ビルド5、mtascは1.0.0
プレアデス最新版(1.2.2p3)で日本語化しています。
321:Now_loading...774KB
08/08/22 00:06:05 zkeJO+ji
MX2004で質問
トップから二階層目のMCにon(release)でトップの他のフレームに飛ぶ様にしてるんですが全く動作しません…
記述自体は間違ってないと思います。
MX2004って二階層目に記述しても無効みたいなルールがあるんでしょうか?
宜しくお願い致します
322:Now_loading...774KB
08/08/22 00:54:38 jW57sSMW
>>321
そんなルールはないよ
323:Now_loading...774KB
08/08/22 00:56:06 w9VqVE9w
『君の担当地区の商品の売り上げが
伸び悩んでいると聞いたが』
「僕の売り方は間違って無いと思います。
この地域は商品が売れない雰囲気みたいなものがあるんでしょうか?」
『おめーのせいだよ!』
324:Now_loading...774KB
08/08/22 09:57:37 5tNfiIZj
>>321
>記述自体は間違ってないと思います
まずはソースを書けwその上で先生方に間違いを指摘してもらうんだ
325:Now_loading...774KB
08/08/22 10:56:49 X14a+UCt
多分記述の間違いじゃないと思うから書かなくていいよ。
てか一番の間違いはマルチポスト
スレリンク(swf板:927番)
326:321
08/08/22 12:56:09 zkeJO+ji
なぜか二層目以降全く動作しないんですよね…(>_<)
記述自体は他の階層でも試したので問題ないはずです。
入れ子になってるMCを動かしてるからいけないんですかね?
327:Now_loading...774KB
08/08/22 13:23:38 cMsFsw4M
わざわざこのスレで俺の記述は問題ないから動かない原因を教えろというのはおかしな話だな
328:Now_loading...774KB
08/08/22 13:26:24 5tNfiIZj
>>326
問題ないなら動くだろwどうせ、path違うとかだろw
ソースと階層を正確にうpするかflaうp汁(2度目)
329:Now_loading...774KB
08/08/22 14:13:47 JjVXPpyP
このスレにエスパー様はいらっしゃいませんか?
330:Now_loading...774KB
08/08/22 14:19:39 c7ZxEblZ
>>321の一番の間違いというか問題はコミュニケーション能力の圧倒的不足
相手に理解してもらおうという意思が微塵も感じられない
331:Now_loading...774KB
08/08/22 15:25:00 WtXBlOy9
パソコン初心者によくある
『何が分からないのか分からないので教えて』
ってのに良く似ているな。
ソース書けよ。おまいのソースなんて隠すほどのレベルじゃないぞ?
332:Now_loading...774KB
08/08/22 16:11:50 CeeCXtCJ
どうやら321はソースとマルチポストの意味が解らないみたいだな?w
てかこれ超基本的質問スレとかでちょくちょく出てくるアレだろ?
onハンドラ入れ子にしてるとかだろ?十中八九。
333:316
08/08/22 16:48:57 z22XAMEC
>>318-319さん
どうもありがとうございます。結論から言うと解決しました。
addChildを無くし、static関数を正しく呼び出しました。
さらに、メインタイムラインの再生と停止は
クラス名.Play(root);で呼び出し、呼び出す関数にメインタイムラインを引数として渡しました。
Play(TimeLine:Object){
TimeLine.play();
}
ありがとうございました。
334:326
08/08/23 13:31:00 OkbceWQc
2ちゃんやってるキモオタ共うるせんだよw
無事一人で解決できました(^^)
妄想する事くらいしかできないオタクに聞いたのが間違いだったww
335:Now_loading...774KB
08/08/23 14:54:02 KlaUc0rO
しょうがないよ
妄想しないと何言ってんのかさっぱりわからなかったし
336:Now_loading...774KB
08/08/23 17:18:43 tVCkIdTa
321は結局なにも学ばなかったようだ。
337:Now_loading...774KB
08/08/23 17:45:24 L9gNpKx4
>>334
記述間違い以外が原因だったなら
どう解決したか書いてほしいです
338:Now_loading...774KB
08/08/24 00:02:57 OkbceWQc
原因は僕の頭にありました。フハ…フハハ ヒィー!
てか2ちゃんって思ったより誰ものってこないんですね(ToT)
339:Now_loading...774KB
08/08/24 12:34:17 SkLYaNjg
いろんな意味で残念だ
340:Now_loading...774KB
08/08/24 13:41:34 osdZAY+r
>>334
質問したときは、最終的に解決した方法を書くのが礼儀な
341:Now_loading...774KB
08/08/24 21:28:24 AwhjOw8M
Windows Flash Pro 8 AS2.0 の環境で、
外部テキストファイル(内容:1_name=テスト)から値を読み込みたくて、
1フレーム目:
_global.ranking = new LoadVars(); //宣言
_global.ranking.load("ranking.txt"); //ロード
3フレーム目:
if(ranking.loaded == false) //ロード終了まで待機
{
gotoAndPlay(2);
}
とし、その直後(4フレーム目)に、その値を確認しようと、
trace(_global.ranking.1_name);
とするとシンタックスエラーが発生してしまいます。
--------------------------------------------------
')' または ',' が必要です。
trace(_global.ranking.1_name);
--------------------------------------------------
ダイナミックテキストボックスを用意し、変数に_global.ranking.1_nameを
設定すると、テキストボックスには"テスト"と出てくれます。
解決方法、お分かりの方おられましたらよろしくお願いします。
342:Now_loading...774KB
08/08/24 22:58:24 qy+0FvkH
>>341
変数名は数字からはじまっちゃダメ。
ヘルプなどで識別子についてのルールを読むように。
それと、せっかくLoadVars使ってるんだから、フレームループじゃなく
リスナーで読み込み完了を検知して処理するほうがいいと思う。
343:Now_loading...774KB
08/08/24 23:08:42 USMKZNWk
最初の読み込み中に何%読み込んだかゲージが伸びていくようにしたいんですが、
これは別のフラッシュを用意すればいいんでしょうか?
実装方法が書いてあるページが見つけられませんでした・・・。
344:Now_loading...774KB
08/08/24 23:38:54 AwhjOw8M
>>342
おお どうもありがとうございます。
基本的な所でのミスで、ご迷惑をお掛けしました。
リスナーについては、また調べてみます。
本当にありがとうございました。
345:334
08/08/24 23:48:59 f8zvjK33
>340
礼儀なって・・・・てめーら何も教えてくれてねーだろwww
あつかましすぎんだよww
前も色々教えてやったのに礼の一つもなかったし2ちゃん住人には教えたくないわ
346:Now_loading...774KB
08/08/25 00:38:48 af0FzEDU
2ちゃんどうこうに限らず、こういう所は基本的にボランティアなんだから、
こっちが何かをあげたから何かを貰うというような考えは通じないんだよ。
お礼がないと何もしないのはボランティアじゃないし、行為を強要するのもボランティアじゃない。
そういうことがしたいなら、有料で答えが返ってくるサービスがあるから、
これからはそちらを利用するといいんじゃないかな?
347:Now_loading...774KB
08/08/25 00:59:59 ncTXIUtK
>>343
プリローダー flash で検索。
パーセントテキスト表示が出来てるならそんなに難しくないと思う。
>>345
>>321の質問には>>322が正確に解答してるんだがw
それ以前にzkeJO+jiはマルチポストしたまんますっとぼけてるんだがw
2chにも一応ルールがあるからルールを理解する気がないやつは来なくていいぜ。
348:Now_loading...774KB
08/08/25 01:42:28 T7/OLNTl
>>347
ありがとうございます!
調べてみます
読み込みバーで検索してました
349:Now_loading...774KB
08/08/25 09:26:09 AqR+AMLl
AS3で開発しています。
1秒に1回、URLLoaderでデータをダウンロードするアプリを作成しているのですが、
1回ごとにURLLoaderをnewしているので、使用メモリがガンガン上がっていきます。
物理メモリを食いつくしたぐらいのタイミングでガベージコレクションされるのですが、
その間CPU使用率が100%になり、処理が止まってしまいます。
URLLoaderをnewしないで再利用しようとしましたが、load関数を呼んでもリスナーは呼ばれませんでした。
何か良い方法はないでしょうか?
350:Now_loading...774KB
08/08/25 12:46:13 WXO+iNXi
>>349
設計からして間違ってるだろw
1秒に1回DLしなければならないって仕様は必要なの?
351:Now_loading...774KB
08/08/25 16:15:32 9n6bela/
配列に入れといてロード完了したのから使いまわせば?
352:Now_loading...774KB
08/08/25 19:34:29 iY8PIZ+U
flaファイルを開かなくても、swfファイルの縦横サイズが簡単にわかる方法はありませんか?
353:Now_loading...774KB
08/08/25 20:27:41 GvVA7x4R
>>352
このスレで聞くって事はASで縦横サイズ調べたいってこと?
354:345
08/08/26 00:11:28 BFdvFxed
お前ら俺のちんぽしゃぶれやウヒィ
ワイは猿や…
355:Now_loading...774KB
08/08/26 00:19:34 9jrVTYM2
ここで聞くことじゃないかもしれませんが、AS3のソースを難読化するツールを作ってます
文字列部分をてっとり早く難読化するにはどうしたらいいのでしょうか?
356:Now_loading...774KB
08/08/26 01:07:42 2E+5wvcW
352ですが、スレ違いでした。失礼しました。
357:Now_loading...774KB
08/08/26 01:56:41 +z2Qjr20
>>355
手っ取り早くやるなら文字コードの数値表現に置き換えるとかじゃない?
\u00xxみたいな
358:Now_loading...774KB
08/08/26 05:20:42 GNdAwumD
>>355
ちょうど自分も作っているとろこだ。
ひとまずは、コメント、改行、スペース消し辺り。
ファイル、関数、変数名変換は少し苦労しそう。
関数の内容展開も実装したい。
359:Now_loading...774KB
08/08/26 07:42:24 feXkVyDS
>>355
たしかニコニコ動画で難読化ツールを作る動画が上がっていたような希ガス
難読化というよりかは、デコンパイラ(というのが正しいのか解らんがその手のツール)
を騙すような仕組みになっていた。
その辺を作れる人はバイトコードでいぢれるそうで、正直ついていけんw
360:Now_loading...774KB
08/08/26 08:33:23 9jrVTYM2
>>357
ありがとうございます!
やってみます
>>358
おお、仲間が!
簡単だと思ってはじめたら継承とか配列からのメンバ呼び出しとかで
けっこう大変ですよね
>>359
ぬは、そんなものが・・・
バイトコードでいじれるとはすごい
361:349
08/08/26 11:07:57 b+xqqrEg
>>350
サーバ上のDBにたまっていくログをリアルタイムに表示するアプリなので、
他に手段が無いのです…
>>351
使い回してもload関数を呼ぶだけでメモリを消費するみたいです。
362:Now_loading...774KB
08/08/26 12:57:52 BFdvFxed
みそっぱちツールって知ってます?
あれ使ったらASなんて覚えなくても一発ですよ
363:Now_loading...774KB
08/08/26 15:47:15 c8bqOL8i
AS2でかいてます
外部読み込みのテキストのx行目からy行目までを表示させたいの
txt.text.split("¥r")とかで総行数とか調べれるのはわかったけど
結局どうしていいのかわからんです
たちけて
364:Now_loading...774KB
08/08/26 16:33:04 Kyx4ztpd
text1~text10までの変数に一度に代入したいのですが記述がうまくいきません。
for(i=1;i<=10;i++){
eval("text"+i)=a;//この部分が駄目でした
}
左辺のevalが原因と思いますが、他に良い方法が思いつきません。
text1=a;
text2=a;
……
とやっても良いのですが行が増えるのであまりしたくないんです。分かる方がいれば是非お願いします。
365:Now_loading...774KB
08/08/26 16:36:11 mbrVPtgS
>>364
「配列アクセス演算子」でぐぐる。
366:Now_loading...774KB
08/08/26 16:46:06 Kyx4ztpd
>>365
即レスありがとうございます。おかげさまでできました!
this["m"+i]=a
上の記述でできました!ありがとうございました。
367:Now_loading...774KB
08/08/26 16:58:45 GpaeuEGq
>>320です。みなさんのAS作成環境について教えてください。
もう一度お願いします。
368:Now_loading...774KB
08/08/26 17:05:57 A4l4OPRU
>>363
gaibuTxtLoad = new LoadVars();
gaibuTxtLoad.load("gaibu.txt");
gaibuTxtLoad.onData = function(dat) {
if (dat.indexOf("\r\n") != -1) {
gaibuTxtLine = dat.split("\r\n");
} else if (dat.indexOf("\n") != -1) {
gaibuTxtLine = dat.split("\n");
} else if (dat.indexOf("\r") != -1) {
gaibuTxtLine = dat.split("\r");
}
trace("2行目から3行目まで:"+gaibuTxtLine[2]+"\n"+gaibuTxtLine[3]);
trace("総行数:"+gaibuTxtLine.length);
};
369:368
08/08/26 17:07:42 A4l4OPRU
trace("2行目から3行目まで:"+gaibuTxtLine[1]+"\n"+gaibuTxtLine[2]);
だった
370:Now_loading...774KB
08/08/26 17:37:44 xVCJ80hp
>>369
それじゃ何百行と取り出したいようなとき酷いことになるし、
普通にsliceしてjoinの方が楽じゃない?
371:368
08/08/26 18:27:12 A4l4OPRU
こうですね
//2行目から3行目まで
startLine = 2;
endLine = 3;
out = gaibuTxtLine.slice(startLine-1, endLine);
trace("2行目から3行目まで:"+ out.join("\n"));
372:Now_loading...774KB
08/08/26 18:29:25 BFdvFxed
みそっぱちツール使ってみました!
こんなツールあったんですね
373:Now_loading...774KB
08/08/26 19:23:59 jdjggU2P
共通関数(common.as)を作りました。
↓↓↓↓↓↓
public class common {
public static function hoge():uint {
return 123;
}
}
利用する側(同じフォルダ)でimport common;って書いて
hoge();したんですが、
「未定義である可能性が高いメソッドhogeの呼び出しです。」
と出ます!! どこがおかしいのでしょうか!?
374:Now_loading...774KB
08/08/26 19:37:04 k74bQ8KG
>>373
パッケージって知ってる?
375:Now_loading...774KB
08/08/26 20:12:04 jdjggU2P
>>374
package {
public class common {
・・・・・
}
}
って書いてますが・・・・
同じフォルダならこれでいいのかなって思って・・・
376:Now_loading...774KB
08/08/26 20:44:38 a5iQ1ZnH
common.hoge();ってやった?
377:Now_loading...774KB
08/08/26 20:55:24 jdjggU2P
>>376
common.hoge();で出来ました!
でもできればhoge();ってやりたいなあ~!??
getとかsetとかって書けばできるんのかな・・・・・
378:Now_loading...774KB
08/08/26 20:58:55 9jrVTYM2
1つのファイルで1個の関数しか出来ないけど
Hoge.asってファイルで
package {
public function Hoge():uint {
処理;
}
}
とやれば
Hoge();の呼び出し出来るようになるよ
379:Now_loading...774KB
08/08/26 21:00:15 9jrVTYM2
↑classにせずに関数だけのファイルってことです
380:Now_loading...774KB
08/08/26 21:11:36 jdjggU2P
>>378
できた~!! な・なるほど~・・・
関数沢山ある場合はその数分ファイル
作らなきゃいけないってことですね・・・・!?
381:Now_loading...774KB
08/08/26 21:12:53 a5iQ1ZnH
>>377
getter/setterはメソッドをプロパティのように扱えるようにするためのものだよ
382:Now_loading...774KB
08/08/26 21:23:25 a5iQ1ZnH
>>378
ロジック的にそれはどうなんだろうか・・・w
>>380
そもそもなんでcommon.hoge()と書きたくないの? (ちなみにクラス名の最初は大文字で書くこと)
確かにタイプ量が多くなってイヤとか、コードが長くなるとかあるけど
あとから読み返したときに突然hoge()なんてでてきたらわけわからなくなるよ?
common.hoge()と書くことによって一発でcommonクラスのstaticメソッドだと判断することができる
可読性ってのは結構大事だよ
あと、FlashCS3はカスだからできないけど、FlexBuilderやフリーのFlashDevelopなんかは
カスタムクラスのコード補完機能がついてるからタイプ量はあんまり変わらないはず
383:Now_loading...774KB
08/08/26 21:31:23 YS2tUzSn
URLリンク(www.coedobrewery.com)
上でやってる、写真の出方ってどうやるんでしょうか?
384:Now_loading...774KB
08/08/26 22:54:51 9jrVTYM2
>>382
た、確かにw
でも頻繁に使う関数(可変引数を渡すTrace)とかはこうしちゃってる
385:Now_loading...774KB
08/08/27 06:50:04 25in53zB
>>361
そういうのはソケットつかうんじゃねーのか?
386:Now_loading...774KB
08/08/27 11:15:46 J/nr7fkD
actionscript3.0を使用しています。
コード(0.swfに記述しています)
import flash.display.MovieClip;
import flash.display.Loader;
import flash.events.EventDispatcher;
var ldr:Loader = new Loader();
this.addChild(ldr);
this.stop();
this.start_btn.addEventListener(MouseEvent.MOUSE_DOWN,func01);
function func01(e:MouseEvent):void {
ldr.load(new URLRequest("1.swf"));
}
//end
このとき、startボタンをクリックすると0.swfの上に1.swfが重ねられて表示されますが、1.swfを読み込んで表示した後に、1.swfの下にある0.swfを消去する方法はありませんでしょうか?
ご存知の方、よろしくお願いします。
387:Now_loading...774KB
08/08/27 11:22:55 dVidHVDW
>>383
Flash使ったこと無いけど、
全面白いオブジェクトを手前に表示(透明状態)させておいて、
そのalpha値を画像の切り替え前後で急激に変化させてるんじゃないかなあと想像
画像: 画像A → 画像B
白いオブジェクトのalpha値: 0→0.5→1→0.5→0
想像なので試してもないし保証も無し
388:Now_loading...774KB
08/08/27 11:35:28 nKJjPubh
>>383
プロパティのカラー 詳細でアルファとRGBの値を弄ってるだけなんじゃ?
389:Now_loading...774KB
08/08/27 12:08:20 MK9Vk3wy
blendとalphaっぽいね
390:Now_loading...774KB
08/08/27 12:32:30 Z00E6Rmg
なるほど。。。
前者の方法だと例のサイトのように抑揚がつかないんです。
後者だとFPSがかなり下がってしまって。。。
391:Now_loading...774KB
08/08/27 12:43:45 nMjtOeRo
ActionScript3.0で質問させてください。
16進数を扱う場合には0xFFFFFFのように
先頭に0xをつけることで16進数であることをあらわしますが
2進数を扱いたい場合はどういった表記ルールがありますでしょうか。
FlashCS3のヘルプを見てもそれらしい記述が見当たりませんでした
初歩的な質問で申し訳ありませんがお教えいただけないでしょうか。
392:Now_loading...774KB
08/08/27 12:55:56 MK9Vk3wy
>>390
キャッシュみると別ファイルだから、スクリプトでリアルタイムに変化させずに
単にムービーに変換したのを流してるぽい
>>391
ないんじゃない?
AS3から8進数の0表記もなくなったって書いてるし。
393:Now_loading...774KB
08/08/27 13:13:40 g2p94euP
>>383
ブレンドの加算だと思うよ
394:391
08/08/27 14:22:10 nMjtOeRo
>>392
やはりないんですね。
チョット別の方法を模索してみます。
レスありがとうございました。
395:Now_loading...774KB
08/08/27 17:09:54 Z00E6Rmg
383です。
加算やブレンドで表現出来ました。
例のサイトの様なトランジションをつけて背景に読み込んだんですが、サイズをステージの大きさに合わせて可変させるようにすると、かなり処理が重くなって染まします。
AS2で書きました。
リサイズ処理
this.onResize = function() {
boxResize();
};
Stage.removeListener(this);
Stage.addListener(this);
function boxResize():Void{
var boxRate:Number = imgBox._height/imgBox._width;
enterBtn.posY = Math.floor(Stage.height-320);
enterBtn.posX = Math.floor(Stage.width-122);
imgBox._width = Stage.width;
imgBox._height = Stage.width*boxRate;
if(Stage.height>imgBox._height){
imgBox._height = Stage.height;
imgBox._width = Stage.height/boxRate;
}
};
imgBoxというのに作ったムービーを読み込んでます。
他のちょっとした動きのメニューなどがかなり重くなってしまいます。
396:Now_loading...774KB
08/08/28 00:16:56 HIPE1BF0
フラッシュでおまんこに肉棒がつきささるフラッシュをつくりたぃんですがどうしたらいぃんですか?
あふれ出すマン汁もリアルに表現したいです
397:Now_loading...774KB
08/08/28 04:25:46 rdqOZFTz
>>394
むしろ2進数表記しなくちゃいけない場面ってどんなの?
何がしたいかが分かれば違う解決法も普通に提示できるかもしれない
>>395
AS3に切り替えるってのはだめ?
少なくともAS2で同じ処理書くより断然速いよ
398:394
08/08/28 10:37:29 D4/u9BBw
>>397
AS3.0の学習を兼ねてゲーム的なものを作ってます。
やりたかったことは、キー入力に対応したキャラの移動処理の部分で
斜め移動(2キー以上同時入力)の検出に2進法をつかった以下のような
処理を考えてました。
var val:Number = 0;
if(右キー押下なら){
val += 0001;
}
if(上キー押下なら){
val += 0010;
}
(中略)
swith(val){
case 0001:
右移動処理
break;
case 0011:
右上移動処理
break;
(後略)
同様の処理は10進数でも可能だったので、現在はそのようにしております。
他にスマートな方法がありそうにも思えるのですが…。
399:Now_loading...774KB
08/08/28 11:10:26 sCtlFI1r
>>398
こんなのはどうでしょうか
参考程度にどうぞ
const up:int = 1;
const right:int = 1 << 1;
const left:int = 1 << 2;
const down:int = 1 << 3;
var val:int;
//例1:左下同時押し
val = left | down;
//例2:右キー単独押下
val = up;
//例3:上キー押下追加
val |= right;
switch(val)
{
case right:
//右移動処理
break;
case right | up:
//右上移動処理
break;
}
400:Now_loading...774KB
08/08/28 11:11:05 /ttrGSMI
if(右キー押下なら && 上キー押下なら){
上移動処理;
右移動処理;
}
じゃだめなん?
401:399
08/08/28 11:11:48 sCtlFI1r
すみません訂正
//例2:右キー単独押下
val = right; //upになってました
//例3:上キー押下追加
val |= up; //rightになってました
402:Now_loading...774KB
08/08/28 11:48:23 D4/u9BBw
>>400
レスありがとうございます。
その方法だと斜め移動時と上下左右移動時を比較したときに
1フレームあたりの移動距離が変わってしまう(斜め時の方が速くなる)のが
今作成中のものでは問題となるため、今回は採用できませんでした。
>>399
レスありがとうございます。
ビット演算については正直放置してたのですが、調べてみたところ
もともとの処理のイメージに近い記述が可能なようですね。
ビット演算の用法についてチョット学習をすすめていこうと思います。
403:Now_loading...774KB
08/08/28 22:35:54 rtj/VMTN
>>397
AS3は書けないんですよね。。。これを機に勉強するようにします。。。
404:Now_loading...774KB
08/08/29 04:41:10 XbYxuVwl
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)
PCへの負荷で質問です。
ある処理を0.05秒毎にやりたいとき、その処理をフレームアクションで書いて20fpsと
する時と、setInterval()で50ms毎に行う場合とでは、どちらがPCの負荷として軽く
なるのでしょうか?
Flash開発用PCはCore2Duoの3GBなので多少の負荷には耐えられますが、そうで
ないPCの動作を考え、質問しました。
405:Now_loading...774KB
08/08/29 07:49:41 g253lIgq
>>404
負荷自体は変わらんが、ある処理が重い画面描画を伴うとかだと
当然fpsの数値が影響する
406:Now_loading...774KB
08/08/29 14:16:15 067/jyDZ
>>404
負荷がかかった場合を考えるなら、どちらが軽いかなんてどうでもいいことではなく、
実際に負荷がかかっても問題ない動きにするにはどうしたら良いかを考えた方がいいよ
想定する低スペックなPCがなくても、重い処理の代わりに適当な待機処理を時間を変えながら挟んで、
長くかかってもちゃんと動くかどうかシミュレートすればOK
407:Now_loading...774KB
08/08/29 16:36:15 ubRo66Sb
>>405-406
なるほど。さんきゅうです。
408:Now_loading...774KB
08/08/30 01:12:05 PuG3gNuJ
WindowsXPでFlash8-Proを使っています。
ランダムな値を監視して、それが基準値を超えたら音が鳴るようなASを書きたいの
ですが上手くいきません。下は基準値を80にして、Beep音を鳴らすようにしています。
(すいません、一応ASの全文を貼りました)
Sound0 = new Sound();
Sound0.attachSound("beep.wav");
//
this.onEnterFrame = function() {
volume0 = Math.random()*100; //0~100の間のランダム値
//
if (volume0>80) {
trace("Sound0");
Sound0.setVolume(volume0); //音量はそのときのランダム値
Sound0.start();
}
};
どうしたら良いでしょうか?
beep.wavのリンケージは確認しています。
409:Now_loading...774KB
08/08/30 01:34:34 6t+3clUJ
>>408
やってみたけど上手くいったよ
410:408
08/08/30 02:50:49 PuG3gNuJ
>>409
レス有難うございます。
原因が分かりました。リンケージ確認が不十分でした。
AS上では Sound0.attachSound("beep.wav"); と書いていますが、
識別子の方に拡張子「.wav」を書いていませんでした。
411:Now_loading...774KB
08/08/30 16:04:46 alZNorf2
よくRPGの戦闘突入にガラスが割れた感じで戦闘に入るエフェクトがあると思いますが、あれをAS(SWF7)で再現することはできますか?検索の仕方が悪いのかいくら検索してもでません。分かる方がいればお願いします。
412:Now_loading...774KB
08/08/30 20:50:33 k46PNrWv
それはASの問題ではないと思いますが?
ゲーム製作技術等で聞いて下さい
413:Now_loading...774KB
08/08/30 20:55:47 alZNorf2
ASが分からないからこのスレで聞いているんですが・・
414:Now_loading...774KB
08/08/30 20:57:37 DBikczHq
>>412は頭悪杉
ゲームのエフェクトをFlashで
やりたいってことだろうよ
415:Now_loading...774KB
08/08/30 21:36:48 CPmq3bky
あんなエフェクト、AS使わなくても出来るじゃん
ASよりマスクを活かしたほうが楽だと思う
416:Now_loading...774KB
08/08/31 01:36:36 jDjmDkpi
アルゴリズムの問題だからそういうスレで聞いた方が早いだろ
>>415のいうようにASじゃなくてもできるし、どちらにしてもスレ違い
>>414は頭悪杉
417:Now_loading...774KB
08/08/31 02:16:45 z86i8kxI
マスクでどうやってやるんだ?
複数のMCが置いてある状態から
全体をガラスが割れる感じにするんだろ?
BitmapとMatrix使って、
計算速度を考えるとAS3でやるのが一番で
SWF7じゃBitmap使えないから無理だと個人的に思うのだが
418:Now_loading...774KB
08/08/31 03:10:48 kEwlxsqo
てかソフト自体のエフェクト機能にそういうのあった気がするぞ
419:Now_loading...774KB
08/08/31 13:31:58 oCTpVupL
良く分からんがパーティクル表現のこと?
検索が下手なのは、質問が下手ってのと同じだろうから、
語彙力身に着けるのが近道。
420:Now_loading...774KB
08/09/01 00:10:48 RNNFq7ev
リアルタイムでレンダリングしたものを
テクスチャにして飛ばすなら
Flash8でないと無理。
>>417
AS1でもAS3でもAPI内部の処理速度は同じだろ。
421:Now_loading...774KB
08/09/01 02:08:16 S42pfC23
>>420
AS1,2とAS3とではplayerのエンジンが違う
422:Now_loading...774KB
08/09/01 08:44:11 sqP7dL9d
質問です。
フルFlashサイトを作っているんですが
Flashファイルの1フレーム目にnoborderを記述し、htmlファイルには縦横100パーセントで設定しているんですが、自分のブラウザでみたらちゃんと縦横きれいに100パーセントで表示されてるんですが、他のブラウザで見たら大きく拡大して表示されてしまいます。
どなたかこの様な現像の解決方法をご存じないでしょうか?
宜しくお願い致します
423:Now_loading...774KB
08/09/02 14:01:00 P0oI6p2k
actionscriptのインクリメントで2ずつ増やす方法
424:Now_loading...774KB
08/09/02 16:53:33 ThoXrYs6
for(i=0;i<2;i++)n++;
425:Now_loading...774KB
08/09/02 17:55:09 INqlUf3c
>>422
Flashのバージョン
自分の使っているブラウザ名
うまく表示されない他のブラウザとはどれか
ちゃんと書こうね
426:Now_loading...774KB
08/09/02 17:59:31 P0oI6p2k
424どういう事ですか?nの値??
i=++i; ←こんな感じでお願いします。
427:Now_loading...774KB
08/09/02 18:21:22 ekR0fb/p
i += 2;
↑こうゆう事?
428:Now_loading...774KB
08/09/02 23:09:14 oiCr7SLs
427ありがとうそんな感じ( ^∀^)
429:Now_loading...774KB
08/09/03 02:32:49 GoFVdVhF
質問です。Flex 3 SDK+AS3でやっています。
public static const list:Object =
{
a:"xx",
b:"yy",
c:"zz"
};
これをa->b->cの順でfor文で走査したいです。
arr:Array = ["a", "b", "c"];という配列を作って、list[arr[i]]としたら出来るのですが、
この配列を定義するのが冗長な感じがします。
何か他のやり方があれば、ご教授いただきたいです。
よろしくお願いします。
430:Now_loading...774KB
08/09/03 04:54:35 Hu7fuEpR
>>429
キーの部分の順番付けが無いとどういう順番で表示するかわからんだろ
連想配列使うのなら冗長では無く必須
431:Now_loading...774KB
08/09/03 08:46:21 GoFVdVhF
>>430
そうでしたか・・・。お馬鹿な質問をしてしまってすいません
ありがとうございました
432:Now_loading...774KB
08/09/03 10:42:24 ciIfMOKQ
import flash.display.BitmapData;
var MainBmpData:BitmapData= new BitmapData(100,100);
var main:MovieClip = this.createEmptyMovieClip("MainMC", this.getNextHighestDepth());
MainMC.attachBitmap(mcPath.palette.MainBmpData, MainMC.getNextHighestDepth(), true);
この部分を、
main.attachBitmap(mcPath.palette.MainBmpData, main.getNextHighestDepth(), true);
こう書くと「タイプが一致しません。」とエラーが出るのはなぜなんでしょうか。
433:432
08/09/03 10:44:37 ciIfMOKQ
すいません。書き忘れましたがAS2.0です。
434:Now_loading...774KB
08/09/03 11:12:38 Hu7fuEpR
>>432
何故といわれてもそのまま「タイプが一致しないから」と返すしかないだろw
引数の型をチェックするとか、traceしてちゃんと値が入ってるか調べるとか汁
435:Now_loading...774KB
08/09/03 11:17:40 QPp3ylWS
環境)OS:WinXP-Pro,Mem=2GB,ソフト:FlashCS3-Pro(Player9)
hoge_mc.addEventListener(Event.ENTER_FRAME,function(){
/* スクリプトの記述 */
});
質問です。
この ENTER_FRAME のイベントを removeEventListener することって可能ですか?
436:432
08/09/03 11:38:13 ciIfMOKQ
>>434
trace(main);
//_level0.MainMC
trace(typeof(main));
//movieclip
とくに問題ないような気がするのですが
おれは何か勘違いしてるんでしょうか
437:Now_loading...774KB
08/09/03 13:10:56 YfC11098
>>435
つarguments.callee
438:Now_loading...774KB
08/09/03 20:14:37 QPp3ylWS
>>437
ありがとうございました。助かりました。
439:Now_loading...774KB
08/09/04 20:34:32 xNkMf3ka
AS3の文法について質問ですが、以下のようなスクリプトが例文で良く出てきます。
hoge.addEventListener(MouseEvent.CLICK, onMouseClick);
function onMouseClick(e:MouseEvent):void {
hogehoge.x = mouseX; //ここは何でも良いんですが
}
この関数名の次の引数「e:MouseEvent」について、その関数内で変数(e)を使っていないのに
ほぼ毎回必ず記述されていますが、これは文法上の決まりなんでしょうか?
これを書かないことで(使わないのに)、何か整合性が取れなくなるんでしょうか?
440:Now_loading...774KB
08/09/04 20:38:57 xNkMf3ka
あと、これはどうでも良いことなのかもしれませんが、変数の宣言でintとuintだけ
頭文字が小文字なのは何か理由(とか逸話)があるんでしょうか?
NumberとかBooleanとかStringとか全部頭文字が大文字なのにこの2つだけ小文字なのが気になります
441:Now_loading...774KB
08/09/04 21:19:08 2QekdjO0
軽く答えようと思ったけど、うまい説明が浮かばなかった
普通にAS3を使いこなしてるつもりでいたけど適当にやっていたようだ・・
442:Now_loading...774KB
08/09/04 21:42:03 Y9QIAA7S
ECMAScript 準拠でそうなってるんだよ
うん。適当に言ってみた
443:Now_loading...774KB
08/09/04 21:48:47 TWqANbo2
AS3.0がそういう設計だからっていうこと意外に説明できるかな
URLリンク(livedocs.adobe.com)()
>listener:Function ? イベントを処理するリスナー関数です。
>この関数は、次の例のように、Event オブジェクトを唯一のパラメータとして受け取り、
>何も返さないものである必要があります。
>function(evt:Event):void
444:Now_loading...774KB
08/09/04 23:12:56 Ckei/Cw6
>>439
文法上の決まりというよりは、サイト上の書き方を統一しているだけでしょう。
文法上はfunction onMouseClick():void{...としても問題なく通ります。
AS3の元となっているECMAScriptでは本来引数のない関数に値を渡すこともできますし、
その関数内で渡された引数を処理することもできるような仕様になっています。
>>440
伝統的なものです。AS3に限らず大抵の言語が何らかの言語の影響を受けて作られています。
完全なオブジェクト指向でない言語ではintやuintはクラスではありませんでした。
現在でもこれらはプリミティブ型と呼ばれ、他の型とは振る舞いが異なる場合があります。
intやuintのように伝統的な理由で小文字となってる型は、他にvoidがあります。
voidはundefinedという値のみを持つ特殊な型ですが、これも由来は他言語です。
445:439=440
08/09/04 23:28:48 xNkMf3ka
レスくださった方ありがとうございます。
慣習や伝統的な意味合いが強いんですね。勉強になりました。
確かに使わなくても引数を書いておいた方が、その関数がどこから
呼ばれているのかを探すときにわかりやすいような気もします。
446:Now_loading...774KB
08/09/05 00:46:40 eL48yTkR
>>444
書かなくてもコンパイルは通った
でもイベント起きなくなった
447:Now_loading...774KB
08/09/05 03:15:41 emEZhJKX
いいオチだw
448:Now_loading...774KB
08/09/05 03:22:36 L+1/upAK
そりゃイベントディスパッチャに渡すeventがなければ
メッセージ走らんだろう。
449:Now_loading...774KB
08/09/05 06:06:58 vaVogdaU
>>446
書き方が悪かっただけじゃないですか?
今手元で簡単に試したけどコンパイルは通るしイベントも起きます。
というかこの書き方で動かないようじゃECMAScript準拠が嘘になっちゃう。
>>448
この場合、関数定義での仮引数はあくまで仮引数であって、
EventDispatcherに渡すeventオブジェクトの実体作ってるわけじゃないですよ。
450:Now_loading...774KB
08/09/05 06:15:43 vaVogdaU
ついでに書けば>>444に書いてあるように引数のない関数を登録しても、
値はちゃんと渡されるのでargumentsを使えば普通にeventにアクセスできます。
・・・わりと一般的な知識だと思ってたので>>446見てちょっと焦ったw
451:Now_loading...774KB
08/09/05 11:11:36 eL48yTkR
>>446
なんか書き方悪いのかな・・・?俺も動きそうな気はするんだけど
これではイベント起こらない。e:MouseEventって書いたら起きる
ちなみにFlex SDK 3.1 AS3.0
public class Main extends Sprite
{
public function Main():void
{
var sp:Sprite = new Sprite();
sp.graphics.beginFill(0xaaaaaa);
sp.graphics.drawRect(100, 100, 200, 200);
sp.graphics.endFill();
sp.addEventListener(MouseEvent.CLICK, spClickHandler);
addChild(sp);
}
private function spClickHandler():void
{
FlashConnect.trace("mouseclick");
}
}
452:Now_loading...774KB
08/09/05 12:00:01 q/gLz4Ls
as1での質問です。
変数を含むムービークリップのフレーム数を取得したり
指定したフレームへジャンプさせたりしたいんですが
for(i=1;i<=5;i++){
tellTarget("/inu"+/:i){
trace(_currentFrame);
gotoAndPlay(12);
};
こういった書き方では出来ないんでしょうか?
初歩的な質問で申し訳ないですが、どういう事を
勉強すればいいかなどでも教えていただければと思います。
今まではthisを使っていたんですがflashlite1.1用なので
使えないみたいで…よろしくおねがいします。
453:452
08/09/05 12:52:47 q/gLz4Ls
452の質問をした者です。
もしかして、flash4の段階では
telltargetのターゲットに変数を入れることは出来ないんでしょうか…。
454:Now_loading...774KB
08/09/05 15:07:56 Sp68lRAI
FlexBuilder3でFlex3での質問です。
カスタムコンポーネントで設定した関数から
親コンポーネントの関数を呼びたいのですが、どうすればよいのでしょうか?
parentDocument とか parentApplicationとか使ってみたのですが
目的が違うもののようです。
よろしくお願いします。
455:Now_loading...774KB
08/09/05 16:03:35 VQ75W2pK
>>452
CS3のドキュメントみたら
「Flash Lite でストリングを連結するには、次の例に示されているように add 演算子を使用します。」
とのことなので
tellTarget("/inu" add /:i){
FlashLiteはよく知らんけど、試したところ一応これで動いた
456:Now_loading...774KB
08/09/05 16:25:57 0c6OXxbY
>>454
よくわからんけど単純にparentでは駄目なの?
親の方でaddChildしてからじゃないとnullだけど。
457:Now_loading...774KB
08/09/05 17:19:00 hym4ZNm2
親の表示リストに含まれている場合は
" 子オブジェクト.parent "で親オブジェクトが呼ばれるはずだけどね
458:Now_loading...774KB
08/09/05 17:32:07 Sp68lRAI
>>456,457
返答ありがとうございます。
parentでもだめなんですが、何か根本的な勘違いをしていそうな気がしています。
もう少し調べてみます。
ありがとうございました。
459:Now_loading...774KB
08/09/05 18:00:24 vaVogdaU
>>451
それがダメなのは登録しているのが関数ではなくクラスに所属するメソッドだからです。
ただの関数として宣言したものや、無名関数は引数がなくてもイベントが起きます。
Functionクラスにも書いてありますが、メソッドと関数は厳密には別物です。
460:454,458
08/09/05 19:02:33 Sp68lRAI
自己解決しました。
parentAppricationのドキュメントみると
Applicationを使用すると書いてありました。
やってみたところうまくいきました。
ありがとうございました。
461:Now_loading...774KB
08/09/05 21:37:53 JJ6BJ8bT
Math.min(64, a << 1 )
の << はどういう意味ですか?
462:Now_loading...774KB
08/09/05 21:44:02 Sp68lRAI
aを1ビット、レフトシフトしたものと、64とを比べて小さい方を返す
463:Now_loading...774KB
08/09/05 21:47:04 Sp68lRAI
うう、ごめん。<<だけでいいのか。
<<は左側にビットシフトする。
普通は倍になるけど、32ビットからあふれたビットがどうなるかは知らん
464:Now_loading...774KB
08/09/05 22:10:53 eL48yTkR
>>459
動きました。ありがとうございます
理由がいまいち分からないので勉強してきます
465:Now_loading...774KB
08/09/05 23:20:54 db5vsGq7
キャリーフラグが立つ
466:Now_loading...774KB
08/09/05 23:33:19 JJ6BJ8bT
>>463
俺の入っちゃいけない領域だってことは分かったw
Tks
467:Now_loading...774KB
08/09/07 23:01:08 xVVDcg5n
携帯ゲームやデコメアニメが作りたいんですが、
何かお勧めの本ってありませんか?
468:bgcolor
08/09/08 01:31:50 /E5TQ3To
こんばんは、質問です。
ActionScriptでHTMLの背景色を変更したいと思っています。
外部のJavaScriptファイルをGetURLで
読み込んでくるところまで解り、
試したのですがうまくいきません。
JavaScriptファイルの記述の仕方は下記で合ってますでしょうか?
(すごく短いので絶対足らないと思いますが・・・)
ちなみに、FlashMX、WINDOWS XPです。
すみませんが、お教えください。
function color() {
document.bgColor = "#ccffcc";
}
469:Now_loading...774KB
08/09/08 02:39:32 lUTMFn+/
>>468
JavaScript側はそれで背景色が変わると思います
外部のjavascriptファイルってのがいまいち分からないんですが
getURL("javascript:void(document.bgColor="#ccffcc")")
これで出来ませんかね
470:bgcolor
08/09/08 13:19:20 UGN1o8eb
>>469さま
ありがとうございます!できました!!
ここ何日か、本やネットを探しまくってましたが、やっと解決できました。
それで、情報が錯綜して勝手に外部のjavascriptファイル.jsファイルを
作ると思い込んでいました。ありがとうございました!
471:Now_loading...774KB
08/09/08 16:55:48 1nbwiOuH
ずっと引っかかってる事があるんですけど
var a:Array = new Array();
for (var i:uint = 0; i<100; i++) {
a[i] = i;
}
これと
var a:Array = new Array();
for (var i:uint = 0; i<100; i++) {
a.push(i);
}
これは同じですか?
使い分けとかありますか・・・?
472:Now_loading...774KB
08/09/08 19:04:13 MKRMzHnB
>>471
内部実装がどうなってるか分からないから確実なことは言えないけど、
普通に考えたらpushの方が実行速度は速いと思う
添字アクセスの場合、iがlengthの範囲内かチェックする処理が入った後に領域の拡張が行われると思うけど、
pushであれば範囲チェック無しで拡張が行えるわけだし
ただ、配列の長さがわかってるならnew Array(100)とした後に添字アクセスした方がより良い書き方だと思う
pushは数がわからないような場合に使えばいいんじゃないかな
473:Now_loading...774KB
08/09/08 21:20:10 rwcJevZ1
そりゃ他言語の知識だろ
474:Now_loading...774KB
08/09/08 22:00:53 o/QDWrOl
>>473
うそつけ
475:Now_loading...774KB
08/09/08 22:59:37 VB6m8COM
ASの配列なんてObjectのhashを再利用してるだけだし。
476:Now_loading...774KB
08/09/08 23:23:02 rwcJevZ1
その通り。領域なんて考えねーし。lengthなんてチェックしねーし。
クラステーブルにアクセスしない分速いし。
つーか速い遅いで論じてる時点でおかしな話だ。
477:Now_loading...774KB
08/09/09 00:13:14 FxLxuCwE
クリックした時に変化(A→B)するボタンを
マウスを離してからも、Bのままでいるには、どうすりゃいいんですか?
478:Now_loading...774KB
08/09/09 00:36:20 q5dEo94n
マウスボタンを押したまま、その領域を離れた場合ってことか?
479:471
08/09/09 00:46:33 95Ww71Pl
>>472
Tks. パフォーマンステスト検証してみます。
480:Now_loading...774KB
08/09/09 00:55:53 hSXn0beI
>>476
>配列エレメントに値を割り当てるとき (my_array[index] = value など)、index が数値でかつ index+1 が
>length プロパティよりも大きい場合、length プロパティが index+1 に更新されます。
って書いてあるよ
あなたが公式ドキュメントより正確な知識を有してるというなら、その通りかもしれないけど
>>479
気になったから今ソース見たけどやっぱりlengthチェックして拡張処理やってた
しかも添字アクセスがネイティブ(C++)で実装されてるのに対して、
pushは実装がASレベルでされてたから、直接アクセスの方が実は速いかも
ソースはtamarin
481:Now_loading...774KB
08/09/09 01:13:19 Omu1X1w5
ああ、そうか。lengthプロパティの値をチェックしなきゃならんのね。
それは配列っ「ぽく」見せるためのASの独特の処理。拡張してるわけじゃない。
もっと言えばASのArrayにとって添え字の1は文字列の「1」と対して変わらん
>>475が全て
var arr:Array=[];
arr[10]=1;
trace(arr.length);//11
for (var o in arr)trace("hoge"); //1回だけ表示
arr = [0,1,2]
arr[10]=1;
trace(arr.length);//11
for (o in arr)trace("hoge"); //4回表示
482:Now_loading...774KB
08/09/09 01:28:13 hSXn0beI
>>481
たぶんそれは今まで信じられてきた噂ってだけじゃないかな?
もしくは昔のバージョンがそうだったか。
現在のArrayの内部実装はObjectで使われるものとは別に、
数値インデックス専用のm_denseArrというプライベート配列を別に持ってて、
添え字が0以上の場合は恐らく高速化のためにそっちを使ってるみたい
ま、自分も今ソース見て初めて知ったけどw
483:Now_loading...774KB
08/09/09 01:31:34 hSXn0beI
ああ、ちなみに高速化されるのは>>471みたいな場合ね
>>481みたいにインデックスが飛ぶ場合とかマイナスの場合は従来通り
484:Now_loading...774KB
08/09/09 02:14:00 Omu1X1w5
>>482
お、そうなの?
プリミティブと一緒に頑張ってくれてたのか
そりゃ朗報だわ
ちなみに信じられてる噂じゃなくて、思いっきりリファレンスにObjectを継承してる事書いてあるからw
485:Now_loading...774KB
08/09/09 02:36:54 Ty7wfbmp
継承してる=動作が同じ、じゃないぞ?
そんなんじゃオブジェクト指向の意味ないじゃん
継承先で動作が変わってるなんてよくあること
ましてやこの場合C++で書かれてる部分じゃ形式上の継承とか関係ないし
486:Now_loading...774KB
08/09/09 12:38:53 hgoyihFv
Arrayで盛り上がってますな
AS3 Flex3
var array:Array = [];
array[0] = 0;
trace( array.length );
array[1] = 1;
trace( array.length );
array[-1] = -1;
trace( array.length );
array[0xfffffffe] = 0xfffffffe;
trace( array.length.toString(16) );
array[0xffffffff] = 0xffffffff;
trace( array.length.toString(16) );
array[2] = 2;
trace( array.length.toString(16) );
暇な人は上から順にtraceの出力がどうなるか当ててくれ
487:Now_loading...774KB
08/09/09 14:13:22 bLVyBvDv
自分でやれよw
488:Now_loading...774KB
08/09/09 18:15:47 zUyIkZud
>>486
マイナスのインデックスで高速化が働かないことは>>483に書いてあるけど、
他にMAX_INTEGER_MASK(0xF0000000)と論理積とって引っかかるものも除外される
つまりこれらは添え字に文字列を指定したのと同じような効果になる
lengthはこれら文字列インデックスの数と>>482にあるm_denseArr.lengthの合計値が返される
こんな回答でいい?
489:Now_loading...774KB
08/09/09 19:13:48 YFM1Sy0D
変数の_btnNameにbtn00, btn01・・・と連番ボタン名を入れていって、
それらのbuttonModeをtrueにしてやりたいだけなのですが、
_btnName.buttonModeとすると、
_btnNameという変数自体が、プロパティ名と解釈されてしまい、
btn00.buttonMode = true;
のように出来ない状態です。
_btnNameの中に格納されているのは、
btn00、btn01という、ボタンの名前ですよ、というようにするにはどうしたらいいのでしょうか。。。
for(var i:uint=0; i < 6; i++){
var _btnName:String = ("btn0" + i) as String ;
_btnName.buttonMode = true;
}
490:Now_loading...774KB
08/09/09 19:25:29 zUyIkZud
this["btn0"+i].buttonMode = true;
491:486
08/09/09 19:54:26 hgoyihFv
>>487
質問ではなく、個人的に意外な結果になったので聞いてみただけっす。すんません。
解答は
var array:Array = [];
array[0] = 0;
trace( array.length ); //1
array[1] = 1;
trace( array.length ); //2
array[-1] = -1;
trace( array.length ); //2
array[0xfffffffe] = 0xfffffffe;
trace( array.length.toString(16) ); // ffffffff
array[0xffffffff] = 0xffffffff;
trace( array.length.toString(16) ); // 0
array[2] = 2;
trace( array.length.toString(16) ); // 3
負の数字がlengthにカウントされない事と0xffffffffでlengthが0になるのに驚いた。常識?
おまけ
for ( var hoge in array ){
if( hoge is String )trace( hoge );
}
// -1
// 4294967294 (0xfffffffe)
// 4294967295 (0xffffffff)
>>488
> lengthはこれら文字列インデックスの数と>>482にあるm_denseArr.lengthの合計値が返される
上記だとarray[-1]してもlengthが増えないので、文字列インデックスとして使われる部分はカウントされないのでは?
492:Now_loading...774KB
08/09/09 20:10:25 zUyIkZud
>>491
lengthの実装がreturn m_denseArr.getLength()ではなくreturn m_lengthだったから、
その辺も足したものになってると勝手に勘違いしてた
ハッシュ周りは上位のScriptObjectクラスに丸投げしてArrayObjectクラスでは触ってないね
0xffffffffが使えない理由は、↓のようにコメントで書いてあった
// We can NOT use 0xFFFFFFFF for this since x[0xFFFFFFFE] is a valid prop
// which would make our length 0xFFFFFFFF
493:Now_loading...774KB
08/09/09 21:18:03 E9N+ZKV7
すみません、いろいろググってみたのですが、方法がわからなかったので教えてください。
おみくじのようにランダムにフレームへジャンプするASを組みたいのですが、指定したフレームの中でランダムに飛ぶ方法はありますか?
例えば、3、136、369フレームのどれか一個に飛ぶ、という具合です。
教えていただければ幸いです
494:Now_loading...774KB
08/09/09 21:28:27 FxLxuCwE
>>478
すみません。質問に補足させていただきます。
例えば「押すとAからBに変わる」というボタンを作ります。
そのボタンを押している間は”B”になっているのですが、
離すとまたAに戻ってしまいます。
一度クリックすると、変化したままでいるスクリプトを教えてください。
495:Now_loading...774KB
08/09/09 22:52:12 YFM1Sy0D
489です。
>>490
動きませんでした。
この[]という表記方法は何なのでしょうか。
一箇所表記を間違っていました。
_btnNameの前に_btnSetというのがつきます。
_btnSetというのは、ボタンを複数梱包しているMCの名前です。
for(var i:uint=0; i < 6; i++){
var _btnName:String = ("btn0" + i) as String ;
_btnSet._btnName.buttonMode = true;
}
496:Now_loading...774KB
08/09/09 22:53:48 u4lZQ3fW
flvファイルのプログレッシブダウンロードが時々途中で止まってしまう事があるのですが、
どのような対処が考えられますでしょうか?
AS2です。
497:Now_loading...774KB
08/09/09 22:54:37 YFM1Sy0D
489です。
補足です。
_btnSet._btnName.buttonMode
というのは、_btnNameが変数で、
その場所の値を入れ替えることで、
_btnSet.btn01.buttonMode
や、
_btnSet.btn02.buttonMode
というように、まとめて、buttonMode=trueにしたいという目的があります。
お助けください。
498:Now_loading...774KB
08/09/09 23:11:53 wI6DLpeX
CS3で gotoAndPlay の挙動が ActionScript3.0 でパブリッシュするとどうもおかしいのだが、
何か解決法はあるのかな・・・
具体的には2フレームのキーフレームを作って3フレーム目に gotoAndPlay(1); とすると、
ActionScript2.0 でパブリッシュすると2フレームのパターンを交互に表示するループに
なるのに、3.0 でパブリッシュすると gotoAndPlay で1フレーム待たされて、1フレーム
目のパターンが2回に2フレーム目のパターンが1回という繰り返しになって
しまう。これだとアニメーションを綺麗につなぐことができなくってとても困るのだが・・
499:Now_loading...774KB
08/09/09 23:43:18 q5dEo94n
>>497
よくわからないが、こうか?
for(var i:uint=0; i < 6; i++){
_btnSet["btn0"+i].buttonMode = true;
}
500:Now_loading...774KB
08/09/09 23:46:24 q5dEo94n
>>494
Flex3+AS3の俺がアドバイスできるのは
SimpleButtonクラスとかButtonクラスを使えば出来る、と言うことぐらいだ
501:Now_loading...774KB
08/09/10 00:26:21 uaunU19J
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)
getRGB()で質問です。
root上のMC(mc1,mark1)の色を取得するため、mc1のイベントハンドラに
onClipEvent (load) {
trace("Color= "+this.getRGB()+", "+_root.mark1.getRGB());
}
と書いたところ、 Color= undefined, undefined の表示になりました。
問題点はどこでしょうか?
502:Now_loading...774KB
08/09/10 00:36:16 f39TfBvC
>>493
var array:Array = new Array(3, 136, 369);
var rndFr:uint = array[Math.floor(Math.random()*3)];
trace(rndFr);
503:Now_loading...774KB
08/09/10 01:31:04 xMzCU6+I
>>495
>この[]という表記方法は何なのでしょうか。
配列アクセス
>>496
止まってしまう原因を解明する
504:Now_loading...774KB
08/09/10 01:38:44 xMzCU6+I
>>501
原因はMovieClipクラスにgetRGBってメソッドがないから。
getRGBがあるのはColorクラス。
だけどgetRGBで取得できるのは
最後のsetRGB() 呼び出しで設定されたRGB値だけだから、
一度setRGBで設定しないと取得できないと思う
505:493
08/09/10 01:46:39 7T/b55CI
>>502
御早いご返答ありがとうございます。
しかし、私はCS3は使っていますが、AS2.0の設定にして制作しておりますので、unitがエラーで表示されてしまいました。
AS3.0の設定にして、もう一度パブリッシュをすると、今度は
「警告 : ActionScript 3.0 では、ボタンインスタンスまたは MovieClip インスタンスのアクションはサポートされていません。オブジェクトインスタンスのすべてのスクリプトは無視されます。」
と表示されてしまいました。
AS2.0=unitは使えない
AS3.0=ボタンが使えない
となり、行き詰まってしまいました。
お手数ですが解決策がありましたら教えてください。お願い致します。
506:493
08/09/10 02:07:43 7T/b55CI
>>502
自己解決しました!AS3ではunitですがAS2ではNumberなのですね!
教えてくださってありがとうございます。
on (press) {
var array:Array = new Array(3, 136, 369);
var rndFr:Number = array[Math.floor(Math.random()*3)];
gotoAndPlay(rndFr);
}
507:Now_loading...774KB
08/09/10 02:32:19 uaunU19J
>>504
さんきゅう
508:Now_loading...774KB
08/09/10 10:54:42 qB/ZNCv0
489、495,497,です。
>>499
>>503
_btnSet["btn0"+i].buttonMode = true;では駄目でした。
配列アクセスを使用したときのプロパティとして当たらないということでしょうか。
TypeError: Error #1010: 条件は未定義であり、プロパティがありません。
となってしまいます。
何故でしょうか・・・・??もう一度整理すると、
_btnSetというインタンス名のMCの中に、
6つのボタンMC(btn00~btn05※インスタンス名です)が入っています。
それら6つをまとめて、forループですべてbuttonMode=trueにしたいのです。
そこで、
for(var i:uint=0; i < 6; i++){
var _btnName:String = ("btn0" + i) as String ;
_btnSet._btnName.buttonMode = true;
}
が駄目で、、、
for(var i:uint=0; i < 6; i++){
var _btnName:String = ("btn0" + i) as String ;
_btnSet["btn0"+i].buttonMode = true;
}
も駄目でした・・・。いずれも同様のエラー、「条件は未定義であり、プロパティがありません」お助けください
509:Now_loading...774KB
08/09/10 11:08:09 KqdSTiA8
>>508
とりあえずこうしたらダメでしたが延々続くだろw
AS3.0の本一冊読むか、ヘルプ一通り見るかしてから来い
オブジェクト指向なAS3.0は付け焼き刃じゃ何も出来ないよ
510:Now_loading...774KB
08/09/10 11:15:06 6r2RrxdQ
AS3.0なの?
_btnSet.btn00.buttonMode = true;
だったら意図したように動くの?
511:Now_loading...774KB
08/09/10 11:47:46 qB/ZNCv0
>>509
すみません、いけました!
指摘の内容、仰るとおりです。本は読んでいますが、理解がまだ追いついていません。
>>510
勘違いでした。エラーは次の行で起きていたようで、
ここのループはばっちり配列アクセスで設定できました。
大変失礼しました。ありがとうございます。
512:Now_loading...774KB
08/09/10 14:29:08 raTDs9XY
AS3.0にて外部から読み込んだテキストを使ってリンクを貼りたいのですが、どうしたらいいでしょうか?
513:Now_loading...774KB
08/09/10 14:37:16 raTDs9XY
補足
読み込むテキストは下記のようにテキストファイルにひとつにまとめるようにして。。。
date.txt
url0=URLリンク(www.google.co.jp)
514:Now_loading...774KB
08/09/10 17:19:27 lqrF0YFV
>>513
private function loadCompleteHandler(e:Event):void
{
var loader:URLLoader = URLLoader(e.target);
var vars:URLVariables = new URLVariables(loader.data);
var tf:TextField = new TextField();
tf.htmlText = "<a href=\"" + vars.url0 + "\" target=\"_blank\">link</a>";
this.addChild(tf);
}
515:Now_loading...774KB
08/09/10 17:47:03 raTDs9XY
>>514
ありがとうございます。
すみません補足不足でした。
画像にリンクを貼りたいです。
申し訳ございません。
516:Now_loading...774KB
08/09/10 18:42:44 f39TfBvC
>>514を見てふと思い出したけど、波カッコ“{”を改行するコーディングスタイルを
よく見かけるようになったんだけど、何か理由があるのかな?
AS3のIDEであるFlashDevelopも途中のバージョンから改行するスタイルに変わってて、
違和感を感じたんだけど、元々あるものか、最近どこかで提唱されたとか、知ってる人
いたら教えてほすぃ
517:516
08/09/10 18:55:25 f39TfBvC
> AS3のIDEであるFlashDevelopも途中のバージョンから改行するスタイルに変わってて
これだとちょっと誤解を与えちゃうか。波カッコを改行するかしないかは設定で変えられるんだけど、
デフォルトの設定が改行しないスタイルから改行するスタイルに途中で変わった、ということです。
518:Now_loading...774KB
08/09/10 19:06:36 McByLcsR
Flexのコーディング規約がそうなっているから。
URLリンク(blog.dclick.com.br)
519:Now_loading...774KB
08/09/10 19:14:22 f39TfBvC
>>518
あーそうなんだ、情報ありがとう。もっと大きな流れか何かかと思ったけど、AS内だけの決まり事なんだね
520:Now_loading...774KB
08/09/10 19:20:50 DYCDIn9X
言語の開発元が提唱した規約は十分大きな流れだと思うが
521:Now_loading...774KB
08/09/10 19:29:35 Li8Y4T1n
スコープでブレースを使う多くの言語の中で、改行を推奨する言語なんてAS以外にあるっけ?
522:223.4.100.220.dy.bbexcite.jp
08/09/10 19:48:16 uNHkqmF5
最近の Microsoft の規約は大体そうでしょ
何故そこだけ Sun Java 的にならなかったのか謎だけど
523:Now_loading...774KB
08/09/10 19:51:14 f39TfBvC
>>520
あーそんな深い意味で言った訳じゃ無いんだけど、>>521が言うようなプログラミング業界(?)全体的な意味でw
この改行すんごい違和感あるんだけど、改行するメリットって見やすさかしら
524:Now_loading...774KB
08/09/10 20:03:15 AJTMLu9R
なんだろね?ブロックを把握しやすくするとかかね?
525:Now_loading...774KB
08/09/10 20:09:56 e6nacen+
慣れなんだろうけど、昔からこの書き方違和感あって読み辛いし馴染めなかったなあ
526:Now_loading...774KB
08/09/10 20:48:37 McByLcsR
改行を好む人と好まない人がいるよね。
for (var i = 0; i < 10; i++) {
// comments
trace(i);
}
こう書く人と
for (var i = 0; i < 10; i++) {
// comments
trace(i);
}
こう書く人がいるのね。規約に従うと万人がこうなって、
コミット時に精神衛生上よろしくなりました。
for (var i = 0; i < 10; i++)
{
// comments
trace(i);
}
527:Now_loading...774KB
08/09/10 21:02:16 f39TfBvC
>>526
おぉ~かなり納得できる理由だっ! ちょっと規約に従う気になれました。
528:Now_loading...774KB
08/09/10 22:23:28 lqrF0YFV
>>515
TextFieldの画像表示でハマッてました・・・
解決したけど、画像なら素直にnavigateToURLの方がいいかな?
private var url:String;
private function imageClickHandler(e:MouseEvent):void
{
if (url != null)
{
var request:URLRequest = new URLRequest(url);
navigateToURL(request, "_blank");
}
}
private function urlLoadCompleteHandler(e:Event):void
{
FlashConnect.trace("urlLoadComp");
var loader:URLLoader = URLLoader(e.target);
var vars:URLVariables = new URLVariables(loader.data);
url = vars.url0;
}
529:Now_loading...774KB
08/09/11 01:03:47 r5skrcaQ
AS3で、MovieClipやSpriteのオブジェクトの「中心点」を操作できるプロパティってありますか?
Livedocで調べたりしてみたんですがそれっぽいのが見つかりませんでした
今は以下のように中心を計算して操作してるんですが、書いてたらそれ用のプロパティがあるような気がしてきて・・・
var xx:Number = stage.stageWidth / 2;
var yy:Number = stage.stageHeight / 2;
var mm:MovieClip = new MovieClip();
mm.x = xx - (mm.width / 2);
mm.y = yy - (mm.height / 2);
addChild(mm);
530:Now_loading...774KB
08/09/11 06:29:16 13AYJM+Q
画像を外部から読み込んでいるフラッシュがあるのですが、
特定の日付以降になると、その日付のファイル名の画像ととりかえたいのです。
531:530
08/09/11 06:39:58 13AYJM+Q
途中送信してしまった…
たとえば、8月12日までは main.loadMovie(image/0711.png)
8月13日になったら main.loadMovie(image/0813.png)にきりかわるようにしたいのです。
月と日付を取得してそれを以下ので4桁にして、
today = ("0"+mm).substr(0, 2)+("0"+dd).substr(0, 2);
0123,0222,0309 …と、必要な分の日付を,で区切ったテキストファイルを読み込み,で分割、
todayよりその数字が大きくなったら、その部分を取り替えて新しい日付の画像を読み込ませたいのですが、if文がよくわからなくなってしまいました。
お手数おかけしますが、よろしければご教授ください。
532:Now_loading...774KB
08/09/11 07:21:27 tcBQ2exE
>>531
日付の比較はDate自体ですればいんじゃないかな
var targetDate:Date = new Date(2008,9-1,12);
var today:Date = new Date();
trace(targetDate < today);
533:Now_loading...774KB
08/09/11 07:24:23 tcBQ2exE
あ、こっちだなw
trace(targetDate.getTime( )<today.getTime());
534:Now_loading...774KB
08/09/11 15:26:55 eKrSoIzd
>>531
あなたの書いた文だとよくわからんところがあるが
>0123,0222,0309 …と、必要な分の日付を,で区切ったテキストファイルを読み込み,で分割、
この0123とか0222は、それぞれ1月23日、2月22日ってことかな?
で、今日が1月30日だとすると、0123.pngを表示したいってことだよね?
ま、そうだと仮定すると、こんな感じかなぁ
var dtArr:Array = [ "0123", "0222", "0309", ...];
var today:Date = new Date;
var result:String = "";
for each( var dtStr:String in dtArr ) {
var showDate:Date = DateField.stringToDate( dtStr, "MMDD" );
if ( showDate.getTime() < today.getTime() ) {
result = dtStr;
} else {
break;
}
}
trace ( "result:" + result );
535:Now_loading...774KB
08/09/11 15:46:35 eKrSoIzd
ちゃんと実行してみたら、まちがってた・・・・。
正しくは
var today:Date = new Date;
var result:String = "";
var fm:DateFormatter = new DateFormatter();
fm.formatString = "YY";
for each( var dtStr:String in dtArr ) {
var showDate:Date = DateField.stringToDate( fm.format(today)+dtStr, "YYMMDD" );
trace( fm.format( showDate ) + " " + fm.format( today ) );
if ( showDate.getTime() < today.getTime() ) {
result = dtStr;
} else {
break;
}
}
536:Now_loading...774KB
08/09/11 18:23:58 vCS/oIpm
初歩的な質問ですが、下のような記述はやってもいいのでしょうか
if(A && B || C)
{
~
}
これだと、条件が「AかつB、または、C」なのか「A、かつ、BまたはC」なのか定まらない気がします…。説明が下手ですいません。
ちなみにAS1.0です。
537:Now_loading...774KB
08/09/11 18:40:15 Bo2l1Y+f
>>536
定まらないってことはないです。
それだけの事をなぜ試してみないのでしょうか。
また、なんでそれをやりたいのか理解に苦しみます。
538:Now_loading...774KB
08/09/11 19:08:32 5JiCGQfN
>>536
普通のプログラミング言語なら,演算子には
優先順位と(同一順位での)実行順序が決められています。
必ず結果は一意に定まります。
539:Now_loading...774KB
08/09/11 19:09:05 ucNAtdoc
>>536
演算子には優先順位や結合性といった規則があります。
これは、異なる演算子が同時に表記されたときに、どのような順番で実行されるのかを決めるものです。
例えば 5 + 3 * 6 という式ではまず 3 * 6 を実行しますよね?
これは+よりも*の方が優先順位が高いからなのです。
この優先順位は全ての演算子に決められていて、&&と||の場合は&&の方が優先順位が高いことになっています。
(詳しくはリファレンスを読めば載ってる・・・・はず)
よって A && B || C と書いた場合は必ずA&&Bが先に評価され、
> AかつB、または、C
となります。
というわけでそのような記述はして構いません。
ただ、慣れないうちは括弧をつけた方がわかりやすいかもしれませんね。
Ex. if( (A && B) || C )
540:Now_loading...774KB
08/09/11 20:37:29 Xp0IiQNA
AS3の質問です。
ドキュメントクラスので宣言したオブジェクトに
メインのタイムラインからならアクセスできると思うんですけど
メインタイムラインにインスタンス名をつけて設置したムービークリップからは
どうやってアクセスするんですか?
そのムービークリップの1フレーム目にキーフレームをセットして
アクションにroot.hoge.func();ってやってもアクセスできないです。
rootってドキュメントクラスとは違うんですか?
541:Now_loading...774KB
08/09/11 22:10:18 DWF+Q7IN
AS3で質問です。
あるswfファイルから他所のswfファイルを呼び出すとき
test.swf?param=abc
みたいに、GETパラメータみたいにデータを渡す事って可能ですか?
それとも もっと良い方があるのでしょうか?
542:536
08/09/11 22:38:08 vCS/oIpm
>>537
確かに、試せば済む事でした。すいませんでした。
>>538 >>539
なるほど、優先順位という物があるんですね。分かりやすく説明していただきありがとうございます。
543:540
08/09/12 00:27:12 K/AgP6Fb
すみませんスルーしてください。
rootはドキュメントクラスでした。
544:Now_loading...774KB
08/09/12 01:30:03 Gp7WZnSK
>>541
可能です。
LoaderInfo.parameters
あたりでググってみてください。
545:Now_loading...774KB
08/09/12 06:22:50 44hRgaAX
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)
Matrixクラスで質問です。
インスタンスを傾斜を加えながら回転させるため、Matrixクラスの変換機能を使う
ことにしました。
ここで参考にしたサイトは、URLリンク(www.flashiroha.com)
なのですが、Flash8-Proのヘルプと照らし合わせたところ不明な点が浮かんだの
で質問することにしました。
サイト中に var myMatrix:Matrix = new Matrix(a, b, 0, 1, 200, 200); という記述
があります。一方ヘルプでは、傾斜用のマトリックスの要素と、コンストラクタが
0 SKy 0
SKx 0 0
0 0 1
Matrix([a:Number], [b:Number], [c:Number], [d:Number], [tx:Number], [ty:Number])
になっており、a → 0, b → SKy, c → SKx, d → 0 (平行移動は省略)になる筈で
すが、サイトのMatrix(~)定義と異なっています(例:0になるべきaの値がサイトでは
「var a」で定義されている)。
※SKx,yはx,y軸方向にスライドする量です
自作のMCでもサイトのASで目的の動作は出来ましたが、何故この記述で可能なの
でしょうか?
546:Now_loading...774KB
08/09/12 08:26:21 3Moz3j0n
Flashデザインラボ -プロに学ぶ、一生枯れない永久不滅テクニック
URLリンク(www.sbcr.jp)
この本買ってただいまAS3を勉強中なんですが
AS2と3のサンプルが混在してます。AS3に作り直したいんですが
AS2→3変換するのに参考になるようなサイトありますか?
3をマスターしてからやればいいんだけど、ちょっと急いでまして・・・
547:Now_loading...774KB
08/09/12 11:36:01 A7U1lIF/
>>546
急いでるならプロに頼めばいんじゃね
548:Now_loading...774KB
08/09/12 14:37:55 tSCrohbh
それ捨ててAS3の本を買えばいい
549:Now_loading...774KB
08/09/12 15:00:28 QUgAVx+L
>>545
ASの話じゃなくて行列計算の話じゃん
数学板でも行くか数学の入門書でも買って読めばいいよ
550:Now_loading...774KB
08/09/12 17:29:24 eTsVjFLg
ボタンアクションで全く同じ処理で押すボタンだけを複数したいのですが良い方法が思いつきません。
例えば上キーか下キーを押したとき同じ処理をする場合
on(keyPress"<Up>") {
//長ーい記述
}
on(keyPress"<Down>") {
//上と同じ記述
}
上のやり方しか思いつきません。記述が長いのでできれば一つにまとめたいのですが……。分かる方がいましたらお願いします。SWF7です。
551:Now_loading...774KB
08/09/12 18:24:43 MhCs3KCg
>>550
一言で言うと
functionを使うべし
552:545
08/09/12 21:37:48 Pm1dpESb
>>549
すみません、紙上で演算しても、本(行列・ベクトルの本)
を読んでも分かりません。
解説をお願いします。
553:Now_loading...774KB
08/09/12 22:18:10 jBiyDvgh
>>545
いまちょっと確認できないけど、ヘルプはバージョンによって行列の記述が間違ってるから、
結果から正しい定義を見出したほうが良いよ。
554:Now_loading...774KB
08/09/12 22:31:46 QUgAVx+L
>>552
サイトに書いてあるのは回転と傾斜をするためのパラメータ
あなたが引っ張ってきたのは傾斜だけのパラメータ
違ってて当たり前なんだけど、紙上で演算しても気づかなかったの?
本当に計算できるなら気付いて当たり前だから、入門書読んだら?と勧めたんだけど
Matrixクラスの使い方ならともかく、その動作原理なんてスレ違いもいいとこだし
555:Now_loading...774KB
08/09/13 02:08:58 vGrTszC3
>>550
function
ルートのフレーム1にでも書いておく↓
function botandetukau() {
//長ーい記述
}
これで botandetukau() というアクションがセットされたことになるので、使いたい場合は
on(keyPress"<Up>") {
botandetukau();
}
とか
on(keyPress"<Down>") {
_root.botandetukau();
}
などで最初に定義したのと全く同じ処理をたった一行の命令でさせられます。
functionの使い方の詳細はググれ。
556:545
08/09/13 06:36:47 qsfxqZIr
>>553-554
さんきゅうです。
「回転と傾斜をするためのパラメータ 」
ああそうか、回転作用を見落としていた。
557:Now_loading...774KB
08/09/13 06:50:33 89RRUaTA
理系の大学入れば1年の最初で線形代数習うよ
558:Now_loading...774KB
08/09/13 11:29:05 8H2ps9gO
>>523
1行目をコメントアウトするだけでスコープになるからデバッグしやすい。
559:Now_loading...774KB
08/09/13 11:41:08 8H2ps9gO
>>556
行列の3*3それぞれのパラメータの意味分かってる?
とりあえず、aとbだけマウスの座標にあわせてグリグリ動かしてみな。
560:Now_loading...774KB
08/09/13 14:10:43 RB9oiSHO
すみません教えてください!
tmpArrayという配列に、10個のMovieClipを格納しました。
その中でvisible=trueのものを1つだけx=100にしたいのですが、
for each (var m:MovieClip in tmpArray) {
if (m.visible) {
m.x = 100;
break;
}
}
と書いたのですが、一件も処理されません。
ちなみにbreakを外すと、全部のMovieClipがx=0になります。
どこがおかしいのでしょうか!?
561:Now_loading...774KB
08/09/13 16:58:06 FYlNsvuR
>>551
>>555
遅レスになりましたが初心者級の質問に答えてもらいありがとうございました!そんな便利な関数?(関数を作る関数ってことですかね)があったんですね。おかげさまでできました!
562:Now_loading...774KB
08/09/13 18:42:24 Awdzv9Mo
>>560
どこにもxに0を代入する文がないのに
全部0になるの?
563:Now_loading...774KB
08/09/13 18:48:06 yuty1s/G
>>560
>ちなみにbreakを外すと、全部のMovieClipがx=0になります
デフォが0じゃないのに0になるってこと?
俺のエスパー能力は他の場所に問題があるってよ
564:Now_loading...774KB
08/09/13 19:24:07 RB9oiSHO
>>562
>>563
すいません、「全部x=100になる」の間違いです!!!!
565:Now_loading...774KB
08/09/13 19:43:33 yuty1s/G
>>560
書き方に問題はないっぽい。
tmpArrayの一つ目が処理されてることに>>560が気づいてないんじゃないかな。
breakの前にtrace入れるとかして確かめてみたら?
566:Now_loading...774KB
08/09/13 20:16:47 p6C70/Cx
URLリンク(livedocs.adobe.com)
↑の検索ボックスからの検索って正常に行えます?
567:Now_loading...774KB
08/09/14 01:17:49 SmmHzNmF
稀に検索できることがある
568:Now_loading...774KB
08/09/14 13:37:20 bkvVbWVJ
AS3のコンポーネント ComboBoxのリスト部分の文字をでかくしたい!
選択されているところは、
var tf:TextFormat = new TextFormat();
tf.size = 50;
InstanceName.labelField.textField.setStyle("textFormat", tf);
でいけるのに。。。
ComboBox内のListがReadOnlyだから?
どうにかならん????
569:Now_loading...774KB
08/09/14 16:17:58 pqCIPrSB
リスト項目全部に設定すりゃいんじゃね
570:Now_loading...774KB
08/09/14 21:00:12 kUfVg168
>>560
”一件も処理されません。 ”ってのは、m.x=100 にならないってこと?
どうやって確かめた?
571:Now_loading...774KB
08/09/15 02:41:16 5uJPuCG3
指定座標を中心に地図を拡大縮小するにはどうしたらいい?
地図をクリックする場所はユーザーが自由に決めれたらいいんだが。
matrixで画像を動かしたりはできるけど、、
もう一つまだ掴めてないっす。
572:Now_loading...774KB
08/09/15 02:54:24 28GbVigF
>>571
予め元の地図の下にに(深度を下に)もう一枚おく。
→ 下の地図はマウス座標に追従するようにして、クリックしたら上下が入れ替わる。
→ このとき下の画像の拡大縮小もする。
ではどう?
573:Now_loading...774KB
08/09/15 02:56:35 UyWqr5ne
入れ子MCの消去で質問です。
ソフトはFlash8-ProのAS2.0で、OSはWinXP-Proです。
親MC(mcA)の入れ子MCとしてmc1, mc2, ab1, ab2・・・ があったとき、これらを
一括して消去する方法はありますでしょうか?
for文で指定すれば良いのですが、状況により入れ子MCが細かく変わるので、
インスタンス名に関わらずclear()の様に消したく思っています。
574:Now_loading...774KB
08/09/15 03:29:49 N6tdtdpv
>>573
・親MCを消す
・for in で消す
575:Now_loading...774KB
08/09/15 03:34:25 5uJPuCG3
571っす
>>572
マウスに追従してきてたら、指定の箇所をクリックして、
拡大にはなんないよ。
中心座標を毎回計算しないとダメだと思うので、
マトリックスを使わないとダメみたいで、
その正しい使い方がいまひとつわからないです
576:Now_loading...774KB
08/09/15 04:25:56 yAUknH1/
AS2のswfからAS3のswfをloadMovieした場合、
子のAS3swfから親のAS2swfの関数を呼ぶのは
どうしたらよい?displayObject.rootとかやってみたけど
だめなんだ。
577:573
08/09/15 04:39:54 UyWqr5ne
>>574
あんがと。
578:Now_loading...774KB
08/09/15 04:55:39 DFR6R1mV
>>576
AS2とAS3は互いにアクセスできなかったような気がするけど
579:Now_loading...774KB
08/09/15 07:45:53 2QoVj6ou
>>532-535
ありがとうございます!
説明わかりづらくて申し訳ない。
580:Now_loading...774KB
08/09/15 12:50:10 eOmUEHkg
test
581:Now_loading...774KB
08/09/15 15:41:00 cwMsq1Cf
flash8、AS2に関する質問です。
フレームでmenuとmainに分けたサイトのmenu部分にflashを置いて、flash内のボタンを押すと
main部分が切り替わるようなものが作りたいのですが、
getURL("top.html", "main");
のように自サイト内のページを開くときは問題ないんですが
getURL("URLリンク(blog.xxxx.com)<)", "_blank");で外部ウィンドウで表示させれば問題なく読み込まれました。
allowscriptaccess="always"とかも関係ないっぽいですし、解決策が分からないです。
ご指導お願いします。
582:Now_loading...774KB
08/09/15 18:48:30 nQYCYh1u
わざわざフルパスにする必要ないからいいんじゃないの?
583:Now_loading...774KB
08/09/15 20:47:33 mbaHHWXi
As2.0 WIN XPです。
マウスが近づくとMCが拡大するというスクリプトをMCに書いて
実行させています。
これをrootのタイムラインにfunctionとして定義して、
MCにはfunctin();にて実行させる場合、
rootにはどのように書けばいいのでしょうか?
多分、xm、ymあたりの変数あたりに工夫をしなければならない
と思うのですが、迷路に入り込んでいます。
よろしくお願いいたします。
//
onClipEvent (enterFrame) {
xm = _xmouse;
ym = _ymouse;
span = Math.sqrt(xm*xm+ym*ym);
if (span>100) {
mcScale = 80;
} else {
mcScale = 80+(span-100)*-20/100;
}
this._alpha = this._xscale=this._yscale=mcScale;
}
584:Now_loading...774KB
08/09/16 00:11:38 GSu0om6T
>>583
//onEnterFrame
onClipEvent (enterFrame) {
_root.HOGE(this)
}
//_root
function HOGE(mc:MovieClip) {
xm = mc._xmouse;
ym = mc._ymouse;
span = Math.sqrt(xm*xm+ym*ym);
if (span>100) {
mcScale = 80;
} else {
mcScale = 80+(span-100)*-20/100;
}
mc._alpha = mc._xscale=mc._yscale=mcScale;
}
585:Now_loading...774KB
08/09/16 00:39:42 6xqxL9rV
>>582
サイトの構造的に、どうしても新規ウインドウを開かずに表示したい
586:Now_loading...774KB
08/09/16 02:27:25 K06s6cYa
AS3でSpriteやMovieClipオブジェクトの基準点を指定(変更)する方法ってありますか?
FlashCS3でシンボル変換時に出るウィンドウの9つの点で指定出来るやつです
587:Now_loading...774KB
08/09/16 10:59:51 Wsjd8HP6
>>584
お陰様で無事実装できました。
ありがとうございました m(_)m
588:Now_loading...774KB
08/09/16 19:41:29 bK4IUF1/
>>581
問題の絞込みはどこまでやってる?
ちょこっと試して見たけど問題ないみたいだった。
ASの問題じゃないだろ?
その他の環境によるもんじゃないのかな?
つか>>582は解決策暗示してんじゃないの?
>フルパスにする
まぁ、パクリサイトだったらいじれないから無理だろうけど、
589:Now_loading...774KB
08/09/16 20:39:18 s2/Veykc
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)
入れ子MC内のテキストフィールドのハイパーリンクで質問です。
URLが指定されたテキストをクリックすると当該HPにジャンプするようなムービーを作るため、
あらかじめ空のテキストフィールドを含んだMCをfor文とattachMovie()で10個生成しました。
確認のため、TextFormat()で太字になるように設定したところ、テキストフィールドの文字列
は狙い通りに10個全て太字になりましたが、生成されたテキストフィールドにマウスポインタを
重ねてもリンク動作をしません(下はASの抜粋です)。
fmt_name.url = "URLリンク(www.yahoo.co.jp)"; //URL設定
fmt_name.html = true;
fmt_name.bold= true;
//
this["textM"+id].txt = id; //idは0~9で、縦に0~9が表示
this["textM"+id].txt_ins.setTextFormat(fmt_name); //太字にはできる
どうしたら良いでしょうか?