public override void Play(MovieCallback callback)
        {
            if (callback == null)
            {
                Play();
                return;
            }
            if (_startFrame == _endFrame)
            {
                GotoFrame(_startFrame);
                callback(this);
                return;
            }
            Stop();

            GotoFrame(_startFrame);
            MovieImpAction     action         = new MovieImpAction(this, _startFrame, _endFrame);
            CCActionFiniteTime callbackAction = new CCCallBlock(delegate {
                callback(this);
            });
            CCActionInterval seq = CCSequence.Actions(action, callbackAction) as CCActionInterval;

            if (_loop)
            {
                _action = new CCRepeatForever(seq);
            }
            else
            {
                _action = seq;
            }
            _view.runAction(_action);
        }
        public override void Play()
        {
            if (_startFrame == _endFrame)
            {
                GotoFrame(_startFrame);
                return;
            }
            Stop();
            GotoFrame(_startFrame);
            MovieImpAction movieAction = new MovieImpAction(this, _startFrame, _endFrame);

            if (_loop)
            {
                _action = new CCRepeatForever(movieAction);
            }
            else
            {
                _action = movieAction;
            }
            _view.runAction(_action);
        }