• 締切済み

指定の角度で回転を止めたい

はじめまして。 flash8にて素材を回転させつつ、指定の角度になると回転が止まるというASを書きたいのですが、私の記述で再生すると、フレームに入った瞬間指定の角度に到達して止まってしまいます。 上記の条件を満たすには、どのような記述になるのでしょうか? ASを書き初めて、いきなりつまづいてます。

みんなの回答

noname#35109
noname#35109
回答No.1

途中までで良いので, スクリプトを書いてほしかったところですが。 その辺のところがよくわからないので, 勝手に素材のインスタンス名を 「sozai」 というインスタンス名のムービークリップにして, _root (メインムービーのタイムラインのステージ上)に置いたということで回答します。 そのインスタンス名「sozai」のムービークリップを配置したフレームと同じ フレーム に, 次のようなスクリプトを書けばできると思います(コピペ可能)。 ------------------------------------------------ // 素材の回転する角度を指定 (※可変) var kakudo = 280; // 素材の回転する速度を指定 (※可変) var sokudo = 10; // // 素材の角度の変数 sozai_kakudo の初期化 var sozai_kakudo = 0; // // 1フレーム進む時間ごとに毎回実行 _root.sozai.onEnterFrame = function() { // // もし sozai_kakudo の値が kakudo 未満であれば if (_root.sozai_kakudo<_root.kakudo) { // _root の変数 sozai_kakudo を sokudo(速度) ずつ加算 _root.sozai_kakudo += _root.sokudo; // そして this(sozai )の回転に sozai_kakudo の値を代入 this._rotation = _root.sozai_kakudo; // } else { // それ以外はkakudoで固定 this._rotation = _root.kakudo; // そしてこの onEnterFrame を解除 delete (_root.sozai.onEnterFrame); } }; ------------------------------------------------ こういうことって, やり慣れている私(○年,四捨五入で10年近くもこんなことやってます)でも, けっこう難しいです。 上の スクリプトを書くのでも 2回失敗して,トータル 10 分くらいかかってしまいました。 onEnterFrame が出てきたり,変数をたくさん使ったり, ムービークリップの _rotation プロパティだけでは済まない複合的な要素を多数含みます。 if文とかもそうです。 経験から「そうなる」という部分も含まれています。 わからない部分は,なんとかヘルプやネットで検索してみて理解してください。

関連するQ&A