• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Sir Pereira

Ecrã scroll

15 mensagens neste tópico

Pessoal, gostaria de saber fazer, uma cena do tipo de Age of Empires, que tivesse um ecrã scroll, tão a ver? :P  :smoke:

Alguém sabe fazer isso ou coisa parecida? :dontgetit:

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas.

Depende para que queres o scroll.

No caso de quereres desenvolver uma aplicação gráfica (usando o GDI+ para apresentação de gráficos / recorrer à classe System.Graphics), então podes optar por uma PictureBox.

Caso seja para apresentação de formulários, terás que usar um 'contentor' de objectos, que pode ser um Panel, por exemplo.

Em ambos os casos a ideia é definir uma dimensão fixa para a form (por exemplo: 1025x768). Para que o efeito de scroll seja criado, a PictureBox ou o Panel terão que ter um Size maior que o da form onde estão depositados. Uma vez que as coordenadas de Location podem assumir valores negativos, nesse caso poderás fazer deslocar a Pic ou o Panel para a esquerda ou direita, para cima ou para baixo, alterando as coordenadas de Location.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Imaginemos que cria fazer um jogo do tipo do AOE. Como faria isso?

Como poderia 'movimentar-me' por dentro do panel?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tentei fazer algo deste género:

Public Class Form1

    Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
        PictureBox1.Location = PictureBox1.Location - e.Location
    End Sub
End Class

Não mexeu nada  :dontgetit:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

isto é só um esboço por assim dizer e não é com o rato mas sim com 2 botões que testei no 2º form. mais logo vou tentar melhorar isto ;)

espero que já te dê umas ideias ^^

Private Sub btnEsq_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEsq.Click
  Dim maxEsquerda As Integer = Form1.Size.Width - Form1.PictureBox1.Size.Width
  If Form1.PictureBox1.Location.X > maxEsquerda Then
   Dim tempX As New System.Drawing.Point((Form1.PictureBox1.Location.X - 10), Form1.PictureBox1.Location.Y)
   Form1.PictureBox1.Location = tempX
  End If
End Sub

Private Sub btnDir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDir.Click
  Dim maxDireita As Integer = Form1.PictureBox1.Size.Width - Form1.Size.Width
  If Form1.PictureBox1.Location.X < maxDireita Then
   Dim tempX As New System.Drawing.Point((Form1.PictureBox1.Location.X + 10), Form1.PictureBox1.Location.Y)
   Form1.PictureBox1.Location = tempX
  End If
End Sub

ps: o 10 que ali se encontra é o numero de pixeis que ele mexe a picturebox. usei as seguintes medidas no main form 1024x768 e pá picturebox 1280x1024 a picturebox tem como location original 0,0.

de momento estou de saída mas volto mais logo :P

espero ter ajudado um bocado

cumps,

soulsick

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ainda me apanhas-te em casa ;)

http://www.hdd.pt/download/1053162683/WindowsApplication1.zip.html

isso tem prai mtos bugs e ta feito assim as três pancadas :P btw a textbox no form 2 é para meteres os pixeis que queres que a picturebox avance

cumps,

soulsick

Epah realmente bugs tá cheio, só o botão da esquerda é que funciona :P

Bom, mas a ideia é boa.

Mas eu queria isto para com o evento do MouseMove, e tou a ver que tou a tirar mal as coordenadas... :x

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois lulz  :biggrin: mas isto também foi só mesmo para os testes ;) mas o da direita também funciona, só não para é quando deve  :biggrin: como tava com pressa não perdi muito tempo com isso  :-[

talvez se definires um ponto perto do final (lateral,superior, inferior, cantos) do form/picturebox/etc e só a partir daí ele inicie o movimento até à parte desejada :/

eu quando testei como tu tinhas dito as vezes ficava sem imagem lol só depois e que me lembrei de experimentar com botões para acertar um bocado com os cálculos ^^

sou capaz de ir continuando a fazer uns melhoramentos a ver se ponho isto a funcionar direito  :D

mas vai postando noticias :)

cumps,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pessoal, gostaria de saber fazer, uma cena do tipo de Age of Empires, que tivesse um ecrã scroll, tão a ver? ;)  :smoke:

Não conheço!

Imaginemos que cria fazer um jogo do tipo do AOE. Como faria isso?

Não conheço!

Explica lá o que queres ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@Soulsick: Obrigado ;)

@jpaulino: Imagina o exemplo do Soulsick, o mainform tem a medida de "1024x768 e uma picturebox 1280x1024".

E queria que ao mover o ponteiro do rato, fosse conseguindo ver o resto da imagem, isto é, deixava de ver (ou não) a àrea anterior, e passava a ver para onde estava a por o ponteiro.

Procura no YouTube por Age Of Empires 1, e vê o estilo, durante um jogo. Dá a sensação que o ecrã se move.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estás a referir-te ao estilo do jogo In your face ? Eu conheço esses jogos mas pensava que era um promenor ou outro

É isso ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o que ele pretende, é algo idêntico ao que se encontra nos jogos de estratégia. quando colocas o rato num canto, ou na lateral, etc aquilo "anda" para o lado mostrando-te o mapa que se encontra fora da área visível do ecrã.

similar aos fps quando viras o rato para o lado direito por exemplo, e o "mapa" mexe-se para a esquerda.

cumps,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o que ele pretende, é algo idêntico ao que se encontra nos jogos de estratégia. quando colocas o rato num canto, ou na lateral, etc aquilo "anda" para o lado mostrando-te o mapa que se encontra fora da área visível do ecrã.

similar aos fps quando viras o rato para o lado direito por exemplo, e o "mapa" mexe-se para a esquerda.

cumps,

Isso mesmo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora