JoãoCarreiro Posted February 7, 2013 at 04:47 PM Report #494492 Posted February 7, 2013 at 04:47 PM Boas pessoal, comecei a explorar esta linguagem de programação há pouco tempo, e estava a tentar desenvolver um joguinho simples. Algo como um objecto a saltar, que de bounce pelas paredes do "form" e o objectivo seria clicar em cima do objeto para obter a maior pontuação, ao clicar no objeto a pontuação aumentava por 1, e ao falhar reiniciava o score, tambem por cada click a velocidade do objeto a saltar aumenta. Eu ja tenho o objeto a saltar, so estou com dificuldades em inserir a interface do rato e colocar texto no form que va incrementando com cada clique, se alguem me podesse dar uma ajudinha ficaria agradecido cumprimentos!
pikax Posted February 7, 2013 at 05:06 PM Report #494493 Posted February 7, 2013 at 05:06 PM tens varias formas de fazer isso, o que ja tentaste? Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
JoãoCarreiro Posted February 7, 2013 at 05:15 PM Author Report #494494 Posted February 7, 2013 at 05:15 PM como ja tinha dito eu sei muito pouco desta linguagem, e nao consegui muito ate agora, sem ser o objeto a mover, e o ponteiro do rato esta visivel no form. fora isso nao consegui mais
pikax Posted February 7, 2013 at 05:39 PM Report #494498 Posted February 7, 2013 at 05:39 PM podes usar uma label, depois quando a pontuacao mudar mudas o texto da labal: labelPontuacao.Text = m_pontuacao.ToString(); Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
JoãoCarreiro Posted February 7, 2013 at 09:41 PM Author Report #494539 Posted February 7, 2013 at 09:41 PM e quanto ao dar incremento À velocidade com um clique do rato no objeto?
thoga31 Posted February 7, 2013 at 09:53 PM Report #494544 Posted February 7, 2013 at 09:53 PM Como controlas a velocidade? Supostamente terás uma variável para isso. Logo, quando dás um clique, incrementas o seu valor. Knowledge is free!
JoãoCarreiro Posted February 7, 2013 at 10:25 PM Author Report #494546 Posted February 7, 2013 at 10:25 PM ai esta o meu problema, eu nao sei como interagir o clique do rato com o objeto do jogo
thoga31 Posted February 7, 2013 at 10:40 PM Report #494551 Posted February 7, 2013 at 10:40 PM Que objecto é esse? Quando dás um clique com o rato, tens de saber: 1) a actual posição do objecto 2) o tamanho do objecto (suponho que é constante) 3) onde o rato clicou. Depois, verificas se a área onde o rato foi clicado está dentro da área do objecto. Knowledge is free!
JoãoCarreiro Posted February 7, 2013 at 11:05 PM Author Report #494555 Posted February 7, 2013 at 11:05 PM o objeto é uma simples imagem png que esta constantemente a "passear" dentro do form, e ao enbater numa parede prossegue o caminho oposto por isso a posiçao é variavel o que me esta a dificultar um pouco
pikax Posted February 7, 2013 at 11:21 PM Report #494559 Posted February 7, 2013 at 11:21 PM como e' que estas a incrementar a posicao da imagem? Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
thoga31 Posted February 7, 2013 at 11:36 PM Report #494561 Posted February 7, 2013 at 11:36 PM o objeto é uma simples imagem png que esta constantemente a "passear" dentro do form, e ao enbater numa parede prossegue o caminho oposto por isso a posiçao é variavel o que me esta a dificultar um pouco Dificulta em quê? Em vez de perguntares se a posição do rato está dentro do rectângulo com as coordenadas fixas [(0, 0); (30, 30)], perguntas se ele está dentro do rectângulo [(posição.x, posição.y), (posição.x + tamanho.x, posição.y + tamanho.y)]. Uma variável é um valor, a única diferença é que este varia. Knowledge is free!
HoudinY Posted February 9, 2013 at 04:31 PM Report #494691 Posted February 9, 2013 at 04:31 PM (edited) Boas João experimenta meter isto no void update: if (Mouse.GetState().LeftButton == ButtonState.Pressed) //Quando o botão é clicado { if (Mouse.GetState().X < Player.X + Player.width) //Quando a posição X do botão é a mesma do objecto { if (Mouse.GetState().X > Player.X) //Quando a posição X do botão é a mesma do objecto { if (Mouse.GetState().Y < Player.Y + Player.height) //Quando a posição Y do botão é a mesma do objecto { if (Mouse.GetState().Y > Player.Y) //Quando a posição Y do botão é a mesma do objecto deltavelocity+=1; //Aumentar a variavel da velocidade do boneco com um valor à escolha } } } } Deve fazer o que queres 😄 Edited February 9, 2013 at 06:27 PM by thoga31 GeSHi
JoãoCarreiro Posted February 9, 2013 at 05:10 PM Author Report #494694 Posted February 9, 2013 at 05:10 PM (edited) Vou experimentar edit: as variaveis player e deltavelocity nao estao definidas e estou a ter erro por isso, se me disseres onde as deva de definir secalhar consigo meter a funcionar Edited February 9, 2013 at 05:12 PM by JoãoCarreiro
HoudinY Posted February 9, 2013 at 06:55 PM Report #494708 Posted February 9, 2013 at 06:55 PM player é a variável texture2d que já deves ter no ecrã a "passear" e deltavelocity é o incremento de velocidade no player, se for uma constante então não há necessidade de a criares. eu crio-as após esta linha: public class [nomedoteujogo] : Microsoft.Xna.Framework.Game
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now