- ベストアンサー
時計の針を回転させる
テキスト入力ボックス と 時計の針 を作り、テキスト入力ボックスに3と入力すると90度に針が傾き3時を指し、6と入力すると針が180度傾き6時を指す というASを書きました。 onClipEvent ( enterFrame ){ H01 = (360/12)*_root.HTjikan; /*変数01 = 360度を12分割 × 変数テキスト時間(テキスト入力枠)で時計の針の角度を算出*/ this._rotation = this._rotation+((H01-this._rotation)/2); /*1/2づつ針が回転して行き、目的の角度になったら制止 */ } しかし、上記ASだと180度以上(6時以降)に設定すると、針が指定のところで止まらず、ぐるぐる回ってしまいます。自分なりに調べてみると、_rotationが180度を超えると -180 を返している為、上記の式では対応できず、針がぐるぐる回ってしまうという状態です。 6時以降も同様に時計の針を動かしたいのですが、何か良い方法はないものでしょうか? アドバイスやご教授をいただけたらと思います。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
その他の回答 (1)
- suzuki-_-
- ベストアンサー率77% (152/195)
関連するQ&A
- 角度を指定して回転
スクリプト1 //////////////////////////////////////////////////////////////// onClipEvent (load) { this.x_rotation = 0; d = 1; } onClipEvent (enterFrame) { this._rotation = _rotation += d; if (this._rotation>=90 || this._rotation<=0) { d = -d; } } //////////////////////////////////////////////////////////////// スクリプト2 //////////////////////////////////////////////////////////////// onClipEvent (load) { this.x_rotation = 0; } onClipEvent (enterFrame) { this._rotation = _rotation += 1; if (this._rotation>=90) { this._rotation = -1; } } //////////////////////////////////////////////////////////////// これは、MCが0度~90度の範囲で行ったり来たりするscriptです。 正常に動かないというわけではありませんが、スクリプト2では、90度に達した後いきなり0度に戻ってしまいます。 90度に達したら80度、70度と0度まで戻って欲しいのです。 なぜdを使うのか、スクリプト2ではダメなのかいまいちよく分かりません。 理由と考え方を教えてください。 よろしくお願いします。
- ベストアンサー
- Flash
- Flashのアナログ時計、針の精度を高めたい
質問失礼します。 僕は、インターネットで調べながらFlashでのアナログ時計を作ったのですが、針が1秒ずつ「カチッ、カチッ」としか動かないのです。(抽象的ですがお許しください) それで、インスタンス名「jikan」に、時間の変数 hour と 分の変数 min を使って以下のように書きました。 jikan = hour * 30 + min / 2; ここまではよかったのですが、これ以上回転角度を細かく(スムーズに)することは不可能でしょうか。 できれば、そのための式を出していただけると非常に助かります。
- ベストアンサー
- Flash
- 時計の長針が短針に重なり、更に追い越すのはなぜ?
変な質問かもしれませんが、ふと思ってしまったので質問させてください。 時計でなくとも良いのですが、一番聞きやすいと思いこれを例にとりました。 長針と短針、角度で表す事ができますよね。長針がだんだん短針に近づいてくると、角度もだんだん少なくなってきます。そして、11時59分辺りでしょうか、角度も1度位になります。 そして時計は進み、針は更に狭まり、1度の次は0.9度になり、更に0.1度になると次は0.09度、、、そして、数字は無限ですから、永遠にこれを繰り返していってしまい、いつになっても角度0ゼロにならないのではないかと心配してしまいます。 しかし、何事もなく次の瞬間には時計の針はカチっと重なり、その後長針が短針を追い抜いていきます。 また別の表現方法で、例えば、普通の時計で針が重なって見えてしまう程の角度の狭さでも針を十分延長すれば先の方では大きく離れてる事でしょうし、その先の方までも重なる位の角度の狭さになっても更に宇宙規模の数万光年の長さになる針ほどに延長すれば、今尚延長された先の方は大きく離れているだろうと思いますし、(これを繰り返せば永遠に針は重ならないようで心配です) なぜでしょうか、説明がわかりづらかったかもしれませんが、解る方いましたら教えてください。
- ベストアンサー
- 物理学
- 回転を使って、ハンドル操作をしたい
いつも、ありがとうございます。MACOSX、Flash8です。 ゲームの中で、ハンドル操作ができるようにしたいのですがなかなかうまくいかなくて困っています。 マウスの座標から、角度を出してrotationしたいのですが。 MouseDownで EnterFrame、マウスをドラッグしている間にカーソルに 合わせて回転してほしいのです。 1回転する必要はなく45度とー45度の間だけで動かします。 ハンドルのトップを0として、マウス座標から計算した角度をいれることによってできないかと思っているのですが、スクリプトがうまくかけません。 宜しく、お願い致します。
- ベストアンサー
- Flash
- ムービークリップの位置と角度の制御について
スクリプト初心者です。 ●矢印の形をした、ムービークリップ(mc1)がステージ端まで移動すると跳ね返り、跳ね返る方向に向きを変えるスクリプトで悩んでいます・・。 ●ステージサイズ:400×300 シーン1、1フレーム目にmc1配置。 mc1をシーン1に配置の際、角度45度に。 mc1に下記スクリプトを書きました。 onClipEvent(load){ vx=5; vy=5; } onClipEvent(enterFrame){ this._x += vx; this._y += vy; if (400 < this._x) { vx = -5; this._rotation=-135; } if (300 < this._y) { vy = -5; this._rotation=135; } if (this._x < 0) { vx = 5; this._rotation=-45; } if (this._y < 0) { vy = 5; this._rotation=45; } } ●ステージ端まで行くと矢印(mc1)が跳ね返る事は、出来たのですが、方向(回転角度)がうまく出来ませんでした・・。 自分でも、これでは、回転角度がうまく行かないと分かってはいるのですが・・。 どなたかお分かりの方おられましたら助けてください! よろしくお願いいたします。
- ベストアンサー
- Flash
- エクセルで16進数に代入したい。
こんにちは、tuneoです。 エクセルで、テキストボックスを表示して、 そこに例えば「8F」と入力した文字を バイト型変数として式に代入したいのです。 例えば、テキストボックスとボタン1を配置して、 ボタン1を押すと、 バイト型配列変数 Dim a(3) as Byte に a(0)=&h8F というように代入したいのです。 出来れば、テキストボックスに 「8F0E5BAF」と入力すると a(0)=&h8F a(1)=&h0E a(2)=&h5B a(3)=&hAF と代入できるとさらにOKなのですが。。。。
- ベストアンサー
- Visual Basic
- ゼンマイ式の柱時計が止まる理由
ドイツ製のゼンマイ式柱時計を買いましたが、時々止まってしまいます。特に針を合わせたとき、ゼンマイを巻いた時などです。 一回順調に動き始めるとゼンマイの効いている数週間は動き続けるので故障ではないとおもうのですが・・・ 時計の設置角度とか針のいじり方とか何かノウハウがあるのでしょうか?
- 締切済み
- その他(住まい)
- シンボルを回転させたいのですが、うまくいきません。
はじめまして。Flash初心者です。 Flashを使ったものをWEBサイトに取り入れたいと思いまして、 ネットでモデルとなるものを探してました。 その結果、 http://flashrave.org/as/rotation/index.html のサイトのものを作ってみたいのですが、エラーがでてしまします。 私の最終的にした事。 1,回転させたい画像を、イラストレーターに読み込み、swfで保存する。 2,Flashを開きライブラリから新規シンボルを作成。ムービークリップを選択し、ソースから1で使用したhtmlファイルを読み込んでみる。(読み込まないも試してみる) シンボルの画面から、ファイル→読み込みでswfファイルを読み込む。 画像がでる。 3,シーン1にシンボルが表示される。それを選択して サイトにあった onClipEvent (enterFrame) { this._rotation += 1; } このソースをアクションに貼付ける。 4,保存して、動かしてみる。 5,すると以下のようなエラーが出力される **エラー** シーン = シーン 1, レイヤー = レイヤー 2, フレーム = 1 :行 2:シンタックスエラー this._rotation += 1; **エラー** シーン = シーン 1, レイヤー = レイヤー 2, フレーム = 1 :行 3:予期しない '}' があります。 } ActionScript エラー数 :2 報告済みエラー :2 以上です。初心者なので単純なミスかもしれません。Flash8を使っています。 どなたかご教授宜しくお願い致します。
- ベストアンサー
- Flash
お礼
sassakunさん、書き込みありがとうございます。 基本を私に合わせる形でご回答いただき、ありがとうございます。 1カ所だけ( !isNaN )私には謎でしたが、1カ所だけ謎というのが何か課題を出されたようで、ここだけ調べて一つステップアップ(^0^)という感じで、とても良い勉強をさせていただいている気分になってきます。 大変参考になり勉強になります。(^^) 書き込みいただきありがとうございました。