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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 07/06/2011
Número de Mensagens : 673
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

[Resolvido][Ajuda] Utilização de Lógica na Ds_list

em Sab 03 Dez 2011, 00:20
Olá pessoal! Bateu uma dúvida enquanto estávamos fazendo a ds_list. Eu estava conversando com o Luiz para mudarmos o estilo da lista para ficar igual ao do iTunes, ou seja, cada espaçamento que corresponde a um nome de script tem uma cor. A ideia é a seguinte:

Se um espaçamento é branco
O próximo deve ser azul.

Utilizando essa lógica, isso deve ocorrer repetidamente até a o final da ds_list, ou seja, um espaço será branco, outro azul, outro branco e assim por diante. Pergunto-lhes o seguinte: utilizando a lógica, como poderemos fazer com que isso ocorra? Para retirar algumas dúvidas, segue uma imagem do estilo da playlist do iTunes:



Como podem observar, um espaço é branco e outro é azul e assim repetidamente. Como podemos fazer isso em uma ds_list, sem que haja falhas?

Serei grato se puderem ajudar... Happy


Última edição por Ritton em Sab 03 Dez 2011, 16:24, editado 1 vez(es)
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 24/11/2009
Número de Mensagens : 803
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido][Ajuda] Utilização de Lógica na Ds_list

em Sab 03 Dez 2011, 00:36
Voce pode tentar fazer o seguinte: cria um background com linhas brancas a cada 20pxs de distancia uma da outra, assim vai ficar espaços transparentes entre elas, então coloca o fundo azul clarinho daquele jeito e usa uma view pra ver só onde estão as musicas e as listras. é uma ideia =D Desculpe se não ajudei mas eu sempre tento! =D

EDIT

então cara fiz essa engine pra você ter uma ideia do que estou falando =D

Use as flechas do teclado para rodar a lista de música =D



Engine View Playlist

Foi mal se não era o que você queria cara! =D Flws brother
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 07/09/2010
Número de Mensagens : 1400
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido][Ajuda] Utilização de Lógica na Ds_list

em Sab 03 Dez 2011, 09:14
Um jeito bom seria você pegar o tamanho da lista, e criar um laço, pulando de dois em dois itens e colocando uma cor. Vou te mostrar mais ou menos como ficaria:
Código:
for (i=0;i<ds_list_size(lista);i+=2)
{draw_set_color(c_white)}
for (i=0;i<ds_list_size(lista)+1;i+=2)
{draw_set_color(c_aqua)}
avatar
Data de inscrição : 01/12/2011
Número de Mensagens : 84
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido][Ajuda] Utilização de Lógica na Ds_list

em Sab 03 Dez 2011, 09:25
Se as letras forem em Draw (Praticamente IMPOSSÍVEL) você pode colocar sprites...

Ou Coloque um background todo BRANCO(ou todo AZUL) e crie uma sprite na medida que você quiser(a sprite sera a cor contraria do Background)
Depois crie 1 objeto com a sprite e va colocando onde você quer... Happy
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 07/06/2011
Número de Mensagens : 673
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido][Ajuda] Utilização de Lógica na Ds_list

em Sab 03 Dez 2011, 09:54
Obrigado pessoal. A já havia pensado nessa maneira também de usar um background. Mas eu estava vendo e queria saber, utilizando o evento Draw (acredito que apenas nesse funcionará) como podemos fazer isso? Eu gostaria que vocês imaginassem a playlist, igual ao da imagem e utilizar isto para colocar no draw. Utilizem a lógica para fazer isso... Garanto que não seja impossível, mas apenas precise pensar um pouco.

Se puderem ajudar, ficarei agradecido! Também agradeço os que tentaram!

Até mais! Happy

PS: Ah, a engine do SoulLimaloko era basicamente o que eu queria, mas utilizou-se o background. Aconselho a baixarem para entender melhor o que eu gostaria que ocorresse. Ah, nem adianta montar um código sem usar a lógica, ok?
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 07/09/2010
Número de Mensagens : 1400
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido][Ajuda] Utilização de Lógica na Ds_list

em Sab 03 Dez 2011, 10:12
Você viu o meu exemplo?
Acho que poderia funcionar, mas não testei.
avatar
Ranking : Nota D
Notas recebidas : D-C
Data de inscrição : 10/10/2010
Número de Mensagens : 582
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido][Ajuda] Utilização de Lógica na Ds_list

em Sab 03 Dez 2011, 11:40
No meu media player tinha um sistema parecido.
Nao vou copiar o código porque era mais avançado,mas uma lógica:
Código:

//Partes Azul
for (i=y; i<=ds_list_size(lista)*20; i+=40)
{
draw_set_color(c_blue)
draw_rectangle(x,i,x+400,i+20,0)
}
//Partes Brancas
for (i=y+20; i<=ds_list_size(lista)*20; i+=40)
{
draw_set_color(c_white)
draw_rectangle(x,i,x+400,i+20,0)
}

Isso é para um espaçamento de 20 em 20 px.
Os valores de x e o yincial vc muda
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 24/11/2009
Número de Mensagens : 803
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido][Ajuda] Utilização de Lógica na Ds_list

em Sab 03 Dez 2011, 15:26
GMLucas escreveu:No meu media player tinha um sistema parecido.
Nao vou copiar o código porque era mais avançado,mas uma lógica:
Código:

//Partes Azul
for (i=y; i<=ds_list_size(lista)*20; i+=40)
{
draw_set_color(c_blue)
draw_rectangle(x,i,x+400,i+20,0)
}
//Partes Brancas
for (i=y+20; i<=ds_list_size(lista)*20; i+=40)
{
draw_set_color(c_white)
draw_rectangle(x,i,x+400,i+20,0)
}

Isso é para um espaçamento de 20 em 20 px.
Os valores de x e o yincial vc muda

Aqui funcionou! Mas só que não usei a ds_list por isso criou 2 linhas apenas, mas deu certo! =D Só tem que usar aquela cor de azul mais clara, acho que é cyan o nome! Flws
avatar
Data de inscrição : 01/12/2011
Número de Mensagens : 84
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido][Ajuda] Utilização de Lógica na Ds_list

em Sab 03 Dez 2011, 15:32
É Ritton, o draw pode ser usado também, mais falei que era raro, pois como é muito + trabalhoso e cansativo, por isso recomendo o do background e das sprites...

OBS: N é que seja impossível, é só modo de dizer, já que é muito cansativo...

Até mais e boa sorte com o projeto... Happy
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 30/07/2011
Número de Mensagens : 928
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuáriohttp://luizpontes.tk/

Re: [Resolvido][Ajuda] Utilização de Lógica na Ds_list

em Sab 03 Dez 2011, 15:59
Eu não ia responder, por que eu estaria respondendo eu mesmo... Sim, isto é para o GML Maker. Eu já criei o sistema, ja sei como fazer isso, é só ver, num for, se o numero é impar ou par, e dar a cor à ele.
CREATION CODE DA ROOM:
Código:
for(i=0;i<(ds_list_size(list));i+=1)
{
o=instance_create(32,96+(i*16),obj_blibio)
o.s=ds_list_find_value(list,i)
if i/2=(i/2)-frac(i/2) {o.c=c_white} else {o.c=make_color_rgb(204,227,253)}
}
DRAW DO OBJ_BIBLIO:
Código:
draw_set_color(c)
draw_rectangle(x,y,room_width-x,y+16,0)
Só isto aí.

EDIT:
Vejam como ficou:

Até mais!
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 07/06/2011
Número de Mensagens : 673
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido][Ajuda] Utilização de Lógica na Ds_list

em Sab 03 Dez 2011, 16:28
Valeu pessoal! Parece que o Luiz já deu um jeito! Agradeço a todos vocês que tentaram ajudar de alguma forma! Admiro isso, de verdade! Boa sorte para vocês em seus projetos e obrigado novamente a todos!

Até mais!
Ranking : Nota B
Notas recebidas : B
Data de inscrição : 19/02/2009
Número de Mensagens : 226
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido][Ajuda] Utilização de Lógica na Ds_list

em Sab 03 Dez 2011, 19:29
Sei que a dúvida já foi resolvida, mas vc poderia substituir o if i/2=i/2-frac(i/2) por if (i mod 2)=0 É igual sua função porém ele vê o resto da divisão por dois. Bom é isso! Parabéns pelo projeto. Será de grande ajuda. Tchau
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