elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 ... 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 [42] 43 44 45 46 47 48 49
411  Sistemas Operativos / GNU/Linux / Re: [Consulta] Descarga .ISO Linux en: 26 Junio 2015, 15:18 pm
¿Entonces grabo los archivos del .iso en usb con ultraiso?

- Lo de probar el virtualbox, si creo una partición y la instalación es fallida, ¿puedo borrar la partición creada?

Gracias.


Saludos!
412  Sistemas Operativos / GNU/Linux / Re: [Consulta] Descarga .ISO Linux en: 26 Junio 2015, 15:01 pm
Buenas,

Me da el mismo resultado supongo, ¿es correcto esto?



¿Ya estaría listo para pasarlo a usb?

Gracias.


Saludos!
413  Sistemas Operativos / GNU/Linux / Re: [Consulta] Descarga .ISO Linux en: 26 Junio 2015, 14:18 pm
Me lo estaba descargando también, lo tengo preparado para instalarlo solamente el UltraISO pero al ver que la descarga no trae ningún .ISO no lo instalé..

¿Por qué pasa esto?

Saludos!
414  Sistemas Operativos / GNU/Linux / Re: [Consulta] Descarga .ISO Linux en: 26 Junio 2015, 13:44 pm
Acabo de descargar linux mint mediante utorrent y no me aparece el .ISO me aparece el contenido:




¿Está bien la descarga o no?

En caso de estar bien ya lo boteo e usb, pero es raro no me aparece ningún ejecutable :S

Saludos!
415  Sistemas Operativos / GNU/Linux / Re: [Consulta] Descarga .ISO Linux en: 26 Junio 2015, 13:02 pm
Estoy probando a descargar la distribución linux mint, ¿es buena y se puede hacer de todo en ella? Es para instalarlo en partición.

- ¿cuántos MB necesitaría para crear la partición de linux mint?


*Nunca he usado utorrent pero se está descargando correctamente:



Gracias.

Saludos!
416  Programación / Programación C/C++ / Re: [SFML] Rebote de colisión en: 26 Junio 2015, 02:09 am
De igual modo al colocar (.top):

Código
  1. if(rec.getPosition().x<=rect2.left){
  2.                rec.setPosition(rec.getPosition().x-1, rec.getPosition().y);
  3.            }
  4.            if(rec.getPosition().x>=rect2.left){
  5.                rec.setPosition(rec.getPosition().x+1, rec.getPosition().y);
  6.            }
  7.            if(rec.getPosition().y<=rect2.top){
  8.                rec.setPosition(rec.getPosition().x, rec.getPosition().y-1);
  9.            }
  10.            if(rec.getPosition().y>=rect2.top){
  11.                rec.setPosition(rec.getPosition().x, rec.getPosition().y+1);
  12.            }

Me da el mismo error que muestra al comenzar el vídeo, intento chocar con la figura pero al chocar se desplaza sola cuando se debería estar quieta sin poder avanzar más hasta que yo cambie de movimiento.

Código
  1. if(rec.getPosition().y<=rect2.top){
  2.                rec.setPosition(rec.getPosition().x, rec.getPosition().y-1);
  3.            }
  4.            if(rec.getPosition().y>=rect2.top){
  5.                rec.setPosition(rec.getPosition().x, rec.getPosition().y+1);
  6.            }


Referente a:

Código:
Una opción, es, en el código de movimiento, tras moverse, comprobar con intersecs(). En caso verdadero, deshaces el movimiento. Es una forma muy simple, pero efectiva en casos también simples.

¿Te refieres a crear una función?


Saludos!
417  Sistemas Operativos / GNU/Linux / [Consulta] Descarga .ISO Linux en: 26 Junio 2015, 01:32 am
Buenas,

Tengo una pequeña duda y es la siguiente:

- ¿Por qué al descargar una distribución de linux en vez de descargarme el .ISO me descarga una carpeta con los archivos y no el .ISO? Me ha pasado al descargar Ubuntu y Elementary OS.  (Entre uno de los archivos me aparece una carpeta llamada boot, etc... como si fuera el .ISO descomprimido)



* Aclarado esto si me pudiesen proporcionar el links de descarga de la distribución Linux Mint que descargue el .ISO para bootearlo en PenDrive. (Menciono Linux Mint por que he escuchado que no está nada mal y cumple con todos los requisitos)

Sean bienvenidas todas las respuestas que me ofrezcan.
Gracias.

Saludos!
418  Programación / Programación C/C++ / Re: [SFML] Rebote de colisión en: 26 Junio 2015, 01:21 am
#ACTUALIZACIÓN


Acabo de probar otra forma que da resultado por una parte, pero por la otra no.
Si voy de izquierda a derecha colisiona y no puede avanzar "bien", si voy de derecha a izquierda colisiona y no puede avanzar "bien", eso si quitamos la colisión de "y". Y si añado la colisión de "y" se desplaza el rectángulo a los lados como se ve al principio del siguiente vídeo:



Código al que hago referencia en el vídeo:

Código
  1. sf::FloatRect rect = rec.getGlobalBounds();
  2.        sf::FloatRect rect2 = rec2.getGlobalBounds();
  3.  
  4.        if(rect.intersects(rect2)){
  5.  
  6.            if(rec.getPosition().x<=rect2.left){
  7.                rec.setPosition(rec.getPosition().x-1, rec.getPosition().y);
  8.            }
  9.            if(rec.getPosition().x>=rect2.left){
  10.                rec.setPosition(rec.getPosition().x+1, rec.getPosition().y);
  11.            }
  12.            if(rec.getPosition().y<=rect2.left){
  13.                rec.setPosition(rec.getPosition().x, rec.getPosition().y-1);
  14.            }
  15.            if(rec.getPosition().y>=rect2.left){
  16.                rec.setPosition(rec.getPosition().x, rec.getPosition().y+1);
  17.            }
  18.  
  19.        }

Por una parte parece que funciona:

Código
  1. if(rec.getPosition().x<=rect2.left){
  2.                rec.setPosition(rec.getPosition().x-1, rec.getPosition().y);
  3.            }
  4.            if(rec.getPosition().x>=rect2.left){
  5.                rec.setPosition(rec.getPosition().x+1, rec.getPosition().y);
  6.            }

Ya que colisionan y no pueden avanzar bien, eso si están solo estas funciones.

Si añado las demás funciones que hace referencia a "y" ya al colisionar se desplaza solo.

Código
  1. f(rec.getPosition().x<=rect2.left){
  2.                rec.setPosition(rec.getPosition().x-1, rec.getPosition().y);
  3.            }
  4.            if(rec.getPosition().x>=rect2.left){
  5.                rec.setPosition(rec.getPosition().x+1, rec.getPosition().y);
  6.            }
  7.            if(rec.getPosition().y<=rect2.left){
  8.                rec.setPosition(rec.getPosition().x, rec.getPosition().y-1);
  9.            }
  10.            if(rec.getPosition().y>=rect2.left){
  11.                rec.setPosition(rec.getPosition().x, rec.getPosition().y+1);
  12.            }


Saludos!
419  Programación / Programación C/C++ / Re: [SFML] Rebote de colisión en: 25 Junio 2015, 23:28 pm
Probé como me dijiste y por una parte responde bien entre sí...

De nuevo un corto vídeo del funcionamiento.
Solo funciona si voy de izquierda a derecha. <-->



Código
  1. #include <SFML/Graphics.hpp>
  2. #include <iostream>
  3.  
  4. int main(){
  5.    //Creamos la ventana
  6.    sf::RenderWindow window(sf::VideoMode(800, 600), "Colision");
  7.  
  8.    //Rectangualo
  9.    sf::RectangleShape rec(sf::Vector2f(50, 50));
  10.    rec.setFillColor(sf::Color::Cyan);
  11.  
  12.    //Otro rectangulo
  13.    sf::RectangleShape rec2(sf::Vector2f(50, 50));
  14.    rec2.setFillColor(sf::Color::Magenta);
  15.    rec2.setPosition(400, 300);
  16.  
  17.    window.setFramerateLimit(200);
  18.  
  19.    //Si la ventana está abierta
  20.    while(window.isOpen()){
  21.        //Creamos un evento
  22.        sf::Event ventana;
  23.        //Llamamos a los eventos
  24.        while(window.pollEvent(ventana)){
  25.            //Cerramos la ventana cuando se solicite
  26.            if(ventana.type == sf::Event::Closed){
  27.                window.close();
  28.            }
  29.        }
  30.  
  31.        //Movimiento rectangulo
  32.        if(sf::Keyboard::isKeyPressed(sf::Keyboard::Up)){
  33.            rec.move(0, -1);
  34.        }
  35.        if(sf::Keyboard::isKeyPressed(sf::Keyboard::Down)){
  36.            rec.move(0, 1);
  37.        }
  38.        if(sf::Keyboard::isKeyPressed(sf::Keyboard::Left)){
  39.            rec.move(-1, 0);
  40.        }
  41.        if(sf::Keyboard::isKeyPressed(sf::Keyboard::Right)){
  42.            rec.move(1, 0);
  43.        }
  44.  
  45.        //Colisiones
  46.        if(rec.getPosition().x<0){
  47.            rec.setPosition(0, rec.getPosition().y);
  48.        }
  49.        if(rec.getPosition().x>750){
  50.            rec.setPosition(750, rec.getPosition().y);
  51.        }
  52.        if(rec.getPosition().y<0){
  53.            rec.setPosition(rec.getPosition().x, 0);
  54.        }
  55.        if(rec.getPosition().y>550){
  56.            rec.setPosition(rec.getPosition().x, 550);
  57.        }
  58.  
  59.        sf::FloatRect rect = rec.getGlobalBounds();
  60.        sf::FloatRect rect2 = rec2.getGlobalBounds();
  61.  
  62.        if(rect.intersects(rect2)){
  63.  
  64.            if(rec.getPosition().x==rect2.left){
  65.                rec.setPosition(rec.getPosition().x-50, rec.getPosition().y);
  66.            }
  67.            if(rec.getPosition().x==rect2.left){
  68.                rec.setPosition(rec.getPosition().x+50, rec.getPosition().y);
  69.            }
  70.            if(rec.getPosition().y==rect2.left){
  71.                rec.setPosition(rec.getPosition().x, rec.getPosition().y-50);
  72.            }
  73.            if(rec.getPosition().y==rect2.left){
  74.                rec.setPosition(rec.getPosition().x, rec.getPosition().y+50);
  75.            }
  76.  
  77.        }
  78.  
  79.        //Limpiamos ventana
  80.        window.clear();
  81.  
  82.        //Dibujamos el rectangulo
  83.        window.draw(rec);
  84.        window.draw(rec2);
  85.  
  86.        //Actualizamos ventana
  87.        window.display();
  88.  
  89.    }
  90. }

Parte que modifiqué:

Código
  1. if(rect.intersects(rect2)){
  2.  
  3.            if(rec.getPosition().x==rect2.left){
  4.                rec.setPosition(rec.getPosition().x-50, rec.getPosition().y);
  5.            }
  6.            if(rec.getPosition().x==rect2.left){
  7.                rec.setPosition(rec.getPosition().x+50, rec.getPosition().y);
  8.            }
  9.            if(rec.getPosition().y==rect2.left){
  10.                rec.setPosition(rec.getPosition().x, rec.getPosition().y-50);
  11.            }
  12.            if(rec.getPosition().y==rect2.left){
  13.                rec.setPosition(rec.getPosition().x, rec.getPosition().y+50);
  14.            }
  15.  
  16.        }

Gracias.

Saludos!
420  Programación / Programación C/C++ / Re: [SFML] Rebote de colisión en: 25 Junio 2015, 16:08 pm
He probado tu forma pero no funcionaba y al igual con tu idea intente hacer algo similar haber si funcionaba al principio parecía que iba a funcionar pero al final no.

Probé con algo así:

Código
  1. sf::FloatRect rect = rec.getGlobalBounds();
  2.        sf::FloatRect rect2 = rec2.getGlobalBounds();
  3.  
  4.        if(rect.intersects(rect2)){
  5.  
  6.            if(rec.getPosition().x<rect2.left){
  7.                rec.setPosition(rec2.getPosition().x-50, rec2.getPosition().y);
  8.            }
  9.            if(rec.getPosition().x>rect2.left){
  10.                rec.setPosition(rec2.getPosition().x+50, rec2.getPosition().y);
  11.            }
  12.            if(rec.getPosition().y<rect2.left){
  13.                rec.setPosition(rec2.getPosition().x, rec2.getPosition().y-50);
  14.            }
  15.            if(rec.getPosition().y>rect2.left){
  16.                rec.setPosition(rec2.getPosition().x, rec2.getPosition().y+50);
  17.            }
  18.  
  19.        }

Puse rect2.left ya que tenia que declararla y no valía rec2.left
Disculpa que te esté dando trabajo, te agradezco la mano que intentas echarme.


He estado buscando información y tal y encontré alguna otra forma también posible de hacerlo:

Código
  1. #include <SFML/Graphics.hpp>
  2. #include <iostream>
  3.  
  4. void comprobarIntersecta();
  5.  
  6. int main(){
  7.    //Creamos la ventana
  8.    sf::RenderWindow window(sf::VideoMode(800, 600), "Colision");
  9.  
  10.    //Rectangualo
  11.    sf::RectangleShape rec(sf::Vector2f(50, 50));
  12.    rec.setFillColor(sf::Color::Cyan);
  13.  
  14.    //Otro rectangulo
  15.    sf::RectangleShape rec2(sf::Vector2f(50, 50));
  16.    rec2.setFillColor(sf::Color::Magenta);
  17.    rec2.setPosition(400, 300);
  18.  
  19.    window.setFramerateLimit(200);
  20.  
  21.    //Si la ventana está abierta
  22.    while(window.isOpen()){
  23.        //Creamos un evento
  24.        sf::Event ventana;
  25.        //Llamamos a los eventos
  26.        while(window.pollEvent(ventana)){
  27.            //Cerramos la ventana cuando se solicite
  28.            if(ventana.type == sf::Event::Closed){
  29.                window.close();
  30.            }
  31.        }
  32.  
  33.        //Colisiones ventana bordes
  34.        if(rec.getPosition().x<0){
  35.            rec.setPosition(0, rec.getPosition().y);
  36.        }
  37.        if(rec.getPosition().x>750){
  38.            rec.setPosition(750, rec.getPosition().y);
  39.        }
  40.        if(rec.getPosition().y<0){
  41.            rec.setPosition(rec.getPosition().x, 0);
  42.        }
  43.        if(rec.getPosition().y>550){
  44.            rec.setPosition(rec.getPosition().x, 550);
  45.        }
  46.  
  47.        sf::FloatRect rect = rec.getGlobalBounds();
  48.        sf::FloatRect rect2 = rec2.getGlobalBounds();
  49.  
  50.        bool chocar [4] = {false,false,false,false}; //Norte, sur, este y oeste
  51.  
  52.        if(rect.intersects(rect2)){
  53.                comprobarIntersecta();
  54.        }
  55.  
  56.        if(sf::Keyboard::isKeyPressed(sf::Keyboard::Up)){
  57.            if(!chocar[0])
  58.                rec.move(0, -1);
  59.        }
  60.        else if(sf::Keyboard::isKeyPressed(sf::Keyboard::Down)){
  61.            if(!chocar[1])
  62.                rec.move(0, 1);
  63.        }
  64.        else if(sf::Keyboard::isKeyPressed(sf::Keyboard::Left)){
  65.            if(!chocar[2])
  66.                rec.move(-1, 0);
  67.        }
  68.        else if(sf::Keyboard::isKeyPressed(sf::Keyboard::Right)){
  69.            if(!chocar[3])
  70.                rec.move(1, 0);
  71.        }
  72.  
  73.        //Limpiamos ventana
  74.        window.clear();
  75.  
  76.        //Dibujamos el rectangulo
  77.        window.draw(rec);
  78.        window.draw(rec2);
  79.  
  80.        //Actualizamos ventana
  81.        window.display();
  82.  
  83.    }
  84. }
  85.  
  86. void comprobarIntersecta(){
  87.    sf::RectangleShape rec(sf::Vector2f(50, 50));
  88.    rec.setFillColor(sf::Color::Cyan);
  89.    if(rec.getPosition().x<400){
  90.        chocar[0] = true;
  91.    }
  92. }

Pero de igual modo supuestamente hay que modificar el bool por true cuando colisione o tal así.

Gracias.

Saludos!
Páginas: 1 ... 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 [42] 43 44 45 46 47 48 49
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines