トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   どこでもFlash【携帯向けFlash関連】
     evalが思うようになりません…涙
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ebi
Åê¹ÆNo.25277
投稿日時: 2006-5-1 14:52
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
evalが思うようになりません…涙
ebiです。

しばらくLite触ってなかったら、分からなくなっちゃいました。
もうかれこれ2・3時間、過去作ったFLAファイルなど参考にしながら、
考えてるんですが、完全にドツボにはまってます。
何か見落としてるとは思うのですが…
「なんでこんな基本的な事できんのや?」と頭モジャモジャ。
以下、ザックリご指摘いただければ幸いです。助けてえ。

えー、まず状況としては、
ルートにインスタンス「B1」があります。もちろん透明度100%です。
ルートの1フレーム目に以下のスクリプトを書きます。

 i = 1;
 setProperty(eval("B" add i), _alpha, eval("B" add i add ":_alpha") -50);

で、ムービープレビュー。
僕の思惑では、これでB1の透明度が50%になるハズなんです。

…なりませーん。


試しにi = 1;の下に、
 trace("B" add i add ":_alpha");
を入れてみました。
結果は
 B1:_alpha
でした。

これをeval()で評価してるはずなのに…
ってわけでハテナ?なのです。
いったい何がいたらないと言うのでしょう?


 ※質問のためだけのスクリプトです。実用関係ないですので、
  「setProperty("B1", _alpha, B1:_alpha -50); でいいじゃん」
  みたいな回答はノーサンキウです。これで動くのは分かってます。
  あくまでeval()かませるとNG→ナンデ?が質問意図です。
ひろゆき
Åê¹ÆNo.25280
投稿日時: 2006-5-1 15:32
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: evalが思うようになりません…涙
ちなみに、次のようなスクリプトだと動くようですね。
i = 1;
setProperty(eval("B" add i), _alpha, getProperty(eval("B" add i) ,_alpha) -50);

i = 1;
setProperty(eval("B" add i), _alpha,  eval("B" add i)._alpha -50);


eval("B" add i add ":_alpha") とした場合の「:」は、
単なる文字列になっているのではないかと思ったのですが、
はっきりとは分かりません。

ただ、this["B"+i+"._alpha"] としても、
B1プロパティにアクセスできないと同じではないかと。

とりあえず、詳しい方のレスまでの繋ぎということで。


----------------
質問する際は、回答者に具体的な情報を与えてください。

ebi
Åê¹ÆNo.25281
投稿日時: 2006-5-1 15:51
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
Re: evalが思うようになりません…涙
ひろゆきさん、毎度どうもです。

試してみました。1つ目、

あ、ほんとだぁ。動く。
なるほどgetPropertyかますんですね。

2つ目は…えっ…ええっ!? ナンデストォ!!??

「eval("B" add i)._alpha」の「.」ってアリなのぉ?
「:」じゃないとダメなもんとばかり思ってました。

このヒントでピンときて、試しに、

eval("B" add i)._alpha-=50;

としたら…うごうごうごうごくやん!
そもそもsetProperty自体、使う必要ないって事やん!

失われた3時間はいったい…トホホホホホホ
lite、なんだよぅ…ver4ベースじゃないのかオイィ…

ってわけで、本題eval()に絡んだ件もクリアな上、
思わぬ収穫(文字数少ない、分かりやすい)まで得て解決です。
これまでsetProperty使ってた人は、これからこうしよー(僕だけ...?)

ひろゆきさん感謝です。
対面してたらちゅーしたいほど感謝です。
ひろゆき
Åê¹ÆNo.25282
投稿日時: 2006-5-1 16:00
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: evalが思うようになりません…涙
引用:
「eval("B" add i)._alpha」の「.」ってアリなのぉ?

私も、そう思ったんですけど。
 Flash Lite 1.x ActionScript の学習
 Flash 4 ActionScript 入門 > eval() 関数の使用
あたりのヘルプを見ると、ドット「.」を用いたスクリプトがありました。


----------------
質問する際は、回答者に具体的な情報を与えてください。

ebi
Åê¹ÆNo.25283
投稿日時: 2006-5-1 16:05
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
Re: evalが思うようになりません…涙
引用:
Flash 4 ActionScript 入門 > eval() 関数の使用
あたりのヘルプを見ると、ドット「.」を用いたスクリプトがありました。


って事はver.4から、このドット「.」表記、使えたって事ですか…
ホント、今まで何してたんだろ…って感じです。
とにかく今後、かなり楽になります。

情報ありがとうございました。
ひろゆき
Åê¹ÆNo.25284
投稿日時: 2006-5-1 16:09
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: evalが思うようになりません…涙
引用:
って事はver.4から、このドット「.」表記、使えたって事ですか…

いや、ドットシンタックスは、Flash5からでしょう。


----------------
質問する際は、回答者に具体的な情報を与えてください。

ebi
Åê¹ÆNo.25285
投稿日時: 2006-5-1 16:15
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
Re: evalが思うようになりません…涙
え?
でも『Flash 4 ActionScript 入門』に書かれてたのは...?
単に誤表記って事ですか?

ドット「.」はver5からは、
僕もこれまで、そう認識してたので、おどろいたとです。
コマツ
Åê¹ÆNo.25287
投稿日時: 2006-5-1 16:16
職人
居住地: 東京都葛飾区
投稿: 356
使用環境:
windows7
CS5.5 CS6
Re: evalが思うようになりません…涙
Flash Lite1.xは、一応Flash4ベースですので、ドットのシンタックスも、(すべではないかと思いますけど)書き出し時に変換をしてくれているんだと思います。


参考までに、


eval("B"add i)._alpha -= 50;

とか、


_root["B"add i]._alpha -= 50;


みたいな書き方でもありかと。




関連スレッド:
http://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=4256&forum=8&post_id=22462
ebi
Åê¹ÆNo.25288
投稿日時: 2006-5-1 16:22
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
Re: evalが思うようになりません…涙
コマツさん、どうもです。

引用:
_root["B"add i]._alpha -= 50;


あらー、これもいいんですか。
ハコはさっき使ったけど、NGだったのに。
と思って振り返ったら、

this["B"add i]._alpha -= 50;

でした… ややこしい…
_rootはOKなんですね。


※追記
 ハコと書きましたが、正確には“配列アクセス演算子”です。
 ([]これの事)ふだん呼んでるまま書いちゃいました。
ひろゆき
Åê¹ÆNo.25289
投稿日時: 2006-5-1 16:23
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: evalが思うようになりません…涙
引用:
でも『Flash 4 ActionScript 入門』に書かれてたのは...?
単に誤表記って事ですか?

引用:
Flash 4 ActionScript 入門

Flash 4 ActionScript のシンタックスや機能に詳しくない方や、以前の Flash 開発作業でのいくつかの詳細を忘れてしまった方のために、この章では、Flash Lite アプリケーションで Flash 4 ActionScript を使用する際の入門情報を提供します。
とのことなので、
Flash4を使用する上での説明をされているわけではないのでしょう。

Flash4の頃は、こんな感じのスクリプトだったよぉ?。ってことかと。


----------------
質問する際は、回答者に具体的な情報を与えてください。

(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops