Conectar-se
Quem está conectado
25 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 25 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 13/05/2012
Número de Mensagens : 275
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4
Ver perfil do usuáriohttp://www.legioncrafters.tk

[ RTS ] criar aquele "quadrado" que seleciona varias unidades

em Qui 24 Maio 2012, 23:38
eai, sabe quando vc joga um rts (estrategia em tempo real) e segura com botao do mouse, e vai arrastando ai vai desenhando um quadrado na tela, se as unidades estiverem dentro desse "quadrado" elas vao ser selecionadas.
tipo pra selecionar várias de uma vez, bom e isso preciso saber como se faz,

não achei nada parecido por aqui,

ps: unidade = soldado...etc..

vlw
avatar
Ranking : Nota A
Notas recebidas : C+A+A+B+A
Data de inscrição : 10/09/2010
Número de Mensagens : 426
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 10

Prêmios
   : 2
   : 2
   : 0
Ver perfil do usuáriohttp://williammustaffa.blogspot.com

Re: [ RTS ] criar aquele "quadrado" que seleciona varias unidades

em Sex 25 Maio 2012, 00:03
Para criar um quadrado daqueles existem algumas engines por aí... só dar uma pesquisada... Mas vou responder do mesmo modo neste tópico.

Crie um:
obj_mouse

No create:
Código:

globalvar dimensao;
dimensao=0
ativado=0

No step:
Código:
if mouse_check_button_pressed(mb_left)
{dimensao[0]=mouse_x;dimensao[1]=mouse_y;ativado=1}//define posicao y e x inicial do retângulo e ativa
if mouse_check_button(mb_left)
{dimensao[2]=mouse_x;dimensao[3]=mouse_y}//define pos y e x secundaria do retangulo
if mouse_check_button_released(mb_left)
{ativado=0}// desativa

No draw:
Código:
if ativado=1
{
draw_set_alpha(0.3)
draw_rectangle(dimensao[0],dimensao[1],dimensao[2],dimensao[3],0)
draw_set_alpha(1)
draw_rectangle(dimensao[0],dimensao[1],dimensao[2],dimensao[3],1)
}

Bem, expliquei o que ocorre no step event, no create há apenas a criação das variávei que definem o objeto...
variável dimensão faz o papel de dimensionar nosso retângulo conforme o mouse e a variável ativado, faz o papel de dizer quando desenhar o retangulo... teste aí...

Para fazer com que os objetos interajam com esse quadrado, basta fazer a checagem no step dos objetos:
Código:
if x> dimensao[0] and y>dimensao[1] and x<dimensao[2] and y<dimensao[3]
{if mouse_check_button_released(mb_left){
//evento que desejar aqui
}}
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum