Foros del Web » Programación para mayores de 30 ;) » .NET »

Pelota rebotando en esquinas

Estas en el tema de Pelota rebotando en esquinas en el foro de .NET en Foros del Web. Hola a todos ok soy nueva en el foro por lo que pido que me ayuden con lo que puedan miren mi problema es el ...
  #1 (permalink)  
Antiguo 22/03/2010, 21:44
 
Fecha de Ingreso: marzo-2010
Mensajes: 3
Antigüedad: 14 años, 7 meses
Puntos: 0
Pelota rebotando en esquinas

Hola a todos ok soy nueva en el foro por lo que pido que me ayuden con lo que puedan
miren mi problema es el siguiente me piden un programa hecho con animacion en c# en el que una pelota rebote en esquinas de el PictureBox ,hasta el momento ya logre hacerla moverse pero en lugar de solo rebotar en esquinas tambien rebota en las partes medias del PictureBox necesito ideas de que puedo hacer apra evitar que reboten en las partes medias. porfavoor gracias
bye
  #2 (permalink)  
Antiguo 22/03/2010, 22:41
 
Fecha de Ingreso: agosto-2008
Ubicación: D,F
Mensajes: 412
Antigüedad: 16 años, 2 meses
Puntos: 4
Respuesta: Pelota rebotando en esquinas

bueno aunque todavia no se de eso no se si me podias regalar tu codigo para ver como funciona si no es mucho pedir
  #3 (permalink)  
Antiguo 23/03/2010, 02:28
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años
Puntos: 4
Respuesta: Pelota rebotando en esquinas

Bienvenida a FDW.

Como dice rikimm, lo mejor es que nos pongas el código para que podamos ver dónde está el fallo.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #4 (permalink)  
Antiguo 23/03/2010, 18:12
 
Fecha de Ingreso: marzo-2010
Mensajes: 3
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Pelota rebotando en esquinas

ok mira es el siguiente espero y me digan este codigo me lo paso un profe pero no se que hacer espero me puedan ayudar
//declaramos como globales las siguientes variables
private int CtePropBola = 12;
private int CtePropMov = 4;
private Bitmap mapaBits;
private int posXBola;
private int posYBola;
private int radioXBola;
private int radioYBola;
private int movXBola;
private int movYBola;
private int anchoMapaBitsBola;
private int altoMapaBitsBola;
private int margernXMapaBits;
private int margenYmapaBits;
private void CrearBola()
{
Graphics g =pictureBox1.CreateGraphics();
g.Clear(Color.Blue);


double min = Math.Min(pictureBox1.ClientSize.Width / g.DpiX, pictureBox1.ClientSize.Height / g.DpiY);
double radioBola = min / CtePropBola;

radioXBola = Convert.ToInt32(radioBola * g.DpiX);
radioYBola = Convert.ToInt32(radioBola * g.DpiY);



movXBola = Math.Max(2, radioXBola / CtePropMov);
movYBola = Math.Max(2, radioYBola / CtePropMov);

margernXMapaBits = movXBola;
margenYmapaBits = movYBola;


anchoMapaBitsBola = 2 * (radioXBola + margernXMapaBits);
altoMapaBitsBola = 2 * (radioYBola + margenYmapaBits);

mapaBits = new Bitmap(anchoMapaBitsBola, altoMapaBitsBola);


g = Graphics.FromImage(mapaBits);
g.Clear(pictureBox1.BackColor);
g.FillEllipse(Brushes.Fuchsia, new Rectangle(movXBola, movYBola, 2 * radioXBola, 2 * radioYBola));
g.Dispose();

posXBola = pictureBox1.ClientSize.Width/2;
posYBola = pictureBox1.ClientSize.Height/2;
}
//evento load de el formulario

private void Form1_Load(object sender, EventArgs e)
{
CrearBola();

timer1.Interval = 30;
timer1.Start();
}


private void timer1_Tick_1(object sender, EventArgs e)
{

Graphics g = pictureBox1.CreateGraphics();
g.DrawImage(mapaBits,posXBola - anchoMapaBitsBola/2,posYBola - altoMapaBitsBola/2 ,anchoMapaBitsBola,altoMapaBitsBola);


posXBola += movXBola;
posYBola += movYBola;

if (posXBola + radioXBola >= pictureBox1.ClientSize.Width || posXBola - radioXBola <= 0)
{

movXBola = movXBola *(-1);
}

if (posYBola + radioYBola >= pictureBox1.ClientSize.Height || posYBola - radioYBola <= 0)
{
movYBola = movYBola * (-1);

}
}

private void pictureBox1_Click(object sender, EventArgs e)
{
CrearBola();
}

ok pues espero me puedan ayudar porfavor gracias y hasta la proxima.
  #5 (permalink)  
Antiguo 23/03/2010, 23:46
 
Fecha de Ingreso: agosto-2008
Ubicación: D,F
Mensajes: 412
Antigüedad: 16 años, 2 meses
Puntos: 4
Respuesta: Pelota rebotando en esquinas

Ok gracias por tu codigo los expertos te diran cual es tu problema solo un comentario hay unos botones que hace que tu codigo se ponga en un cuadrito solo checalos hay uno de codigo otro d html y otro de php y hay un menu desplegable donde si le pones otro te habre otra ventana y ahi especificas que codigo estas poniendo para que ya lo sepas porque si no de todos modos los demas te van a decir
  #6 (permalink)  
Antiguo 24/03/2010, 21:21
 
Fecha de Ingreso: marzo-2010
Mensajes: 3
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Pelota rebotando en esquinas

ja ja crei que me ayudarias rikimm pero valla creo que no que mala onda la tuya ,bueno al menos espero que alguien que si sepa programar en c# me ayude porfavor ,no se aprovechen de mi nobleza.

Etiquetas: esquinas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:46.