Discuss Scratch
- Discussion Forums
- » Português
- » Sprites seguir clones diferentes
- Theonedeman
- Scratcher
8 posts
Sprites seguir clones diferentes
Bom, sei que podemos diferenciar clones criando uma variável contadora e atribuindo à eles a cada criação, porém, como faço para um Sprite seguir certo clone? Por exemplo, um tiro seguir o terceiro clone gerado.
Obrigado se ajudarem!
Obrigado se ajudarem!
- Fupicat
- Scratcher
1000+ posts
Sprites seguir clones diferentes
Usar propriedades de clones específicos é impossível, mas dá pra fazer isso de outro jeito. Se você sabe exatamente qual clone o tiro deve seguir, podemos usar variáveis ou listas para guardar as coordenadas do clone e usar um ator de alvo para ir até essas coordenadas e detectar colisão com o tiro.
Fiz um projeto de exemplo que faz com que o primeiro tiro siga o primeiro clone, o segundo tiro siga o segundo clone, etc: https://scratch.mit.edu/projects/414031521/
Fiz um projeto de exemplo que faz com que o primeiro tiro siga o primeiro clone, o segundo tiro siga o segundo clone, etc: https://scratch.mit.edu/projects/414031521/
- Theonedeman
- Scratcher
8 posts
Sprites seguir clones diferentes
Ótimo! Parabéns pelo projeto, realmente ajuda. Usar propriedades de clones específicos é impossível, mas dá pra fazer isso de outro jeito. Se você sabe exatamente qual clone o tiro deve seguir, podemos usar variáveis ou listas para guardar as coordenadas do clone e usar um ator de alvo para ir até essas coordenadas e detectar colisão com o tiro.
Fiz um projeto de exemplo que faz com que o primeiro tiro siga o primeiro clone, o segundo tiro siga o segundo clone, etc: https://scratch.mit.edu/projects/414031521/
Meu problema era fazer um sprite olhar para o clone, então fiz o clone olhar para o sprite e armazenar a direção em alguma variável, assim poderia fazer o sprite sempre olhar para a direção que o clone estivesse olhando + (ou -) 180, assim, olharia para o oposto, consequentemente, olhando para o sprite.
Mas obrigado pela ajuda!
- Fupicat
- Scratcher
1000+ posts
Sprites seguir clones diferentes
Boa solução! Provavelmente melhor que a minha kkkkk Ótimo! Parabéns pelo projeto, realmente ajuda.
Meu problema era fazer um sprite olhar para o clone, então fiz o clone olhar para o sprite e armazenar a direção em alguma variável, assim poderia fazer o sprite sempre olhar para a direção que o clone estivesse olhando + (ou -) 180, assim, olharia para o oposto, consequentemente, olhando para o sprite.
Mas obrigado pela ajuda!
Last edited by Fupicat (July 27, 2020 03:33:21)
- Theonedeman
- Scratcher
8 posts
Sprites seguir clones diferentes
Pode me explicar, no seu projeto, ao substituir o item “clone#” de alvox por posição x, por que substitui todos os itens dentro de alvox e não apenas o item 5, já que “clone#” vale 5?
Outra coisa, por que a variável mostrada no jogo se chama “Clones: clone#” sendo que o nome dela é apenas “clone#”? Como e de onde surgiu a palavra “Clones”?
Print: https://imgur.com/xMrm2iz
Obrigado.
Edit: Esqueça, já entendi. Porque é apenas do ator “Clones”, mas me explica, qual a lógica? Por que consegue pegar todos os números e não apenas o 5 quando a variável é apenas do ator?
Outra coisa, por que a variável mostrada no jogo se chama “Clones: clone#” sendo que o nome dela é apenas “clone#”? Como e de onde surgiu a palavra “Clones”?
Print: https://imgur.com/xMrm2iz
Obrigado.
Edit: Esqueça, já entendi. Porque é apenas do ator “Clones”, mas me explica, qual a lógica? Por que consegue pegar todos os números e não apenas o 5 quando a variável é apenas do ator?
Last edited by Theonedeman (July 28, 2020 03:53:57)
- Fupicat
- Scratcher
1000+ posts
Sprites seguir clones diferentes
Quando um variável é de apenas um ator, cada clone desse ator tem um clone dessa variável. O valor inicial da variável de tal clone é igual ao valor que aquele variável tinha antes do ator ser criado. Por exemplo: Pode me explicar, no seu projeto, ao substituir o item “clone#” de alvox por posição x, por que substitui todos os itens dentro de alvox e não apenas o item 5, já que “clone#” vale 5?
Outra coisa, por que a variável mostrada no jogo se chama “Clones: clone#” sendo que o nome dela é apenas “clone#”? Como e de onde surgiu a palavra “Clones”?
Print: https://imgur.com/xMrm2iz
Obrigado.
Edit: Esqueça, já entendi. Porque é apenas do ator “Clones”, mas me explica, qual a lógica? Por que consegue pegar todos os números e não apenas o 5 quando a variável é apenas do ator?
quando a bandeira for pressionada :: hat events
mude [clone# v] para [0] :: variables
repita (5) vezes {
adicione (1) a [clone# v] :: variables
crie clone de [mim mesmo v] :: control
} :: control
quando eu começar como um clone :: hat control
sempre {
diga (clone#) :: looks
}@loopArrow :: control cap
Nesse exemplo, o clone sempre dirá o valor que o variável “clone#” tinha no momento em que ele for criado. O primeiro clone dirá 1, o segundo dirá 2, etc. Se o variável for mudado por um clone específico, mas não pelos outros, ele será mudado apenas para o clone que o mudou.
- Theonedeman
- Scratcher
8 posts
Sprites seguir clones diferentes
Quando um variável é de apenas um ator, cada clone desse ator tem um clone dessa variável. O valor inicial da variável de tal clone é igual ao valor que aquele variável tinha antes do ator ser criado. Por exemplo: Pode me explicar, no seu projeto, ao substituir o item “clone#” de alvox por posição x, por que substitui todos os itens dentro de alvox e não apenas o item 5, já que “clone#” vale 5?
Outra coisa, por que a variável mostrada no jogo se chama “Clones: clone#” sendo que o nome dela é apenas “clone#”? Como e de onde surgiu a palavra “Clones”?
Print: https://imgur.com/xMrm2iz
Obrigado.
Edit: Esqueça, já entendi. Porque é apenas do ator “Clones”, mas me explica, qual a lógica? Por que consegue pegar todos os números e não apenas o 5 quando a variável é apenas do ator?quando a bandeira for pressionada :: hat events
mude [clone# v] para [0] :: variables
repita (5) vezes {
adicione (1) a [clone# v] :: variables
crie clone de [mim mesmo v] :: control
} :: control
quando eu começar como um clone :: hat control
sempre {
diga (clone#) :: looks
}@loopArrow :: control cap
Nesse exemplo, o clone sempre dirá o valor que o variável “clone#” tinha no momento em que ele for criado. O primeiro clone dirá 1, o segundo dirá 2, etc. Se o variável for mudado por um clone específico, mas não pelos outros, ele será mudado apenas para o clone que o mudou.
Entendi, obrigado!
Mas estou tentando fazer uma coisa e não está funcionando, sempre pega o valor atual da variável:
https://imgur.com/LE72lZL
(Meus blocos no fórum estão todos em outra língua e não sei altera-los, por isso usei a imagem. Como altero a linguagem deles?)
Last edited by Theonedeman (July 28, 2020 16:15:11)
- Fupicat
- Scratcher
1000+ posts
Sprites seguir clones diferentes
Pode postar o link do projeto que está tendo problema? Mas estou tentando fazer uma coisa e não está funcionando, sempre pega o valor atual da variável:
https://imgur.com/LE72lZL
Os blocos no fórum Português estão bugados há anos, e os fóruns do Scratch não estão mais sendo atualizados. Já reportei esse bug várias vezes ao Scratch mas infelizmente eles não podem mais fazer nada no fórum. Ainda dá pra usar blocos em português no fórum se você escrever eles manualmente, veja esse tópico para entender: (Meus blocos no fórum estão todos em outra língua e não sei altera-los, por isso usei a imagem. Como altero a linguagem deles?)https://scratch.mit.edu/discuss/topic/422812/
- theosplay22
- Scratcher
3 posts
Sprites seguir clones diferentes
como fazer o clone do scratch ir pra outro clone?
- Discussion Forums
- » Português
- » Sprites seguir clones diferentes