コード例 #1
0
    //private static bool showDefaultFlag=false;

    void Awake()
    {
        instance = (TapDetector)target;

        //~ public enum _ChargeMode{Once, Clamp, Loop, PingPong}
        int enumLength = Enum.GetValues(typeof(_ChargeMode)).Length;

        chargeModeLabel   = new string[enumLength];
        chargeModeTooltip = new string[enumLength];
        for (int i = 0; i < enumLength; i++)
        {
            chargeModeLabel[i] = ((_ChargeMode)i).ToString();
            if ((_ChargeMode)i == _ChargeMode.Once)
            {
                chargeModeTooltip[i] = "The charge end event will only trigger once and will trigger as soon as the charge reaches full amount";
            }
            if ((_ChargeMode)i == _ChargeMode.Clamp)
            {
                chargeModeTooltip[i] = "The charge end event will only trigger once and will trigger when the touch/mouse has been released";
            }
            if ((_ChargeMode)i == _ChargeMode.Loop)
            {
                chargeModeTooltip[i] = "The charge end event will trigger as soon as the charge reaches full amount. The charge will reset and restart immediately";
            }
            if ((_ChargeMode)i == _ChargeMode.PingPong)
            {
                chargeModeTooltip[i] = "The charge end event will only trigger once the touch/mouse has been released. The charging process will be switching back and forth between 0% and 100%";
            }
        }
    }
コード例 #2
0
    void OnToggleButton()
    {
        type += 1;
        if (type > 3)
        {
            type = 0;
        }

        if (type == 0)
        {
            TapDetector.SetChargeMode(_ChargeMode.Once);
        }
        else if (type == 1)
        {
            TapDetector.SetChargeMode(_ChargeMode.Clamp);
        }
        else if (type == 2)
        {
            TapDetector.SetChargeMode(_ChargeMode.Loop);
        }
        else if (type == 3)
        {
            TapDetector.SetChargeMode(_ChargeMode.PingPong);
        }

        labelType.text = TapDetector.GetChargeMode().ToString();
    }
コード例 #3
0
    void OnGUI()
    {
        //string displayText="";
        //if(type==0) displayText=

        if (GUI.Button(new Rect(Screen.width - 150, 40, 130, 40), TapDetector.GetChargeMode().ToString()))
        {
            type += 1;
            if (type > 3)
            {
                type = 0;
            }

            if (type == 0)
            {
                TapDetector.SetChargeMode(_ChargeMode.Once);
            }
            else if (type == 1)
            {
                TapDetector.SetChargeMode(_ChargeMode.Clamp);
            }
            else if (type == 2)
            {
                TapDetector.SetChargeMode(_ChargeMode.Loop);
            }
            else if (type == 3)
            {
                TapDetector.SetChargeMode(_ChargeMode.PingPong);
            }
        }
    }
コード例 #4
0
    /*
     * all the _ChargeMode available in TapDetector
     *      Once,
     *      Clamp,
     *      Loop,
     *      PingPong,
     */

    // Use this for initialization
    void Start()
    {
        buttonToggleMode.onClick.AddListener(delegate { OnToggleButton(); });

        type = (int)TapDetector.GetChargeMode();

        labelType.text = TapDetector.GetChargeMode().ToString();
    }
コード例 #5
0
ファイル: Deck.cs プロジェクト: chriszumberge/War
    void Awake()
    {
        // Cards are being dealt out by GameManager
        //cards.Shuffle();

        TapDetector detector = Camera.main.GetComponent <TapDetector>();

        detector.SubscribeToTap(this);
    }
コード例 #6
0
ファイル: CommonButtonBase.cs プロジェクト: Nitudon/govox
        public void Reset()
        {
            var rect        = GetComponentInChildren <HitRectArea>(true);
            var image       = GetComponentInChildren <Image>(true);
            var tapDetector = GetComponentInChildren <TapDetector>(true);

            if (rect != null)
            {
                _hitArea = rect as Graphic;
            }
            else
            {
                _hitArea = image as Graphic;
            }

            _buttonImage = image;
            _tapDetector = tapDetector;
        }
コード例 #7
0
ファイル: MainForm.cs プロジェクト: thomas5lab/PSVRFramework
        public MainForm()
        {
            InitializeComponent();

            tapper         = new TapDetector(0.07f);
            tapper.Tapped += Tapper_Tapped;

            try
            {
                if (CurrentOS.IsWindows)
                {
                    hookedEvents          = Hook.GlobalEvents();
                    hookedEvents.KeyDown += HookedEvents_KeyDown;
                }
            }
            catch { }

            cmdListen = new RemoteCommandListener(14598);
        }
コード例 #8
0
    /*
     * all the _ChargeMode available in TapDetector
     *      Once,
     *      Clamp,
     *      Loop,
     *      PingPong,
     */

    // Use this for initialization
    void Start()
    {
        _ChargeMode chargeMode = TapDetector.GetChargeMode();

        if (chargeMode == _ChargeMode.Once)
        {
            type = 0;
        }
        else if (chargeMode == _ChargeMode.Clamp)
        {
            type = 1;
        }
        else if (chargeMode == _ChargeMode.Loop)
        {
            type = 2;
        }
        else if (chargeMode == _ChargeMode.PingPong)
        {
            type = 3;
        }
    }
コード例 #9
0
ファイル: GamePlayer.cs プロジェクト: chenlini/LMix
    //bool isPlaying;
    // Use this for initialization
    void Start()
    {
        /*
            this part used to load seleted song
         */
        /*
        {
        "Tags": [],  // 标签
        "Creator": "",  // 制作者
        "GameObject": {  // 游戏物件,如落键,转盘
        "Hard": [],
        "Easy": [[0, 10000, 1, 1],  // [类型, 时间, 位置, 速度]
                 [0, 10000, 2, 1],
                 [0, 15000, 1, 1],
                 [0, 16000, 2, 1]],
        "Normal": []
        },
        "Artist": "",  // 艺术家
        "Difficulty": {  // 难度设定
        "Speed": 1
        },
        "Source": "",  // 来源
        "Version": "",  // 版本
        "Title": "",  // 谱面标题
        "Audio": {  // 音频文件信息
        "Length": 0,
        "Name": ""
        }
        "Background": {	// 背景信息
        "Enable": false,	// 是否启用
        "Type": "",	// 类型 0-图片 1-视频
        "Name": ""	// 文件名
        }
        "SoundEffect": {
        "Enable": false,
        "SE": []
        }
        }
        */
        /*******/
        PlayerPrefs.SetInt ("GameStarted", 1);
        enableSE = PlayerPrefs.GetInt ("enableSE") != 0;
        enableBG = PlayerPrefs.GetInt ("enableBG") != 0;

        this.beatmapName = PlayerPrefs.GetString ("song");
        Debug.Log (" Play " + this.beatmapName);
        this.difficulty = PlayerPrefs.GetInt ("Difficulty");
        /*******/

        //beatmapName = "Nya";
        //difficulty = 0;
        //beatmapName = "MirrorNight";
        //difficulty = 2;
        //beatmapName = "LetItGo";
        //difficulty = 2;

        loadFail = true;	// Asume load fail

        // Get beatmap from file
        TextAsset f = Resources.Load ("Music/" + beatmapName + "/beatmap") as TextAsset;
        if (f == null) 	// load fail
            return;
        Debug.Log ("Beatmap load success");

        string s = f.ToString ();
        //Debug.Log (s);
        Beatmap = JSON.Parse (s);
        if (Beatmap == null)	// load fail
            return;
        Debug.Log ("Beatmap parse success");

        music = GetComponent<AudioSource> ();
        music.clip = Resources.Load ("Music/" + beatmapName + "/" + Beatmap ["Audio"] ["Name"]) as AudioClip;	// No name-extension
        if (music.clip == null)	// load fail
            return;
        Debug.Log ("audio load success");

        if (Beatmap ["SoundEffect"] ["Enable"].AsBool) {
            defaultSE = false;
            SEname = Beatmap ["SoundEffect"] ["Name"];
            Debug.Log ("use custom SE");
        } else {
            defaultSE = true;
            Debug.Log ("use default SE");
        }

        //defaultBG = true;
        useMovBG = false;
        usePicBG = false;
        if (enableBG) {
            if (Beatmap ["Background"] ["Enable"].AsBool) {
                Destroy (GameObject.Find ("SpaceGenetator"));
                //defaultBG = false;
                switch (Beatmap ["Background"] ["Type"].AsInt) {
                case 0:
                // use Picture as background
                    usePicBG = true;
                    Debug.Log ("use custom pic BG");
                    break;
                case 1:
                    // use video as background
                    mov = Resources.Load ("Music/" + beatmapName + "/" + Beatmap ["Background"] ["Name"]) as MovieTexture;
                    if (mov == null)	// load fail
                        return;
                    (GameObject.Find ("Backgound").GetComponent ("VideoPlayer") as VideoPlayer).movTexture = mov;
                    useMovBG = true;
                    Debug.Log ("use custom mov BG");
                    break;
                default:
                    break;
                }
            } else {
                // use default space background
                Destroy (GameObject.Find ("Backgound"));
                Debug.Log ("use default BG");
            }
        } else {
            Destroy (GameObject.Find ("Backgound"));
            Destroy (GameObject.Find ("SpaceGenetator"));
            Debug.Log ("not use BG");
        }
        Debug.Log ("background load success");

        switch (difficulty) {
        case 0:
            HitObjects = Beatmap ["GameObject"] ["Easy"].AsArray;
            break;
        case 1:
            HitObjects = Beatmap ["GameObject"] ["Normal"].AsArray;
            break;
        case 2:
            HitObjects = Beatmap ["GameObject"] ["Hard"].AsArray;
            break;
        default:
            return;
        }
        if (HitObjects == null)
            return;
        Debug.Log ("hitObjects load success");

        CoverMesh = GameObject.Find ("Cover").GetComponent<TextMesh> ();
        CoverColor = new Color (CoverMesh.color.r, CoverMesh.color.g, CoverMesh.color.b, 1);
        CoverTimer = 0.5f;
        CoverDone = false;

        loadFail = false;	// load success
        Debug.Log ("load success");

        NGDL = GameObject.Find ("NoteGeneratorDL").GetComponent ("NoteGenerator") as NoteGenerator;
        NGDR = GameObject.Find ("NoteGeneratorDR").GetComponent ("NoteGenerator") as NoteGenerator;
        //NGRU = GameObject.Find ("NoteGeneratorRU").GetComponent ("NoteGenerator") as NoteGenerator;
        NGRD = GameObject.Find ("NoteGeneratorRD").GetComponent ("NoteGenerator") as NoteGenerator;
        //NGLU = GameObject.Find ("NoteGeneratorLU").GetComponent ("NoteGenerator") as NoteGenerator;
        NGLD = GameObject.Find ("NoteGeneratorLD").GetComponent ("NoteGenerator") as NoteGenerator;
        SG = GameObject.Find ("SpinnerGenerator").GetComponent ("SpinnerGenerator") as SpinnerGenerator;
        TD = GameObject.Find ("TapDetector").GetComponent ("TapDetector") as TapDetector;

        // Init
        i = 0;
        now = HitObjects [0].AsArray;
        pause = gameover = false;
        ScoreCounter = ComboCounter = MaxCombo = PerfectCount = GoodCount = BadCount = MissCount = 0;
        ScoreNow = 0;
        ScoreText.text = "Score: " + ScoreCounter.ToString ();
        ComboText.text = "Combo: " + ComboCounter.ToString ();
        ScoreText.fontSize = ComboText.fontSize = (int)(Screen.width * 0.03f);

        PauseButton.onClick.AddListener (PauseResume);
        StopButton.onClick.AddListener (StopGame);

        Timer = 0f;
        NotesBeforeDone = false;

        if (now [1].AsFloat - 7 / now [3].AsFloat < 0) {
            Timer = Mathf.Abs (now [1].AsFloat - 7 / now [3].AsFloat);
            NotesBeforeDone = false;
        } else {
            StartGame ();
        }
    }
コード例 #10
0
    void Start()
    {
        //Object access
        pMovement = gameObject.GetComponent<RunnerScript> ();
        myTransform = transform;
        collisionBoundOffset = pMovement.collider.bounds.size.y / 4.0f;
        score = GameObject.FindGameObjectWithTag("Score").GetComponent<RunnerScoring>();
        scoreMulti = GameObject.FindGameObjectWithTag("ScoreMulti").GetComponent<RunnerScoringMulti>();
        detector = GameObject.FindGameObjectWithTag("Recognizer").GetComponent<TapDetector>();
        spawner = GameObject.FindGameObjectWithTag("Spawner").GetComponent<SpawnObstacles>();
        myBonusBehaviorDown = GameObject.FindGameObjectWithTag("BonusDown").GetComponent<BonusDownBehavior>();

        //Respawn variables
        respawn = false;
        gameRestart = false;

        //Scoring & bonus
        allowScoring = true;
        allowScoringMultiplier = true;
        allowBonusDown = true;
        numGatesHit = 0;

        //Camera control
        myCamera = GameObject.FindGameObjectWithTag ("MainCamera");

        //Acheivement variables
        closeCallStart = false;
        closeCallEnd = false;
    }
コード例 #11
0
    void Start()
    {
        //Object access
        pSys = GameObject.FindGameObjectWithTag("BackgroundEffect").GetComponent<ParticleSystem>();
        screenEdge = GameObject.FindGameObjectWithTag("Top").GetComponent<Collider>().bounds.min.x;
        score = GameObject.FindGameObjectWithTag("Score").GetComponent<RunnerScoring>();
        recognizer = GameObject.FindGameObjectWithTag("Recognizer").GetComponent<TapDetector>();
        rCollision = gameObject.GetComponent<RunnerCollision>();
        pSys = GameObject.FindGameObjectWithTag("BackgroundEffect").GetComponent<ParticleSystem>();
        fadeScreen = GameObject.FindGameObjectWithTag("FadeScreen").GetComponent<RedSpriteFade>();
        myCamera = GameObject.FindGameObjectWithTag ("MainCamera");
        myTransform = transform;

        //Start variables
        startPosition = myTransform.position;
        gravityButton = false;
        recognizer.setOnStart(true);
        setState (State.respawn);

        //Camera effects
        shakeAmount = 1.5f;
        fadeScreen.setRenderer(false);

            //Red UI frames
            change1 = false;
            change2 = false;
            change3 = false;
            change4 = false;
            change5 = false;

        //Animation variables
        flip = GetComponent<exSprite>();
    }
コード例 #12
0
 /// <summary>
 /// Initializes the wrapped web view
 /// </summary>
 /// <param name="context"></param>
 /// <param name="attrs"></param>
 /// <param name="defStyle"></param>
 public WrappedWebView(Context context, IAttributeSet attrs, int defStyle)
     : base(context, attrs, defStyle)
 {
     _TapDetector = new TapDetector(this);
 }
コード例 #13
0
 /// <summary>
 /// Initializes the wrapped web view
 /// </summary>
 /// <param name="javaReference"></param>
 /// <param name="transfer"></param>
 protected WrappedWebView(IntPtr javaReference, JniHandleOwnership transfer)
     : base(javaReference, transfer)
 {
     _TapDetector = new TapDetector(this);
 }
コード例 #14
0
 /// <summary>
 /// Initializes the wrapped web view
 /// </summary>
 /// <param name="context"></param>
 /// <param name="attrs"></param>
 public WrappedViewPager(Context context, IAttributeSet attrs)
     : base(context, attrs)
 {
     _TapDetector = new TapDetector(this);
 }
コード例 #15
0
ファイル: TapDetector.cs プロジェクト: tetsujp84/karaketsua
	void Awake(){
		instance=this;
	}
コード例 #16
0
    public IEnumerator Routine(TapDetector tapD)
    {
        tapDetector = tapD;

        triggerTime     = Time.realtimeSinceStartup;
        startTimeCharge = Time.realtimeSinceStartup;

        yield return(new WaitForSeconds(0.075f));

        if (indexes.Count < 2)
        {
            routineEnded = true;
            yield break;
        }
        else
        {
            count = indexes.Count;

            posAvg = Vector2.zero;
            //foreach(Vector2 p in positions) posAvg+=p;
            for (int i = 0; i < positions.Count; i++)
            {
                posAvg += positions[i];
            }
            posAvg /= positions.Count;

            posList = new Vector2[positions.Count];
            positions.CopyTo(posList);
            indexList = new int[indexes.Count];
            indexes.CopyTo(indexList);
        }

        bool isOn = true;

        float liftTime = -1;

        int rand = Random.Range(0, 99999);

        while (isOn)
        {
            for (int i = 0; i < indexes.Count; i++)
            {
                Touch touch = IT_Gesture.GetTouch(indexes[i]);
                if (touch.phase == TouchPhase.Moved)
                {
                    isOn = false;
                }

                if (touch.position == Vector2.zero)
                {
                    if (indexes.Count == count)
                    {
                        liftTime = Time.realtimeSinceStartup;
                    }
                    indexes.RemoveAt(i);
                    i--;
                }
            }

            if (Time.realtimeSinceStartup - startTimeCharge > tapDetector.minChargeTime && chargeState == _ChargeState.Clear)
            {
                chargeState = _ChargeState.Charging;
                float       chargedValue = Mathf.Clamp(chargeConst + chargeDir * ((Time.realtimeSinceStartup - startTimeCharge) / tapDetector.maxChargeTime), 0, 1);
                ChargedInfo cInfo        = new ChargedInfo(posAvg, posList, chargedValue, indexList);
                IT_Gesture.ChargeStart(cInfo);
            }
            else if (chargeState == _ChargeState.Charging)
            {
                float       chargedValue = Mathf.Clamp(chargeConst + chargeDir * ((Time.realtimeSinceStartup - startTimeCharge) / tapDetector.maxChargeTime), 0, 1);
                ChargedInfo cInfo        = new ChargedInfo(posAvg, posList, chargedValue, indexList);

                if (tapDetector.chargeMode == _ChargeMode.PingPong)
                {
                    if (chargedValue == 1 || chargedValue == 0)
                    {
                        chargeDir *= -1;
                        if (chargeDir == 1)
                        {
                            chargeConst = 0;
                        }
                        else if (chargeDir == -1)
                        {
                            chargeConst = 1;
                        }
                        startTimeCharge = Time.realtimeSinceStartup;
                    }

                    IT_Gesture.Charging(cInfo);
                }
                else
                {
                    if (chargedValue < 1.0f)
                    {
                        IT_Gesture.Charging(cInfo);
                    }
                    else
                    {
                        cInfo.percent = 1.0f;

                        if (tapDetector.chargeMode == _ChargeMode.Once)
                        {
                            chargeState = _ChargeState.Charged;
                            IT_Gesture.ChargeEnd(cInfo);
                            startTimeCharge = Mathf.Infinity;
                            chargedValue    = 0;
                        }
                        else if (tapDetector.chargeMode == _ChargeMode.Clamp)
                        {
                            chargeState = _ChargeState.Charged;
                            IT_Gesture.Charging(cInfo);
                        }
                        else if (tapDetector.chargeMode == _ChargeMode.Loop)
                        {
                            chargeState = _ChargeState.Clear;
                            IT_Gesture.ChargeEnd(cInfo);
                            startTimeCharge = Time.realtimeSinceStartup;
                        }
                    }
                }
            }

            if (!longTap && Time.realtimeSinceStartup - triggerTime > tapDetector.longTapTime)
            {
                if (indexes.Count == count)
                {
                    Vector2[] posList = new Vector2[positions.Count];
                    positions.CopyTo(posList);

                    Tap tap = new Tap(1, count, posList, indexList);
                    IT_Gesture.LongTap(tap);
                    longTap = true;
                }
            }

            if (indexes.Count < count)
            {
                if (Time.realtimeSinceStartup - liftTime > 0.075f || indexes.Count == 0)
                {
                    if (indexes.Count == 0)
                    {
                        if (liftTime - triggerTime < tapDetector.shortTapTime + 0.1f)
                        {
                            Vector2[] posList = new Vector2[positions.Count];
                            positions.CopyTo(posList);
                            //Tap tap=new Tap(1, count, posList);
                            //IT_Gesture.MFShortTap(tap);
                            tapDetector.CheckMultiTapMFTouch(count, posList, indexList);
                        }
                    }
                    isOn = false;
                    break;
                }
            }

            yield return(null);
        }

        if (chargeState == _ChargeState.Charging || (chargeState == _ChargeState.Charged && tapDetector.chargeMode != _ChargeMode.Once))
        {
            float       chargedValue = Mathf.Clamp(chargeConst + chargeDir * ((Time.realtimeSinceStartup - startTimeCharge) / tapDetector.maxChargeTime), 0, 1);
            ChargedInfo cInfo        = new ChargedInfo(posAvg, posList, chargedValue, indexList);
            IT_Gesture.ChargeEnd(cInfo);
        }

        routineEnded = true;
    }
コード例 #17
0
 void Start()
 {
     paused = false;
     recognizer = GameObject.FindGameObjectWithTag("Recognizer").GetComponent<TapDetector>();
 }
コード例 #18
0
ファイル: SlideDrop.cs プロジェクト: chenlini/LMix
    void Start()
    {
        //leap = new Controller ();
        hit = pause = stop = false;

        status = GameObject.Find ("GamePlayer").GetComponent ("GamePlayer") as GamePlayer;
        TD = GameObject.Find ("TapDetector").GetComponent ("TapDetector") as TapDetector;

        hitSE = GetComponent<AudioSource> ();
        if (!status.defaultSE)
            hitSE.clip = Resources.Load ("Music/" + status.beatmapName + "/" + status.SEname ["hit"]) as AudioClip;
        else
            hitSE.clip = Resources.Load ("Default/hit") as AudioClip;
        missSE = hitSE;
        if (!status.enableSE)
            hitSE.mute = true;

        c300 = new Color (58 / 255f, 183 / 255f, 239 / 255f, 0);
        c100 = new Color (191 / 255f, 255 / 255f, 160 / 255f, 0);
        c50 = new Color (251 / 255f, 208 / 255f, 114 / 255f, 0);
        c0 = new Color (249 / 255f, 90 / 255f, 101 / 255f, 0);

        //int width = 200, y_base = 0;
        float y_basef = 1.15f;
        //lim_z_low = -175 * speed / 1.4f;
        //lim_z_high = 175 * speed / 1.4f;

        notePos = transform.position;
        if (notePos.x > 0) {
            if (notePos.y < y_basef - 0.5) {
                track = 0;
                /*lim_x_low = 0;
                lim_x_high = 200;
                lim_y_low = y_base - 80;
                lim_y_high = lim_y_low + width;	// 80*/
            } else if (notePos.y < y_basef + 2) {
                track = 2;
                /*lim_x_low = 170;
                lim_x_high = 300;
                lim_y_low = y_base + 50;
                lim_y_high = lim_y_low + width;*/
            } /*else {
                lim_x_low = 170;
                lim_x_high = 300;
                lim_y_low = 250;
                lim_y_high = 450;
            }*/
        } else {
            if (notePos.y < y_basef - 0.5) {
                track = 1;
                /*lim_x_low = -200;
                lim_x_high = 0;
                lim_y_low = y_base - 80;
                lim_y_high = lim_y_low + width;	// 80*/
            } else if (notePos.y < y_basef + 2) {
                track = 3;
                /*lim_x_low = -300;
                lim_x_high = -170;
                lim_y_low = y_base + 50;
                lim_y_high = lim_y_low + width;*/
            } /*else {
                lim_x_low = -300;
                lim_x_high = -170;
                lim_y_low = 250;
                lim_y_high = 450;
            }*/
        }
    }
コード例 #19
0
 void Start()
 {
     pause = GameObject.FindGameObjectWithTag("PauseButton").GetComponent<PauseButton>();
     recognizer = GameObject.FindGameObjectWithTag("Recognizer").GetComponent<TapDetector>();
     pause.renderer.enabled = false;
     menuPointer.renderer.enabled = false;
     //Save previous timeScale
     if(PlayerPrefs.HasKey("timeScale"))
     {
         savedTimeScale = PlayerPrefs.GetFloat("timeScale");
     }
 }
コード例 #20
0
 private void Awake()
 {
     _tapDetector = FindObjectOfType <TapDetector>();
     _rigidbody   = GetComponent <Rigidbody>();
 }
コード例 #21
0
    //private static bool showDefaultFlag=false;
    void Awake()
    {
        instance = (TapDetector)target;

        //~ public enum _ChargeMode{Once, Clamp, Loop, PingPong}
        int enumLength = Enum.GetValues(typeof(_ChargeMode)).Length;
        chargeModeLabel=new string[enumLength];
        chargeModeTooltip=new string[enumLength];
        for(int i=0; i<enumLength; i++){
            chargeModeLabel[i]=((_ChargeMode)i).ToString();
            if((_ChargeMode)i==_ChargeMode.Once)
                chargeModeTooltip[i]="The charge end event will only trigger once and will trigger as soon as the charge reaches full amount";
            if((_ChargeMode)i==_ChargeMode.Clamp)
                chargeModeTooltip[i]="The charge end event will only trigger once and will trigger when the touch/mouse has been released";
            if((_ChargeMode)i==_ChargeMode.Loop)
                chargeModeTooltip[i]="The charge end event will trigger as soon as the charge reaches full amount. The charge will reset and restart immediately";
            if((_ChargeMode)i==_ChargeMode.PingPong)
                chargeModeTooltip[i]="The charge end event will only trigger once the touch/mouse has been released. The charging process will be switching back and forth between 0% and 100%";
        }
    }
コード例 #22
0
ファイル: SlideDrop.cs プロジェクト: ccdump/LMix
    void Start()
    {
        //leap = new Controller ();
        hit = pause = stop = false;

        status = GameObject.Find("GamePlayer").GetComponent("GamePlayer") as GamePlayer;
        TD     = GameObject.Find("TapDetector").GetComponent("TapDetector") as TapDetector;

        hitSE = GetComponent <AudioSource> ();
        if (!status.defaultSE)
        {
            hitSE.clip = Resources.Load("Music/" + status.beatmapName + "/" + status.SEname ["hit"]) as AudioClip;
        }
        else
        {
            hitSE.clip = Resources.Load("Default/hit") as AudioClip;
        }
        missSE = hitSE;
        if (!status.enableSE)
        {
            hitSE.mute = true;
        }

        c300 = new Color(58 / 255f, 183 / 255f, 239 / 255f, 0);
        c100 = new Color(191 / 255f, 255 / 255f, 160 / 255f, 0);
        c50  = new Color(251 / 255f, 208 / 255f, 114 / 255f, 0);
        c0   = new Color(249 / 255f, 90 / 255f, 101 / 255f, 0);

        //int width = 200, y_base = 0;
        float y_basef = 1.15f;

        //lim_z_low = -175 * speed / 1.4f;
        //lim_z_high = 175 * speed / 1.4f;

        notePos = transform.position;
        if (notePos.x > 0)
        {
            if (notePos.y < y_basef - 0.5)
            {
                track = 0;

                /*lim_x_low = 0;
                 * lim_x_high = 200;
                 * lim_y_low = y_base - 80;
                 * lim_y_high = lim_y_low + width;	// 80*/
            }
            else if (notePos.y < y_basef + 2)
            {
                track = 2;

                /*lim_x_low = 170;
                 * lim_x_high = 300;
                 * lim_y_low = y_base + 50;
                 * lim_y_high = lim_y_low + width;*/
            }             /*else {
                           *    lim_x_low = 170;
                           *    lim_x_high = 300;
                           *    lim_y_low = 250;
                           *    lim_y_high = 450;
                           * }*/
        }
        else
        {
            if (notePos.y < y_basef - 0.5)
            {
                track = 1;

                /*lim_x_low = -200;
                 * lim_x_high = 0;
                 * lim_y_low = y_base - 80;
                 * lim_y_high = lim_y_low + width;	// 80*/
            }
            else if (notePos.y < y_basef + 2)
            {
                track = 3;

                /*lim_x_low = -300;
                 * lim_x_high = -170;
                 * lim_y_low = y_base + 50;
                 * lim_y_high = lim_y_low + width;*/
            }             /*else {
                           *    lim_x_low = -300;
                           *    lim_x_high = -170;
                           *    lim_y_low = 250;
                           *    lim_y_high = 450;
                           * }*/
        }
    }
コード例 #23
0
    public IEnumerator Routine(TapDetector tapD)
    {
        tapDetector     = tapD;
        triggerTime     = Time.realtimeSinceStartup;
        startTimeCharge = Time.realtimeSinceStartup;
        yield return(new WaitForSeconds(0.075f));

        if (indexes.Count < 2)
        {
            routineEnded = true;
            yield break;
        }
        count  = indexes.Count;
        posAvg = Vector2.zero;
        for (int i = 0; i < positions.Count; i++)
        {
            posAvg += positions[i];
        }
        posAvg      /= (float)positions.Count;
        this.posList = new Vector2[positions.Count];
        positions.CopyTo(this.posList);
        indexList = new int[indexes.Count];
        indexes.CopyTo(indexList);
        bool  isOn     = true;
        float liftTime = -1f;

        while (isOn)
        {
            for (int j = 0; j < indexes.Count; j++)
            {
                Touch touch = IT_Gesture.GetTouch(indexes[j]);
                if (touch.phase == TouchPhase.Moved)
                {
                    isOn = false;
                }
                if (touch.position == Vector2.zero)
                {
                    if (indexes.Count == count)
                    {
                        liftTime = Time.realtimeSinceStartup;
                    }
                    indexes.RemoveAt(j);
                    j--;
                }
            }
            if (Time.realtimeSinceStartup - startTimeCharge > tapDetector.minChargeTime && chargeState == _ChargeState.Clear)
            {
                chargeState = _ChargeState.Charging;
                ChargedInfo cInfo3 = new ChargedInfo(val: Mathf.Clamp((float)chargeConst + (float)chargeDir * ((Time.realtimeSinceStartup - startTimeCharge) / tapDetector.maxChargeTime), 0f, 1f), p: posAvg, posL: this.posList, inds: indexList);
                IT_Gesture.ChargeStart(cInfo3);
            }
            else if (chargeState == _ChargeState.Charging)
            {
                float       chargedValue = Mathf.Clamp((float)chargeConst + (float)chargeDir * ((Time.realtimeSinceStartup - startTimeCharge) / tapDetector.maxChargeTime), 0f, 1f);
                ChargedInfo cInfo2       = new ChargedInfo(posAvg, this.posList, chargedValue, indexList);
                if (tapDetector.chargeMode == _ChargeMode.PingPong)
                {
                    if (chargedValue == 1f || chargedValue == 0f)
                    {
                        chargeDir *= -1;
                        if (chargeDir == 1)
                        {
                            chargeConst = 0;
                        }
                        else if (chargeDir == -1)
                        {
                            chargeConst = 1;
                        }
                        startTimeCharge = Time.realtimeSinceStartup;
                    }
                    IT_Gesture.Charging(cInfo2);
                }
                else if (chargedValue < 1f)
                {
                    IT_Gesture.Charging(cInfo2);
                }
                else
                {
                    cInfo2.percent = 1f;
                    if (tapDetector.chargeMode == _ChargeMode.Once)
                    {
                        chargeState = _ChargeState.Charged;
                        IT_Gesture.ChargeEnd(cInfo2);
                        startTimeCharge = float.PositiveInfinity;
                    }
                    else if (tapDetector.chargeMode == _ChargeMode.Clamp)
                    {
                        chargeState = _ChargeState.Charged;
                        IT_Gesture.Charging(cInfo2);
                    }
                    else if (tapDetector.chargeMode == _ChargeMode.Loop)
                    {
                        chargeState = _ChargeState.Clear;
                        IT_Gesture.ChargeEnd(cInfo2);
                        startTimeCharge = Time.realtimeSinceStartup;
                    }
                }
            }
            if (!longTap && Time.realtimeSinceStartup - triggerTime > tapDetector.longTapTime && indexes.Count == count)
            {
                Vector2[] posList2 = new Vector2[positions.Count];
                positions.CopyTo(posList2);
                Tap tap = new Tap(1, count, posList2, indexList);
                IT_Gesture.LongTap(tap);
                longTap = true;
            }
            if (indexes.Count < count && (Time.realtimeSinceStartup - liftTime > 0.075f || indexes.Count == 0))
            {
                if (indexes.Count == 0 && liftTime - triggerTime < tapDetector.shortTapTime + 0.1f)
                {
                    Vector2[] posList = new Vector2[positions.Count];
                    positions.CopyTo(posList);
                    tapDetector.CheckMultiTapMFTouch(count, posList, indexList);
                }
                break;
            }
            yield return(null);
        }
        if (chargeState == _ChargeState.Charging || (chargeState == _ChargeState.Charged && tapDetector.chargeMode != 0))
        {
            ChargedInfo cInfo = new ChargedInfo(val: Mathf.Clamp((float)chargeConst + (float)chargeDir * ((Time.realtimeSinceStartup - startTimeCharge) / tapDetector.maxChargeTime), 0f, 1f), p: posAvg, posL: this.posList, inds: indexList);
            IT_Gesture.ChargeEnd(cInfo);
        }
        routineEnded = true;
    }
コード例 #24
0
ファイル: GamePlayer.cs プロジェクト: ccdump/LMix
    //bool isPlaying;

    // Use this for initialization
    void Start()
    {
        /*
         *      this part used to load seleted song
         */
/*
 * {
 *  "Tags": [],  // 标签
 *  "Creator": "",  // 制作者
 *  "GameObject": {  // 游戏物件,如落键,转盘
 *      "Hard": [],
 *      "Easy": [[0, 10000, 1, 1],  // [类型, 时间, 位置, 速度]
 *               [0, 10000, 2, 1],
 *               [0, 15000, 1, 1],
 *               [0, 16000, 2, 1]],
 *      "Normal": []
 *  },
 *  "Artist": "",  // 艺术家
 *  "Difficulty": {  // 难度设定
 *      "Speed": 1
 *  },
 *  "Source": "",  // 来源
 *  "Version": "",  // 版本
 *  "Title": "",  // 谱面标题
 *  "Audio": {  // 音频文件信息
 *      "Length": 0,
 *      "Name": ""
 *  }
 *  "Background": {	// 背景信息
 *      "Enable": false,	// 是否启用
 *      "Type": "",	// 类型 0-图片 1-视频
 *      "Name": ""	// 文件名
 *  }
 *  "SoundEffect": {
 *      "Enable": false,
 *      "SE": []
 *  }
 * }
 */
        /*******/
        PlayerPrefs.SetInt("GameStarted", 1);
        enableSE = PlayerPrefs.GetInt("enableSE") != 0;
        enableBG = PlayerPrefs.GetInt("enableBG") != 0;

        this.beatmapName = PlayerPrefs.GetString("song");
        Debug.Log(" Play " + this.beatmapName);
        this.difficulty = PlayerPrefs.GetInt("Difficulty");
        /*******/

        //beatmapName = "Nya";
        //difficulty = 0;
        //beatmapName = "MirrorNight";
        //difficulty = 2;
        //beatmapName = "LetItGo";
        //difficulty = 2;

        loadFail = true;                // Asume load fail

        // Get beatmap from file
        TextAsset f = Resources.Load("Music/" + beatmapName + "/beatmap") as TextAsset;

        if (f == null)          // load fail
        {
            return;
        }
        Debug.Log("Beatmap load success");

        string s = f.ToString();

        //Debug.Log (s);
        Beatmap = JSON.Parse(s);
        if (Beatmap == null)            // load fail
        {
            return;
        }
        Debug.Log("Beatmap parse success");

        music      = GetComponent <AudioSource> ();
        music.clip = Resources.Load("Music/" + beatmapName + "/" + Beatmap ["Audio"] ["Name"]) as AudioClip; // No name-extension
        if (music.clip == null)                                                                              // load fail
        {
            return;
        }
        Debug.Log("audio load success");

        if (Beatmap ["SoundEffect"] ["Enable"].AsBool)
        {
            defaultSE = false;
            SEname    = Beatmap ["SoundEffect"] ["Name"];
            Debug.Log("use custom SE");
        }
        else
        {
            defaultSE = true;
            Debug.Log("use default SE");
        }

        //defaultBG = true;
        useMovBG = false;
        if (enableBG)
        {
            if (Beatmap ["Background"] ["Enable"].AsBool)
            {
                Destroy(GameObject.Find("SpaceGenetator"));
                //defaultBG = false;
                switch (Beatmap ["Background"] ["Type"].AsInt)
                {
                case 0:
                    // use Picture as background
                    // TODO: Load picture background
                    Debug.Log("use custom pic BG");
                    break;

                case 1:
                    // use video as background
                    mov = Resources.Load("Music/" + beatmapName + "/" + Beatmap ["Background"] ["Name"]) as MovieTexture;
                    if (mov == null)                            // load fail
                    {
                        return;
                    }
                    (GameObject.Find("Backgound").GetComponent("VideoPlayer") as VideoPlayer).movTexture = mov;
                    useMovBG = true;
                    Debug.Log("use custom mov BG");
                    break;

                default:
                    break;
                }
            }
            else
            {
                // use default space background
                Destroy(GameObject.Find("Backgound"));
                Debug.Log("use default BG");
            }
        }
        else
        {
            Destroy(GameObject.Find("Backgound"));
            Destroy(GameObject.Find("SpaceGenetator"));
            Debug.Log("not use BG");
        }
        Debug.Log("background load success");

        switch (difficulty)
        {
        case 0:
            HitObjects = Beatmap ["GameObject"] ["Easy"].AsArray;
            break;

        case 1:
            HitObjects = Beatmap ["GameObject"] ["Normal"].AsArray;
            break;

        case 2:
            HitObjects = Beatmap ["GameObject"] ["Hard"].AsArray;
            break;

        default:
            return;
        }
        if (HitObjects == null)
        {
            return;
        }
        Debug.Log("hitObjects load success");

        CoverMesh  = GameObject.Find("Cover").GetComponent <TextMesh> ();
        CoverColor = new Color(CoverMesh.color.r, CoverMesh.color.g, CoverMesh.color.b, 1);
        CoverTimer = 0.5f;
        CoverDone  = false;


        loadFail = false;               // load success
        Debug.Log("load success");

        NGDL = GameObject.Find("NoteGeneratorDL").GetComponent("NoteGenerator") as NoteGenerator;
        NGDR = GameObject.Find("NoteGeneratorDR").GetComponent("NoteGenerator") as NoteGenerator;
        //NGRU = GameObject.Find ("NoteGeneratorRU").GetComponent ("NoteGenerator") as NoteGenerator;
        NGRD = GameObject.Find("NoteGeneratorRD").GetComponent("NoteGenerator") as NoteGenerator;
        //NGLU = GameObject.Find ("NoteGeneratorLU").GetComponent ("NoteGenerator") as NoteGenerator;
        NGLD = GameObject.Find("NoteGeneratorLD").GetComponent("NoteGenerator") as NoteGenerator;
        SG   = GameObject.Find("SpinnerGenerator").GetComponent("SpinnerGenerator") as SpinnerGenerator;
        TD   = GameObject.Find("TapDetector").GetComponent("TapDetector") as TapDetector;

        // Init
        i                  = 0;
        now                = HitObjects [0].AsArray;
        pause              = gameover = false;
        ScoreCounter       = ComboCounter = MaxCombo = PerfectCount = GoodCount = BadCount = MissCount = 0;
        ScoreNow           = 0;
        ScoreText.text     = "Score: " + ScoreCounter.ToString();
        ComboText.text     = "Combo: " + ComboCounter.ToString();
        ScoreText.fontSize = ComboText.fontSize = (int)(Screen.width * 0.03f);

        PauseButton.onClick.AddListener(PauseResume);
        StopButton.onClick.AddListener(StopGame);

        Timer           = 0f;
        NotesBeforeDone = false;

        if (now [1].AsFloat - 7 / now [3].AsFloat < 0)
        {
            Timer           = Mathf.Abs(now [1].AsFloat - 7 / now [3].AsFloat);
            NotesBeforeDone = false;
        }
        else
        {
            StartGame();
        }
    }
コード例 #25
0
 void Awake()
 {
     instance = this;
 }
コード例 #26
0
 /// <summary>
 /// Initializes the wrapped web view
 /// </summary>
 /// <param name="context"></param>
 public WrappedTabPageIndicator(Context context)
     : base(context, null)
 {
     _TapDetector = new TapDetector(this);
 }
コード例 #27
0
 /// <summary>
 /// Initializes the wrapped web view
 /// </summary>
 /// <param name="context"></param>
 public WrappedViewPager(Context context)
     : base(context)
 {
     _TapDetector = new TapDetector(this);
 }
コード例 #28
0
 /// <summary>
 /// Initializes the wrapped web view
 /// </summary>
 /// <param name="context"></param>
 public WrappedCirclePageIndicator(Context context)
     : base(context)
 {
     _TapDetector = new TapDetector(this);
 }
コード例 #29
0
ファイル: Trail.cs プロジェクト: Powertr1p/BP_Relax
 public void Init(TapDetector tapDetector)
 {
     _tapDetector = tapDetector;
 }
コード例 #30
0
 /// <summary>
 /// Initializes the wrapped web view
 /// </summary>
 /// <param name="context"></param>
 /// <param name="attrs"></param>
 public WrappedCirclePageIndicator(Context context, IAttributeSet attrs)
     : base(context, attrs)
 {
     _TapDetector = new TapDetector(this);
 }
コード例 #31
0
 /// <summary>
 /// Initializes the wrapped web view
 /// </summary>
 /// <param name="context"></param>
 public WrappedWebView(Context context)
     : base(context)
 {
     _TapDetector = new TapDetector(this);
 }
コード例 #32
0
    // Use this for initialization
    void Start()
    {
        levelCount = 0;
        newLevelCount = 30.0f;
        timerLimit = 1.0f;

        //Assign object spawn variables
        counterLimitMin = 1.0f;
        counterLimitMax = counterLimitMin * 5.0f;
        counterLimit = Random.Range(counterLimitMin, counterLimitMax);

        minX = 100.0f;
        myTransform = transform;
        isDead = true;
        startMarker = false;
        score = GameObject.FindGameObjectWithTag("Score").GetComponent<RunnerScoring>();
        sDetector = GameObject.FindGameObjectWithTag("Recognizer").GetComponent<TapDetector>();
        rPlayer = GameObject.FindGameObjectWithTag("Player").GetComponent<RunnerScript>();
        rCollision = GameObject.FindGameObjectWithTag("Player").GetComponent<RunnerCollision>();

        marker = GameObject.FindGameObjectWithTag("marker").GetComponent<MoveProgressBar>();
        markerStart = new Vector3(-500.0f, 355.0f, -80.0f);
        markerEnd = new Vector3(500.0f, 355.0f, -80.0f);

        numGates = 0;
        numGatesInLevel = 0;

        spawnedFinish = false;
        crossedFinish = false;
        finish = GameObject.FindGameObjectWithTag("lastObject").GetComponent<LevelFinishScroll>();
        levelText = GameObject.FindGameObjectWithTag("LevelText").GetComponent<LevelDisplay>();
        levelText.setTheLevelText(levelCount);

        //Pass speedVar objects
        bonusDown = GameObject.FindGameObjectWithTag("BonusDown");
        backBackgroundObjects = GameObject.FindGameObjectsWithTag("BackBackground");
        frontBackgroundObjects = GameObject.FindGameObjectsWithTag("FrontBackground");

        if (m_prefabChoices == null || m_prefabChoices.Length == 0)
        {
            return;
        }

        //test
        rPlayer.setGravity((rPlayer.getGravity() + speedVar * -0.10f));

        srslyCounterLimit = 10.0f;
    }
コード例 #33
0
 /// <summary>
 /// Initializes the wrapped web view
 /// </summary>
 /// <param name="context"></param>
 /// <param name="attrs"></param>
 /// <param name="defStyle"></param>
 /// <param name="privateBrowsing"></param>
 public WrappedWebView(Context context, IAttributeSet attrs, int defStyle, bool privateBrowsing)
     : base(context, attrs, defStyle, privateBrowsing)
 {
     _TapDetector = new TapDetector(this);
 }
コード例 #34
0
    }                                                 //did it double tapped?

    //gets the tap detector of the joystick
    void Awake()
    {
        joystickDetector = joystick.GetComponent <TapDetector>();
    }
コード例 #35
0
ファイル: TapDetector.cs プロジェクト: hellaeon/ballblazer
	public IEnumerator Routine(TapDetector tapD){
		tapDetector=tapD;
		
		triggerTime=Time.realtimeSinceStartup;
		startTimeCharge=Time.realtimeSinceStartup;
		
		yield return new WaitForSeconds(0.075f);
		if(indexes.Count<2){
			routineEnded=true;
			yield break;
		}
		else{
			count=indexes.Count;

			posAvg=Vector2.zero;
			//foreach(Vector2 p in positions) posAvg+=p;
			for(int i=0; i<positions.Count; i++) posAvg+=positions[i];
			posAvg/=positions.Count;
			
			posList = new Vector2[positions.Count];
  			positions.CopyTo( posList );
  			indexList = new int[indexes.Count];
  			indexes.CopyTo( indexList );		
		}
		
		bool isOn=true;
		
		float liftTime=-1;
		
		while(isOn){
			for(int i=0; i<indexes.Count; i++){
				Touch touch=IT_Gesture.GetTouch(indexes[i]);
				if(touch.phase==TouchPhase.Moved) isOn=false;
				
				if(touch.position==Vector2.zero){
					if(indexes.Count==count){
						liftTime=Time.realtimeSinceStartup;
					}
					indexes.RemoveAt(i);
					i--;
				}
			}
			
			if(Time.realtimeSinceStartup-startTimeCharge>tapDetector.minChargeTime && chargeState==_ChargeState.Clear){
				chargeState=_ChargeState.Charging;
				float chargedValue=Mathf.Clamp(chargeConst+chargeDir*((Time.realtimeSinceStartup-startTimeCharge)/tapDetector.maxChargeTime), 0, 1);
				ChargedInfo cInfo=new ChargedInfo(posAvg, posList, chargedValue, indexList);
				IT_Gesture.ChargeStart(cInfo);
			}
			else if(chargeState==_ChargeState.Charging){

				float chargedValue=Mathf.Clamp(chargeConst+chargeDir*((Time.realtimeSinceStartup-startTimeCharge)/tapDetector.maxChargeTime), 0, 1);
				ChargedInfo cInfo=new ChargedInfo(posAvg, posList, chargedValue, indexList);
				
				if(tapDetector.chargeMode==_ChargeMode.PingPong){
					if(chargedValue==1 || chargedValue==0){
						chargeDir*=-1;
						if(chargeDir==1) chargeConst=0;
						else if(chargeDir==-1) chargeConst=1;
						startTimeCharge=Time.realtimeSinceStartup;
					}
					
					IT_Gesture.Charging(cInfo);
				}
				else{
					if(chargedValue<1.0f){
						IT_Gesture.Charging(cInfo);
					}
					else{
						cInfo.percent=1.0f;
						
						if(tapDetector.chargeMode==_ChargeMode.Once){
							chargeState=_ChargeState.Charged;
							IT_Gesture.ChargeEnd(cInfo);
							startTimeCharge=Mathf.Infinity;
							chargedValue=0;
						}
						else if(tapDetector.chargeMode==_ChargeMode.Clamp){
							chargeState=_ChargeState.Charged;
							IT_Gesture.Charging(cInfo);
						}
						else if(tapDetector.chargeMode==_ChargeMode.Loop){
							chargeState=_ChargeState.Clear;
							IT_Gesture.ChargeEnd(cInfo);
							startTimeCharge=Time.realtimeSinceStartup;
						}
					}
				}

			}
			
			if(!longTap && Time.realtimeSinceStartup-triggerTime>tapDetector.longTapTime){
				if(indexes.Count==count){
					    
					Vector2[] posList = new Vector2[positions.Count];
  					positions.CopyTo( posList );
					
					Tap tap=new Tap(1, count, posList , indexList);
					IT_Gesture.LongTap(tap);
					longTap=true;
				}
			}
			
			if(indexes.Count<count){
				if(Time.realtimeSinceStartup-liftTime>0.075f || indexes.Count==0){
					if(indexes.Count==0){
						if(liftTime-triggerTime<tapDetector.shortTapTime+0.1f){
							Vector2[] posList = new Vector2[positions.Count];
		  					positions.CopyTo( posList );
							//Tap tap=new Tap(1, count, posList);
							//IT_Gesture.MFShortTap(tap);
							tapDetector.CheckMultiTapMFTouch(count, posList, indexList);
						}
					}
					isOn=false;
					break;
				}
			}
			
			yield return null;
		}
		
		if(chargeState==_ChargeState.Charging || (chargeState==_ChargeState.Charged && tapDetector.chargeMode!=_ChargeMode.Once)){
			float chargedValue=Mathf.Clamp(chargeConst+chargeDir*((Time.realtimeSinceStartup-startTimeCharge)/tapDetector.maxChargeTime), 0, 1);
			ChargedInfo cInfo=new ChargedInfo(posAvg, posList, chargedValue, indexList);
			IT_Gesture.ChargeEnd(cInfo);
		}
		
		routineEnded=true;
	}
コード例 #36
0
ファイル: TouchHandler.cs プロジェクト: disas69/Pong
 private void Awake()
 {
     _tapDetector = new TapDetector(0.5f, 0.5f);
 }