コード例 #1
0
        TgcMesh TgcSceneLoader.IMeshFactory.createNewMesh(Mesh d3dMesh, string meshName, TgcMesh.MeshRenderType renderType)
        {
            Colisionable mesh;

            switch (this.tipo)
            {
            case TipoElemento.BarcoProtagonista:
                mesh = new BarcoProtagonista();
                break;

            case TipoElemento.BarcoEnemigo:
                mesh = new BarcoEnemigo();
                break;

            case TipoElemento.BolaCanion:
                mesh = new BolaDeCanion();
                break;

            default: throw new Exception("No existe ningun barco del tipo pedido");     //hacer esta excepcion mas espefica?
            }

            mesh.initData(d3dMesh, meshName, renderType);

            return((TgcMesh)mesh);
        }
コード例 #2
0
        static public BolaDeCanion ConstruirCanionazo(Barco barco)
        {
            //lo pongo un poco mas arriba para que no empiece en la altura del mar
            Vector3 posicion = barco.Position;

            posicion.Y += 70;

            //creamos un disparo
            BolaDeCanion disparo = (BolaDeCanion)ConstruirElemento(defaultBolaCanion, posicion, 30f, TipoElemento.BolaCanion);

            //asignamos la rotacion
            disparo.Rotation = barco.Rotation;
            disparo.barco    = barco;

            //throw new Exception("esta mierda ejecuta " + rotacion.X.ToString());
            //calculamos las velocidades en X e Y y lo inclinamos en un angulo para que sea parabolico
            float rotacion = disparo.Rotation.X - FastMath.PI / 10;

            disparo.velocidadY = FastMath.Sin(-rotacion);
            disparo.velocidadX = FastMath.Cos(-rotacion);

            return(disparo);
        }
コード例 #3
0
        TgcMesh TgcSceneLoader.IMeshFactory.createNewMesh(Mesh d3dMesh, string meshName, TgcMesh.MeshRenderType renderType)
        {
            Colisionable mesh;

            switch (this.tipo)
            {
                case TipoElemento.BarcoProtagonista:
                    mesh = new BarcoProtagonista();
                    break;

                case TipoElemento.BarcoEnemigo:
                    mesh = new BarcoEnemigo();
                    break;

                case TipoElemento.BolaCanion:
                    mesh = new BolaDeCanion();
                    break;

                default: throw new Exception("No existe ningun barco del tipo pedido"); //hacer esta excepcion mas espefica?
            }

            mesh.initData(d3dMesh, meshName, renderType);

            return (TgcMesh)mesh;
        }