示例#1
0
    //============================================================================================
    //return an analog channel
    //============================================================================================
    public float getAnalog(int id, ControllerAnalogs c)
    {
        switch (c)
        {
        case ControllerAnalogs.LEFTX:
            return(mPadData[id].leftStickX);

        case ControllerAnalogs.LEFTY:
            return(mPadData[id].leftStickY);

        case ControllerAnalogs.RIGHTX:
            return(mPadData[id].rightStickX);

        case ControllerAnalogs.RIGHTY:
            return(mPadData[id].rightStickY);

        case ControllerAnalogs.LEFTTRIGGER:
            return(mPadData[id].leftTrigger);

        case ControllerAnalogs.RIGHTTRIGGER:
            return(mPadData[id].rightTrigger);

        default:
            break;
        }

        return(0);
    }
示例#2
0
    //============================================================================================
    //return an analog channel on any controller by summing them
    //e.g. for a single player game that has
    // several controllers attached, this lets you treat them all as the same controller
    //============================================================================================
    public float getAnalog(ControllerAnalogs c)
    {
        float val = 0;

        for (int i = 0; i < mActivePadCount; i++)    //iterate through attached controllers and output data
        {
            val += getAnalog(i, c);
        }

        //clamp the summed output to legal values
        if (val < -1.0f)
        {
            val = -1.0f;
        }
        if (val > 1.0f)
        {
            val = 1.0f;
        }

        return(val);
    }
	//============================================================================================
	//return an analog channel on any controller by summing them
	//e.g. for a single player game that has 
	// several controllers attached, this lets you treat them all as the same controller
	//============================================================================================
	public float getAnalog(ControllerAnalogs c)
	{
		float val = 0;
		for(int i=0; i<mActivePadCount; i++) //iterate through attached controllers and output data
		{
			val +=getAnalog(i,c); 
		}

		//clamp the summed output to legal values
		if(val<-1.0f) val = -1.0f;
		if(val> 1.0f) val =  1.0f;

		return val;
	}
	//============================================================================================
	//return an analog channel
	//============================================================================================
	public float getAnalog(int id, ControllerAnalogs c)
	{
		switch(c)
		{
		case ControllerAnalogs.LEFTX:
			return mPadData[id].leftStickX;
		case ControllerAnalogs.LEFTY:
			return mPadData[id].leftStickY;
		case ControllerAnalogs.RIGHTX:
			return mPadData[id].rightStickX;  
		case ControllerAnalogs.RIGHTY:
			return mPadData[id].rightStickY;
		case ControllerAnalogs.LEFTTRIGGER:
			return mPadData[id].leftTrigger;
		case ControllerAnalogs.RIGHTTRIGGER:
			return mPadData[id].rightTrigger;
		default:
				break;
		}
		
		return 0;
	}