08/08/08 00:42:00 Afnpz4ry
>>209
progressHandler(event:Event)じゃなくて(event:ProgressEvent)じゃーい
URLリンク(livedocs.adobe.com)
ここの一番下のサンプルでもみやがれい。
読まず嫌いが多いだろうがどんな本よりサイトより
最終的にはヘルプのリファレンス見ることになるから
リファレンスで調べるクセをつけたほうがいいよ。
元々英語のを翻訳してるようだから時々怪しい日本語とか間違いとかあるけど。
211:Now_loading...774KB
08/08/08 01:08:11 tjd5bG7m
>>210
オーマイガッ
ありがとうございました。
212:Now_loading...774KB
08/08/08 11:46:57 ArlCqhai
環境:FlashCS3
パブリッシュ:ver8、AS2
mcにonClipEvent (mouseDown)でstartDragして、ドラッグできるようにしています。
その中にボタンのmcを置いて、getURLで別ウィンドウに外部リンクを開くようにしているのですが
その際の挙動がおかしくて困っています。
外部リンクを新規ウィンドウもしくは背面のタブで開いた場合には問題ありませんが、前面のタブに開いて
から、そのswfのあるページに戻るとstartDragが働いてしまっていて、解除できなくなります。
(ボタンMCの上にカーソルが乗った状態で、ドラッグされてしまうため、解除しようとクリックすると
リンクを開いてしまいます)
onClipEvent (mouseUp) でstopDragを指定しているため、前面にリンク先のタブが出てしまうことで、
mouseUpイベントが取得できずにこの現象が起こっていると思うのですが、対処法がさっぱりわかりません
どなたかよろしくお願いします。
213:Now_loading...774KB
08/08/08 13:22:13 3E1Lk/MU
>>212
よくわからんのだけど、
ドラッグできるMCの中にボタンがあるという時点で問題があると思う。
MCの中にドラッグできるMCとリンクボタンという構成がいいんじゃない?
ようはリンクボタンのはじっこつまんでドラッグできるみたいな感じだよね?
で、MCのフレームにこれ書けばいいはず。
dragMC.onPress = function() {
this._parent.startDrag();
};
dragMC.onRelease = function() {
stopDrag();
};
lunkBtn.onRelease = function() {
getURL("http://", "_self");
};
おれの勘違いならすまんです。
214:Now_loading...774KB
08/08/08 15:00:14 f914dON+
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)
ラジオボタンの一斉非選択で質問です。
●選択1 ○選択2 ●選択3
○選択4 ●選択5 ○選択6
最初に、6個のラジオボタンが上の状態であったとき、何らかの操作で、全部を
○選択1 ○選択2 ○選択3
○選択4 ○選択5 ○選択6
の状態にしたく思っています(全部を一斉に非選択に)。
一応、ヘルプで該当する記述を探そうとしましたが、ラジオボタンの解説記述が
予想以上に多く、探し出すことが出来ませんでした。
アドバイスを願います。
215:212
08/08/08 15:29:47 UozHMj7i
>>213
ありがとうございます。
でもたぶんちがいます…。
ドラッグできるMCの中にボタンがあるという状態はあまり良くないことはわかる
のですが、実は地図の上にポイントがあって、
ドラッグできるMC=地図
リンクボタンMC=ポイント
なので、リンクボタンも一緒にドラッグできないと困るのでこういう作りなのです。
しばらく、_selfにして回避しておいて検討します。
216:Now_loading...774KB
08/08/08 16:42:19 3E1Lk/MU
>>214
clearBtn.onRelease = function() {
for (i=0; i<3; i++) {
for (j=0; j<2; j++) {
this._parent["radioBtn"+i+j].selected = false;
}
}
};
>>215
いやいや、だからいいと思うけど。
これでしょ?
URLリンク(uproda11.2ch-library.com)
DLキー:Flash
217:Now_loading...774KB
08/08/08 16:42:46 hDGwMOIe
>>215
だから、地図MCのなかにドラッグ用の透明でも背景でもいいけどMCを置いて
>>212のスクリプトを地図MCのフレームに書けばいいんじゃないのか?
そもそもonClipEvent (mouseDown)は、Flashのどこをクリックしても発生してしまうのだから
こういう場面では使わない方がいい。
どうしてもというなら、マウスがリンクボタンの上にあるときは、ドラッグ開始しないとかの
条件をつけておく。
218:Now_loading...774KB
08/08/08 18:09:53 vvIF8lQR
ActionScript3.0でフラッシュ自体の大きさをスクリプトの実行中に変えるにはどうしたらいいですか
例えばYoutubeの全画面化ボタンは、
以前は全画面ボタンを押すと新しい大きなフラッシュのページに飛んで全画面化を実現していましたが
今のYoutubeのプレイヤーは全画面化を押すとページが切り替わらずにフラッシュのプレイヤーの大きさが大きくなります
こういう事をやりたいのですが検索をしてみても要領を得られませんでした
ご存知でしたらご教示お願いします
219:Now_loading...774KB
08/08/08 18:22:06 h2w3CNeJ
確かにYoutubeのあれはやり方気になるな どうやってるんだろう
220:Now_loading...774KB
08/08/08 18:35:54 jr28n0pH
バイトコード読んで無いけどstage.displayStateだと思うよ
221:Now_loading...774KB
08/08/08 18:36:21 gpeKBz4K
>>216
さんきゅう。
やってみます。
222:Now_loading...774KB
08/08/08 18:37:44 gpeKBz4K
あー、ワタシ221は>>214ね。
223:Now_loading...774KB
08/08/08 18:44:50 3E1Lk/MU
>>218-220
おいおい。本気か?ネタか。
めんどいからActionScript3.0 フルスクリーンでググレ
224:Now_loading...774KB
08/08/08 19:30:30 cmsjT2lO
ページが変わらないってのはjavascript担当だとおも
225:Now_loading...774KB
08/08/08 22:32:51 NY+zwkHw
adobe flash cs3を使用しています。
シークバーのついたflvファイルを制作して
無限にループできるようにしたいのですが、エラーが出たりなどで
できません。
いろんなページを見て試しましたが全てエラーでした。
ActionScript3.0です。お願いします。
226:Now_loading...774KB
08/08/09 01:34:49 0FRGYsQy
>>225
わかりました
227:Now_loading...774KB
08/08/09 02:18:49 HiRyyXNl
お前の人生がエラーだよ
228:Now_loading...774KB
08/08/09 04:18:39 G9CXWAra
>>223-224
貧乏WEB土方さんって情報遅いんですね・・・
229:Now_loading...774KB
08/08/09 15:26:15 4sJJ87jn
>Flashのフルスクリーン
ゴチャゴチャと説明すると誤解とかありそうなので
適切そうな記事を提示しておきます(Screen操作に関しては関連記事も参考になるかと)
URLリンク(www.project-nya.jp)
230:Now_loading...774KB
08/08/11 14:57:34 TsNnBnyt
Flex3、ActionScript3.0です
sprite.graphics.beginFill(0x0000ff,1);
sprite.graphics.drawRect( 0,0,100,100);
のようにして描いたものに対して、
後から特定の座標に描かれている色を調べる方法はありますか?
getObjectsUnderPointで特定座標に存在するオブジェクトを取得できる事はわかったのですが、色を調べる方法がわかりません。
実際実現したい事はspriteオブジェクトをドラッグした時に、その下の表示オブジェクト(dropTarget)の色を調べる事です。
231:Now_loading...774KB
08/08/11 15:44:01 7YGrfVOp
ぱっと思いついたものだとBitmapData.draw(sprite)してgetPixel(x, y)
232:230
08/08/11 16:43:38 TsNnBnyt
>>231
ありがとうございます。
こんな感じで実装しました。
ただこれだと、dropTargetの負の座標に存在するオブジェクトが無視されるので、ちょっと問題がありますが・・。
private var target:DisplayObject
private var usedcolor:String;
private var spriteA:Sprite;
private function onMouseMove( evt:MouseEvent ):void{
target = spriteA.dropTarget;
var bmp:BitmapData = new BitmapData(target.width, target.height, true, 0);
bmp.draw(target);
var pixelValue:uint = bmp.getPixel(target.mouseX ,target.mouseY);
usedcolor = pixelValue.toString(16);
trace(usedcolor);
}
233:Now_loading...774KB
08/08/12 22:36:54 lQlawo36
,lllii、 _,,_
.,,iilll!゙ll,,,、 __,,,,,,,,,iiiiiillll!!!lll!
.,,iill!゙°.゙゙!lii,,、 ゙゙゙゙゙゙゙゙゚゙lllll!
,,iill!゙°_,,,,,,,,,,l!lllii,,,、 llllll
,,iil!゙゙゙'llllllllllll゙゙゙゙゙゙ .゚゙!llllliii,,,,_ __,,,llllll,iiillllliii、
ill゙゙゛ _,lllll,,,,iiiiiliiil,゙゙゙゙゙゙゙゙゙゙゙" .lll!ll゙゙゙゙゙lllll ̄,,,,,,__
'lllllllll゙゙゙゙゙lllll ゙̄,ii,,、 llllll .゚゙!!llli,
'lii,,,, llll ,iill!!゙ lllll| ゙゙゙,,,,,_
゙゙!!ll llllill゙゙’__,,,,,,、 .__,,,,,,,,,,,illlllliiilllllllllll!!llllllll.
.,,,,,,,,,,,iilllllll!!lll!!!!!!!!!!!!!l! llll!!l!!゙゙゙゙゙゙゙ ̄
゙゚゙゙″
●このレスをみたあなたに金玉潰しの呪いをかけました!
今夜、あなたが寝るときや、オナヌーするとき、クラスのブサい女子が現れ、
あなたの金玉をつぶしにやってきます。
それが嫌ならスレリンク(mmo板:145-番) とその他のスレに、
「ちんぽこマーチ」という言葉と、このコピペを書き込んでください。
すると、玉潰しが現れません。
スルーしてもかまいませんが、潰されても知りません。
・・・・さあ、いざ、あなたのところにも・・・?
234:Now_loading...774KB
08/08/12 22:58:11 dgbleKql
すごい待ってる!!!!ワクワクしてきた!!!!!
235:Now_loading...774KB
08/08/13 01:02:07 VjClvpwj
flex3 で任意のタイミングでstage上のマウスポインタの位置を
取得するのってできますか?
get_mouse_pos()みたいな関数でleaveしてたらエラーを返すようなの。
236:Now_loading...774KB
08/08/13 14:31:04 +xrZIMrU
SoundMixer.computeSpectrum()を使って、グライコやりたいんですが、
何故か音より先にcomputeSpectrum()のほうに値が入ってきます。
というより、音が遅れてるのかなあ?
これを解消する方法とかありませんでしょうか。
それとも、こんなもんだと諦めるしかないのかなあ・・・
237:Now_loading...774KB
08/08/14 02:38:32 NP4Zaa8e
System.useCodepage = true;
すると未定義である可能性が高いプロパティって怒られるんだがどうしてなんだろうか。
238:Now_loading...774KB
08/08/14 03:42:49 L2ZflYIQ
useCodePageだから
239:Now_loading...774KB
08/08/14 09:57:02 BkUavTrf
>>235
stage.mouseX
ではだめ?
240:Now_loading...774KB
08/08/15 01:15:14 jcWbDfb0
>>237
久々に見たこれw
241:Now_loading...774KB
08/08/15 01:50:04 9Wa4Jo7N
DBの内容をPHPで取り込んでFLASHで表示させるということをしたいんですが
PHP→FLASHの部分で躓いてしまいます
<param name="FlashVars" value="$out"> ※$outの内容は『date0=aaa』
でFLASHに投げてFLASHで受け取りたいのですが
oTxtName.text = unescape(_root.name);
oTxtCount.text = _root.count;
zyusin1=date0; ※zyusin1はダイナミックテキスト
と記述したのですがうまくいきません
どうすればよいでしょうか?
242:Now_loading...774KB
08/08/15 03:39:08 0pRjMK/9
ActionScript3.0としてのモーションのコピーをして貼り付けたやつで
複数のインスタンスに同時に同じモーションをさせることは出来ますか?
また同名のインスタンスを
var mc:MovieClip = new MowieClip();
のようにして作ってコピーしてきたモーションをさせることは出来ますか?
243:Now_loading...774KB
08/08/15 06:52:26 Gd9OTTkC
>>241
value="$out"って$outっていう文字列を渡してるんじゃね
あと、ASのバージョンを書け
>>242
複数インスタンスの動作は当然可能
同名のインスタンス名は不可能
244:Now_loading...774KB
08/08/15 12:02:21 ckI0L8Dl
>>241
向こうでも一応レスあったよ
移動したなら移動したって書いたほうがいい
245:Now_loading...774KB
08/08/15 12:05:57 wuR4htyh
はじめて質問させていただきます。
AS2.0で、
ループ再生しているムービーを、クリックしたときに
一定のフレームまで再生をつづけて、
そのあと別のフレームに移動させるスクリプトはありますか?
これによって、ループ再生してるムービーが違和感なく
次の動きに移ったように見せたいのですが、、
246:Now_loading...774KB
08/08/15 12:17:01 Gd9OTTkC
>>245
1つflgを作ってクリックでtrueにするとかの処理を作る
ループ再生している部分の一定のフレーム?の最後に
そのflgをみて、再度ループするか他の処理に行くかのif文入れとく
スクリプト作ってくれってのは無しでw
247:Now_loading...774KB
08/08/15 12:17:31 ckI0L8Dl
>>245
スクリプトがある、というより、そうなるようにAS書くってだけだけど
いくつか方法はあるよ。
クリックした時に、onEnterFrame発動させて、MCの_currentframeが
特定のフレームになるまで監視して別のフレームに移動させるとか
クリックした時に、フラグたてといて、特定のフレームにフレームアクションで
フラグの値がtrueならどこそこのフレームにgotoAndPlayしろって書いとくとか。
248:245
08/08/15 12:27:16 WCkH+01h
>246
>247
ありがとうございます。
いくつか方法があるようですね。
初心者もいいところですが、
FLGのほうはかろうじて調べればわかりそうです。やってみます!
フラグを使えば、例えば他にもクリックごとに違う動きをとらせることも可能ということでしょうか。
249:Now_loading...774KB
08/08/15 15:02:08 ckI0L8Dl
>>248
>フラグを使えば、例えば他にもクリックごとに違う動きをとらせることも可能ということでしょうか
そうそう。
if(){}else{}とかswitchステートメントを使って変数の値に応じて処理条件をわけることができる。
ヘルプで条件演算とか条件の記述といった項目を見ると、解説があるので
書き方はわかると思う。
250:Now_loading...774KB
08/08/15 19:15:59 F0gU4zJt
>>243
$outをdata0=aaaに変更して試してみたのですが
aaaと表示してほしいダイナミックテキストにはundefindと表示されてしまいました
ASは2.0、FLASHのバージョンはMX2004です
>>244
ありがとうございます
こちらに誘導させていただきました
251:Now_loading...774KB
08/08/16 01:02:30 0XeJiUmP
>>250
zyusin1は変数名なのか、インスタンス名なのか、どっち?
zyusin1は_rootにあるんだよね?
252:Now_loading...774KB
08/08/16 01:19:05 qkgMh7ab
>>251
zyusin1は変数名に設定していて_root上に配置しています
253:Now_loading...774KB
08/08/16 01:39:16 0XeJiUmP
>>252
確認はIEでしてるの?
254:Now_loading...774KB
08/08/16 02:35:36 qkgMh7ab
>>253
firefoxで動かしたいのでfirefoxで動作確認をしてます
DBを使うのでxamppで設定したアドレス(URLリンク(localhost)~)で確認してます
ファイルを直接指定(file:///C:/~)で試してみても結果は変わりませんでした
255:Now_loading...774KB
08/08/16 02:41:32 HnNPoklS
よくわからんが、
DBの内容を取得するPHPを別に用意してechoで出力。
それをLoadするというのはダメなん?
256:Now_loading...774KB
08/08/16 02:42:30 0XeJiUmP
>>254
embedタグでもちゃんと指定してる?
257:Now_loading...774KB
08/08/16 02:57:51 RybIB8F8
>>241
zyusin1=_root.date0;
だろ。
ヘルプ見ればすぐ済む話を
マルチまでしやがって引っ張りすぎだ。
258:Now_loading...774KB
08/08/16 03:08:01 WtQOPKvq
>>255
それもやってみたのですがよくわからなくて…
PHPで取り出したDBの内容をFLASHに読み込むことができれば成功なんです
>>256
bodyタグの間は↓の様に記述しています
<param name="FlashVars" value="date0=aaa">
<embed src="test.swf">
>>257
できませんでした…
259:Now_loading...774KB
08/08/16 03:23:35 RybIB8F8
>>258
paramタグはobjectタグと併用するIE用のものでFirefoxじゃ意味無い。
embedタグは以下のように記述する。
URLリンク(support.adobe.co.jp)
embedとobjectのタグの違い
URLリンク(allabout.co.jp)
260:Now_loading...774KB
08/08/16 03:35:19 0XeJiUmP
やはりembedタグの記述抜けが原因だったか…
261:Now_loading...774KB
08/08/16 04:19:54 5vNWF8eO
>>259
できました!ありがとうございます!
>>260
長々と申し訳ございませんでした。
皆様ありがとうございました!
262:Now_loading...774KB
08/08/16 06:55:25 Oyxvui6A
AS3、FlashDevelopです。
別のフォルダ階層にあるasファイルクラスの使い方を教えてください。
スタートクラスがMain.as、使いたいasファイルがforuda/Hoge.asとします。
ググってそれっぽいのを見つけてMain.asに
import foruda.Hogeやimport com.foruda.Hoge
と書いたのですが、どちらもうまくいきません。
前者は変な長いエラーメッセージ、
後者はcom.foruda:Hogeが見つかりませんと出ます。
263:Now_loading...774KB
08/08/16 07:04:26 a2oJizrF
>>262
そのフォルダをクラスパスに追加汁
変な長いエラーじゃわからんw
264:Now_loading...774KB
08/08/16 07:17:15 Oyxvui6A
>>263
ありがとうございます。
もう一度探していて、Hogeファイルのpackage名に
forudaと付けると(フォルダ名と同じ名前)うまくいったのですが、
これのことでしょうか。
変な長いエラーは、通常はでる行番号が出なくて、↓の感じです。
A file found in a source-path must have the same package
structure 'foruda', as the definition's package, ''.
そのクラスパスの事だと思われます。
265:Now_loading...774KB
08/08/16 13:28:06 2xKUbVYj
YoutubeのようにマウスがFlash上にあるときは、マウスホイールのスクロールを
Flash側で処理する(ブラウザをスクロールさせない)ためにはどうすれば
よいのでしょうか。
なぜかFlash内のコンテンツもブラウザも同時にスクロールしてしまい、
困っています。
266:Now_loading...774KB
08/08/16 15:46:32 hFeGF9f7
>>265
過去ログ、せめてこのスレくらい検索しようと何故思わなかったのでしょうか。
267:265
08/08/17 08:47:35 BJbe5mL8
過去ログではうまく情報を見つけられませんでした。
探し方が下手なのかもしれません。
このスレでは上の方で「wmode="transparent"」の対策を見たのですが、
自分の環境ではこのパラメータを設定してもブラウザとFlashコンテンツが
同時にスクロールしてしまいます。
wmodeを外しても同じです。
またYoutubeのタグを見てみたところ、特にwmodeなどの指定はなかった
ために、Flash/Flex内で完結した対応方法があるのかと思っていました。
もしもご存じでしたら、お教えください。m(_ _)m
268:前スレ985
08/08/17 09:28:54 YOp9Xplr
マウスオーバーしてる場合だけスクロール制御でスクロールさせないようにしてるんジャマイカ?
269:Now_loading...774KB
08/08/17 12:10:11 YOp9Xplr
スクロール制御じゃなくて、ホイール制御でした。失敬。
マウスオーバーに関係なくホイール制御を奪うようにすればok
270:Now_loading...774KB
08/08/17 12:31:29 BfBYh6/6
>>267
本題とは関係ないが、他人に手間を取らせるんだから、
自分が試したことを書いておくのは最低限の礼儀だよ
>>1に
●質問する時は自分の環境を書く(AS2,AS3の別も)
●質問はものすごい勢いじゃなくて結構
●できるだけコードも示す
●まず自分がやりたいことを明確に書く。そのために試してみた処理を書く
って書いてあるけど全然守ってない、つまり過去ログどころか>>1も読んでないわけだ
271:Now_loading...774KB
08/08/17 19:03:22 hmHSJau8
AS3です
Sprite(container)が定位置(.x = 200)に来たら分岐条件で元の位置に徐々に.xする、
と言うのをやりたいのですが思ったとおりの挙動をしてくれません。
//移動フラグ
if ( container.x >= 100) //左進行フラグ
{
migi = -1;
hidari = 0;
}
else( 0 >= container.x ) // 右進行フラグ
{
migi = 0;
hidari = +1;
}
var pos_x = migi+hidari;
container.x += pos_x;
実行はTimerで連続処理させてます、
結果はSpriteが右に行ったきり戻ってきませんでした
どの様にするべきでしょうか?初歩的ですが宜しくお願いします。
272:265
08/08/17 19:30:14 BJbe5mL8
>>270さん
失礼しました。
●環境はAS3(Flex Builder3)
●実現したいこと
1 ブラウザ上のFlash領域にマウスがある場合はマウスホイールの
操作をブラウザに反映したくない。(ブラウザのスクロールを
させたくない)。Flashはスクロールさせたい。
2 マウスがFlash領域の外側に移動、もしくはフォーカスがFlashに
ある場合は領域の外をクリックすることでマウスホイールの
動作はブラウザにのみ反映したい(Flashをスクロールさせずに
ブラウザのみスクロールさせる)
●試してみたこと
1 このスレで得た情報のwmode="transparent"指定をつけたり外したり
2 以下のコードのようにマウスホイールのイベントを取得して
デフォルト動作のキャンセルをしようとしたがダメだった。
(event.cancelableがfalseでどうもホイールのデフォルト動作は
キャンセルできない?)
※コードは手元にないため正確ではありません。
scrollArea.addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel);
private function onMouseWheel(event:MouseEvent):void{
event.preventDefault();
}
コードは今手元にありませんので、これ以上はお伝えできません。
ご存知の方おられましたら、よろしくお願いします。
273:Now_loading...774KB
08/08/17 19:45:39 VpRVlqJJ
>>271
else( 0 >= container.x ) // 右進行フラグ
↓
else if( 0 >= container.x ) // 右進行フラグ
とまあifが抜けてるだけ
ifが抜けるとelseが掛かるのは
( 0 >= container.x )
の部分だけとなり
{
migi = 0;
hidari = +1;
}
の部分がif else文と何ら関係なく
常に実行されてた訳
274:Now_loading...774KB
08/08/17 20:04:34 VpRVlqJJ
>>272
URLリンク(f-st1029.noc.toyama.nsk.ne.jp)
詳しくは見てないがこれとサイトのリンク先見る限りでは無理っぽいような
275:Now_loading...774KB
08/08/18 02:44:57 L4D0ELjG
>>273
根本的な部分は解決した、ありがとう
276:Now_loading...774KB
08/08/18 03:34:08 B7mViElF
勉強中です。
onイベントハンドラを使用してイライラ棒的なものを作製しました。
ロールオーバーを使用して境界線を引いていますが
右クリックしたままだとonイベントが発生せずスルーされてしまうことが分かりました。
どうしたらマウスをクリックしたまま触れてもロールオーバーイベントを発生できるのでしょうか?
277:Now_loading...774KB
08/08/18 04:15:59 Wwewy3wd
>>276
dragOver(ボタンの外から内側へ向けてドラッグすると)
併記してみて
278:Now_loading...774KB
08/08/18 04:32:15 B7mViElF
>>277 ありがとうございます。
併記ですが、変な形の動く壁のシンボルに記述しています。
on (rollOver, dragOver) {
gotoAndPlay ("gameover");
}
ではスルーされたので、それぞれの命令を分離させて
on (rollOver,) {
gotoAndPlay ("gameover");
}
on (dragOver,) {
gotoAndPlay ("gameover");
}
のようにしてみましたがやはりClickしたまま状態だと抜けられてしまいました。
書き忘れましたがAS1.0です。
試しに、ボタンシンボルをいっこ作って同じ操作をしてみたんですが
もしかしてFlashの仕様として、クリック状態だとマウスオーバーとは認識されないんでしょうかね・・・
279:Now_loading...774KB
08/08/18 04:32:38 kFg0p1MN
>>276
右クリックでメニューが出てる状態ではロールオーバーとかは制御不能なんじゃないかな???
右クリックされるのが嫌ならゲーム中の右クリックは禁止にするといいかもね。
右クリックしたと同時にゲームオーバー、みたいに。
メニュー欄で出来る設定なんかはゲーム中にいじる必要はないわけだし。
例えば、タイトル画面までは右クリックでメニュー開ける状態にしていつでも
設定を変える事ができるようにしておいて、ゲーム開始と同時に
『右クリック押したらゲームオーバー』イベントを反応するようにしておく。
ゲームオーバーになったら、タイトル画面に戻して、上のイベントは切っておく。
そんな感じで。
280:277
08/08/18 04:38:56 Wwewy3wd
ごめん実際試して見たけどdragOverじゃ駄目だみたいだねorz
マウス座標使うか、hitTest使うかかな?
ここまで書いた時点でリロードwおっとっと
右クリックは誤記だよね?w
281:Now_loading...774KB
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;
}
も駄目でした・・・。いずれも同様のエラー、「条件は未定義であり、プロパティがありません」お助けください