チェンジセット 2632
- コミット日時:
- 2009/05/13 17:59:05 (3 年前)
- ファイル:
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/BeatDispatcher/src/net/alumican/as3/utils/beatdispatcher/BeatDispatcher.as
r2390 r2632 46 46 private var _totalPosition:uint; 47 47 48 private var _currentTime:Number; 49 private var _totalTime:Number; 50 private var _currentRatio:Number; 51 private var _trackStartTime:Number; 52 48 53 private var _startTime:Number; 49 54 private var _oldTime:Number; … … 82 87 public function get totalPosition():uint { return _totalPosition; } 83 88 89 public function get currentTime():Number { return _currentTime; } 90 public function get totalTime():Number { return _totalTime; } 91 92 public function get currentRatio():Number { return _currentRatio; } 93 84 94 public function get isOnMeasure():Boolean { return _isOnMeasure; } 85 95 public function get isOnBeat():Boolean { return _isOnBeat; } … … 112 122 _totalPosition = _measure * _beat * _tpqn; 113 123 124 _totalTime = 1000 * _measure * _beat * 60 / bpm; 125 114 126 _isTicking = false; 115 127 … … 149 161 _isOnStart = true; 150 162 _isOnComplete = false; 163 164 _trackStartTime = _startTime; 165 _currentRatio = 0; 166 _currentTime = 0; 151 167 152 168 //イベント発行 … … 293 309 var hasListener:Boolean = false; 294 310 295 var currentTime:Number = getTimer();296 var elapsedTime:Number = _tpqn * _bpm * ( currentTime - _startTime) / 60000;311 var time:Number = getTimer(); 312 var elapsedTime:Number = _tpqn * _bpm * (time - _startTime) / 60000; 297 313 298 314 //最小時間単位 … … 306 322 ++_currentTick; 307 323 _oldTime = elapsedTime; 324 _currentRatio = 0; 308 325 309 326 if (_refCounter[_currentPosition] != null) { … … 343 360 _currentPosition = 0; 344 361 362 _trackStartTime = getTimer(); 363 345 364 _isOnComplete = true; 346 365 … … 350 369 } 351 370 371 _currentTime = time - _trackStartTime; 372 _currentRatio = _currentTime / _totalTime; 373 352 374 //イベントの発行 353 375 if (_isOnStart ) _dispatchCustomEvent(BeatDispatcherEvent.START);

