1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajudem o noob no C#...é basico para voçês!!!

Discussão em 'Programação' iniciada por syter, 4 de Dezembro de 2008. (Respostas: 7; Visualizações: 2064)

  1. Pronto a minha duvida é a seguinte.....tenho um professor muito bom (ou pelo menos ele acha-se), e começou a materia de programação orientada a objectos da seguinte forma:

    1-Fazer basicamente uma class que deriva das picturebox
    2-Fazer com que a class se mova sozinha no nosso form
    3-Não pode sair dos limites da form

    Eu tenho algumas noções de como fazer isto....mas sem ajuda alguma sobre sintaxe por parte do professor ta difícil....
    Consigo criar a class, agora fazer com que ela se mova sozinha é que está difícil.....Sou capaz de o fazer com MouseHover e MouseLeave, mas garantir que fique dentro da form também é um problema....

    Alguém pode ajudar????

    Please é urgente!!!!!
     
  2. AliFromCairo

    AliFromCairo Power Member

    Boas, podes usar um Timer para animar a PictureBox. Em relação aos limites, basta comparares a posição da PictureBox (properties Left e Top) com os bounds do Form.
     
  3. lo0l

    desculpa la......e código????
     
  4. ppt

    ppt Power Member

    Não estás à espera que te façam o código, pois não?

    Eu não percebo muito de programação (se soubesse, ajudava), mas tens que colocar dúvidas mais específicas...
     
  5. Tomb4000

    Tomb4000 Power Member

    o maior problema que podes ter é quando o "picturebox" por exemplos bater nas paredes, tens que calcular a rota que ira tomar novamente. de resto é um timer a mover a imagem.
     
  6. AliFromCairo

    AliFromCairo Power Member

    Vou resistir à tentação de te responder.

    Isso não é um grande problema. Basta mudar o sinal dos componentes da velocidade (x para colisões com targets verticais (=> |), y para horizontais (__)).
     
    Última edição: 5 de Dezembro de 2008
  7. Tomb4000

    Tomb4000 Power Member

    sim verdade... só era "complicado" se as paredes não fossem horizontais e verticais. sorry :p
     
  8. ok...sorry

    não sei se fui bem entendido mas eu não estava a espera que me fizessem código....mas sim só queria uns exemplos....eu tenho aqui algo que fiz....funciona.....digam-me o que acham....Obrigado

    public class bolinhas : PictureBox
    {
    public bolinhas()
    {
    System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
    this.Image = global::bolas.Properties.Resources.f1;
    this.SizeMode = PictureBoxSizeMode.StretchImage;
    this.Size = new Size(55, 55);
    }

    private Timer intTimer = new Timer();
    public void movimento()
    {
    intTimer.Interval = 10;
    intTimer.Tick += new EventHandler(intTimer_Tick);
    intTimer.Start();
    }

    private int x = 1;
    private int y = 1;

    void intTimer_Tick(object sender, EventArgs e)
    {

    if (this.Location.X + this.Width >= this.Parent.Width - 15)
    {
    x = -x;
    }

    if (this.Location.X < 0)
    {
    x = -x;
    }
    if (this.Location.Y + this.Height >= this.Parent.Height - 37)
    {
    y = -y;
    }

    if (this.Location.Y < 0)
    {
    y = -y;
    }



    this.Location = new Point(this.Location.X + x, this.Location.Y + y);
    }


    }
     

Partilhar esta Página