示例#1
0
 public Jugador(TgcSkeletalMesh skeletalMesh, IJugadorMoveStrategy strategy, Pelota pelota)
 {
     this.skeletalMesh = skeletalMesh;
     this.box = TgcBox.fromExtremes(this.skeletalMesh.BoundingBox.PMin, this.skeletalMesh.BoundingBox.PMax);
     this.strategy = strategy;
     this.pelota = pelota;
     this.posicionOriginal = skeletalMesh.Position;
 }
示例#2
0
 public Jugador(TgcSkeletalMesh skeletalMesh, IJugadorMoveStrategy strategy, Pelota pelota)
 {
     this.skeletalMesh     = skeletalMesh;
     this.box              = TgcBox.fromExtremes(this.skeletalMesh.BoundingBox.PMin, this.skeletalMesh.BoundingBox.PMax);
     this.strategy         = strategy;
     this.pelota           = pelota;
     this.posicionOriginal = skeletalMesh.Position;
 }
示例#3
0
 public void CambiarStrategy(IJugadorMoveStrategy jugadorIAStrategy)
 {
     this.cambiandoStrategy = true;
     this.strategy = jugadorIAStrategy;
     this.playAnimation(this.AnimacionParado, true);
 }
示例#4
0
 public void CambiarStrategy(IJugadorMoveStrategy jugadorIAStrategy)
 {
     this.cambiandoStrategy = true;
     this.strategy          = jugadorIAStrategy;
     this.playAnimation(this.AnimacionParado, true);
 }
示例#5
0
        /// <summary>
        /// Creo un jugador basado en el Robot de TGC
        /// </summary>
        /// <param name="posicion">Posicion donde va a estar el jugador</param>
        /// <param name="angulo">El angulo donde va a mirar</param>
        /// <param name="pathRecursos"></param>
        /// <param name="nombreTextura">Que textura va a tener</param>
        /// <returns></returns>
        private Jugador CrearJugador(string pathRecursos, string nombreTextura, Vector3 posicion, float angulo, IJugadorMoveStrategy strategy, Pelota pelota)
        {
            //Cargar personaje con animaciones
            TgcSkeletalMesh personaje = new TgcSkeletalLoader().loadMeshAndAnimationsFromFile(
                pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.meshFilePlayer,
                pathRecursos + Settings.Default.meshFolderPlayer,
                new string[] {
                pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationWalkFilePlayer,
                pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationRunFilePlayer,
                pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationStopFilePlayer,
            }
                );

            //Le cambiamos la textura
            //personaje.changeDiffuseMaps(new TgcTexture[] {
            //    TgcTexture.createTexture(pathRecursos + Settings.Default.meshFolderPlayer + nombreTextura)
            //    });

            //TODO cambiar por matrices
            personaje.AutoTransformEnable = true;

            //Configurar animacion inicial
            personaje.playAnimation(Settings.Default.animationStopPlayer, true);
            personaje.Position = posicion;

            //Lo Escalo porque es muy grande
            personaje.Scale = new Vector3(0.5f, 0.5f, 0.5f);
            personaje.rotateY(Geometry.DegreeToRadian(angulo));

            //Recalculo las normales para evitar problemas con la luz
            personaje.computeNormals();

            Jugador jugador = new Jugador(personaje, strategy, pelota);

            jugador.ShadowEffect = TgcShaders.loadEffect(pathRecursos + "Shaders\\MeshPlanarShadows.fx");
            jugador.LightEffect  = TgcShaders.loadEffect(pathRecursos + "Shaders\\SkeletalMeshMultiplePointLight.fx");
            return(jugador);
        }
示例#6
0
        /// <summary>
        /// Creo un jugador basado en el Robot de TGC
        /// </summary>
        /// <param name="posicion">Posicion donde va a estar el jugador</param>
        /// <param name="angulo">El angulo donde va a mirar</param>
        /// <param name="pathRecursos"></param>
        /// <param name="nombreTextura">Que textura va a tener</param>
        /// <returns></returns>
        private Jugador CrearJugador(string pathRecursos, string nombreTextura, Vector3 posicion, float angulo, IJugadorMoveStrategy strategy, Pelota pelota)
        {
            //Cargar personaje con animaciones
            TgcSkeletalMesh personaje = new TgcSkeletalLoader().loadMeshAndAnimationsFromFile(
                pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.meshFilePlayer,
                pathRecursos + Settings.Default.meshFolderPlayer,
                new string[] {
                    pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationWalkFilePlayer,
                    pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationRunFilePlayer,
                    pathRecursos + Settings.Default.meshFolderPlayer + Settings.Default.animationStopFilePlayer,
                    }
                );

            //Le cambiamos la textura
            //personaje.changeDiffuseMaps(new TgcTexture[] {
            //    TgcTexture.createTexture(pathRecursos + Settings.Default.meshFolderPlayer + nombreTextura)
            //    });

            //TODO cambiar por matrices
            personaje.AutoTransformEnable = true;

            //Configurar animacion inicial
            personaje.playAnimation(Settings.Default.animationStopPlayer, true);
            personaje.Position = posicion;

            //Lo Escalo porque es muy grande
            personaje.Scale = new Vector3(0.5f, 0.5f, 0.5f);
            personaje.rotateY(Geometry.DegreeToRadian(angulo));

            //Recalculo las normales para evitar problemas con la luz
            personaje.computeNormals();

            Jugador jugador = new Jugador(personaje, strategy, pelota);
            jugador.ShadowEffect = TgcShaders.loadEffect(pathRecursos + "Shaders\\MeshPlanarShadows.fx");
            jugador.LightEffect = TgcShaders.loadEffect(pathRecursos + "Shaders\\SkeletalMeshMultiplePointLight.fx");
            return jugador;
        }