Transcrições
1. ESTAS SÃO TANGAS!: Ei, pessoal, estou triste.
Se você está procurando uma maneira simples de
criar videogames, Twine provavelmente é a resposta Especialmente se você quiser
criar uma aventura de texto ou um protótipo que
deseja executar em navegadores Você sabe, uma das melhores
características do Twine é que ele tem uma chamada sintaxe muito
intuitiva Você sempre pode acompanhar
o que está fazendo e adicionar facilmente novos recursos ao
jogo à medida que avança. Se você não precisa de gráficos
extremamente sofisticados, eu só quero que você seja
capaz de demonstrar o conceito sólido do jogo Bem, este software é
basicamente para você. Então, se você estiver pronto para
começar, me avise.
2. Baixe os recursos: Tudo bem, então antes de
começar a fazer qualquer coisa, você precisa baixar os
recursos. Tudo bem? Para fazer isso, você precisa
ir até a página inicial
do curso e, em seguida, simplesmente
rolar até aqui,
acessar os projetos aqui
e depois ler a
descrição e, em seguida, você verá um link especial
aqui chamado clique aqui. Então, clique neste link especial e ele
fornecerá uma pasta de drive que precisamos que você baixe. Então, simplesmente baixamos. Depois de baixar a pasta, basta clicar com o botão direito do mouse
no arquivo e depois extrair a necessidade de digitar
uma senha especial, certo? Então, deixe-me ampliar. Então a senha é Banquet 947. Sublinhado, sublinhado, sublinhado. Tudo bem. Então, em seguida, basta
confirmar em alguns segundos. E temos todos os
arquivos. Tudo bem. Vamos embora.
3. Instalação: Tudo bem, então para
a instalação, significa
apenas que você vai para Twinry Então, basta pesquisar
Twinery assim. Em seguida, vá para o primeiro resultado onde vemos o ícone
do aplicativo. Clique no download aqui. Em seguida, role até o fim. Se você tem Mac,
precisa baixar o macOS DMG, esse cara aqui Se você tem Windows,
baixe este. E em ambos os casos, você só
precisa pular o processo, então basta
instalá-lo regularmente, pular as coisas,
confirmar confirmar e o aplicativo ficará
instantaneamente disponível localmente a qualquer momento em
sua máquina. É isso mesmo.
4. Navegador: A próxima etapa é instalar um desses quatro
navegadores Oprah GX,
chrome, edge Então, se você quiser realmente
otimizar seu espaço de trabalho, você precisa instalar uma
extensão chamada Love tabs Funciona em qualquer um desses quatro. E a forma como funciona é que
você copia minhas configurações aqui. Deixe-me mostrar o
que acontece. Se eu tentar abrir uma nova guia, ela
fecha automaticamente as guias mais antigas e sempre cria uma
única guia existente A razão pela qual isso é
importante é que, normalmente, se você não usa essa extensão, deixe-me mostrar
o que acontecerá. Quando você testa um jogo do Twin, ele começa a acumular
guias sobre guias como essa, que obviamente
criará um caos, Portanto, para evitar que isso
aconteça, o que também seria um problema
para a RAM, basta instalar
esse limitador de abas como este Então, volte
para um como esse. E quando você trabalha no Twine, ele mantém com segurança
apenas uma guia aberta
5. A passagem: Isso é o que você verá na primeira vez que
abrir o software. Aqui, as histórias são uma
espécie de ganho dado
aos projetos. Então, cada projeto é chamado de
história, uma história, você sabe. Então, vamos criar um novo. Aqui, novo. Chame isso de detalhe um. Eu entrarei imediatamente nesse projeto. Então, ao abrir o programa, você verá todos os seus
projetos como este. Clique duas vezes. Assim mesmo. Então, esse pequeno quadrado aqui é a molécula principal de
qualquer projeto entrelaçado Isso é chamado de passagem. Fundamentalmente, é um contêiner que contém
algo que será exibido como texto como
este ou uma imagem ou vídeo, Jif ou um arquivo de áudio, qualquer lugar, e sempre
estará dentro deste projeto É basicamente
assim que funciona. Você coloca o conteúdo aqui e o exibe para simular como ele ficará
no projeto final Nós apenas garantimos que você
selecione a passagem. Nós o renomeamos como inicial. Clique aqui e, em seguida,
pressione testar a partir daqui. Quando você fizer isso, ele
mostrará que renderizará o teste, o resultado final
no navegador, você sabe, no
navegador padrão do seu sistema. E como você pode ver, podemos
literalmente ver isso aqui. Então, é
fácil alternar entre o
navegador
e o Twine
6. Estilização básica: Então, vamos voltar para
fazer algumas personalizações. Por exemplo, como você pode ver, quando você entra em uma passagem,
há muitos botões disponíveis. Mas, por enquanto, deixe-me explicar de forma muito simples
os seis primeiros. Um, dois, três,
quatro, cinco, seis. Esses seis botões aqui
estão todos relacionados
às principais personalizações
relacionadas à aparência
do texto Então, quando você divide esse
texto um pouco, podemos simplesmente selecionar assim E então você clica nos
estilos, como você pode ver, começamos a ver as
coisas clássicas, negrito, itálico Mas se você quiser
personalizá-lo um pouco mais, vamos aqui mais estilos. Começamos a ver coisas extras. Por exemplo, podemos
gravá-lo ou borrá-lo ou
sombreá-lo, etc. Apenas faça brilhar,
por exemplo, esfregue. Além disso, temos coisas
relacionadas ao movimento, então podemos fazer com que ele apareça,
desapareça, gire, gire
, você sabe,
todas as coisas que o tornam um
pouco mais interessante,
versátil para qualquer caso possível todas as coisas que o tornam um
pouco mais interessante, versátil para Apenas nos dê alguns
tremores como esse. Tudo bem, então
vamos confirmar, adicione. E agora vemos
algo acontecendo. Em primeiro lugar, deixe-me mostrar o
que acontece
na renderização final. Nós literalmente vemos o texto
com um novo estilo aplicado. É assim que é fácil
personalizar o texto. Mas deixe-me mostrar o que
aconteceu aqui no código.
7. O princípio ( )[ ]: Então, como você pode ver, nosso
texto aqui agora está encapsulado por esses
colchetes Então, fundamentalmente, quando você vê Sofi entre colchetes,
você pode chamá-la de contêiner você pode chamá-la E também, antes dos
colchetes, temos esses colchetes clássicos
como esses , esses Contém algo chamado macro. Uma macro é algo que vai mudar a aparência ou o posicionamento ou algo relacionado
à lógica do jogo. É algo
que permite
alterar a aparência de algo ou modular o
código de fundo do jogo, você sabe, rastrear algo, rastrear uma escolha para finalizar
um item
sempre será obtida
usando uma macro Mas, de qualquer forma, as macros sempre
seguem a mesma lógica, que é exatamente assim Você cria o
paraíso assim
e, imediatamente depois,
coloca os
colchetes dela como Portanto, uma macro em 90% dos casos
sempre terá essa aparência. Então, aqui, onde você coloca o
nome da macro real, você pode ver
que, ao começar a digitar, ela mostrará
todas as possibilidades Mas, por enquanto, vamos digitar, isso é uma macro, enquanto que dentro dos colchetes estará o
alvo dessa macro Esse é o alvo
dessa macro. E, claro, podemos ver
isso acontecendo aqui. Você sabe, nós temos
essa macro aqui, que muda o texto, o estilo do texto. E para decidir o alvo, colocamos o texto dentro dos colchetes
imediatamente após a macro Como você pode imaginar, há
casos em que você pode empilhar várias macros uma
após a outra ou uma dentro da Suponhamos que também queiramos
alinhar o texto, para que possamos selecionar
novamente o texto desta forma E desta vez, clicamos
neste botão aqui, alinhamento. Vamos aqui, alinhamento novamente. E Lily, acabamos de selecionar o centro. Escolha um alinhamento personalizado.
Vamos mantê-lo lá. Podemos expandi-lo,
justificar, confirmar. Então, agora temos a
macro de estilo fora de tudo. E dentro disso, temos
a macro de alinhamento, que finalmente
alinha o texto Então, fundamentalmente, você pode
empilhar vários alteradores, várias macros uma após a
outra ou dentro da outra Então, vamos testar
essa passagem novamente. Como você pode ver, agora o texto não
está apenas com o
estilo, mas também centralizado E é basicamente assim que funciona em 90% dos casos O que eu convido você a fazer é
brincar com eles, modular o estilo do texto de
maneiras diferentes e você estará bastante
familiarizado com Provavelmente, levará de
dez a 15 minutos para entender completamente
todas as possibilidades que você pode fazer com
esses seis primeiros botões. Eles são trocadores bem simples. Não se preocupe com todos
esses botões restantes. Eu vou te mostrar
gradualmente todos esses
8. Marcações e dimensionamento: Outro botão útil
que você usaria e eu recomendo usar é
o botão de tamanho. Portanto, isso permitirá que
você entenda melhor se algumas passagens são
mais importantes do que outras. Então, basta selecionar uma passagem. Você clica no tamanho e pode escolher formas diferentes
para cada passagem. Isso só permitirá que você vá
imediatamente para onde há uma passagem mais robusta
contendo mais coisas Outro recurso que será extremamente útil
às vezes é marcar uma passagem Então, fundamentalmente, você pode rotulá-lo. Você pode
dar uma cor. Portanto, para passagens que
cumprem uma função específica ou que contêm um evento
importante específico, você pode colorí-las assim Você entra e assina a passagem. Você vai aqui, marca e cria uma nova
tag, neste caso. Então, basta chamá-lo de
escolha Pv, por exemplo. Então, essas serão
passagens que contêm uma escolha muito importante
que determinará um final Então, nesse caso, vamos
dar uma cor aqui, confirmar, e podemos ver essa
passagem com essa cor. Então, à distância,
saberemos imediatamente que haverá uma
escolha importante no jogo. Bem, você pode praticamente usar rótulos para qualquer coisa
que desejar, você sabe, passagens que
precisam ser depuradas ou verificadas novamente duas vezes Mas deixe-me estragar
isso. Na verdade, as tags são mais do que isso. Eles podem ser usados para realmente falar com o fio para desbloquear funções
específicas
9. Link básico: Agora, deixe-me falar sobre a funcionalidade
realmente essencial do Twine, que está passando por
diferentes passagens Embora, tecnicamente, seja possível criar um jogo inteiro com apenas algumas passagens ou até mesmo
uma toda
a ação ocorra, na maioria dos casos, você precisará realmente
ter
várias Isso permitirá que você
tenha mais organização das informações
do jogo, certo? Assim, você segmentará o jogo em várias etapas, em vez de ter uma única passagem de BF que
contenha muitas coisas. Então, isso é muito importante. Você só precisa
clicar duas vezes nessa passagem. Vamos criar
algo chamado link. Crie colchetes. E você também
os fecha assim. Dentro disso, podemos digitar o nome
da passagem de destino. Você pode dizer que vê que
algo começa a acontecer aqui. Sala. Assim. E agora, como você pode imaginar, já
vemos uma nova
passagem com esse nome. Se testarmos a Sala 1,
deixe-me mostrar o que acontece. Literalmente, vemos um botão chamado sala em que Lily
entra na sala dois Então, se eu clicar aqui, ele
vai para a sala dois. Então agora está vazio, obviamente. Para verificar se estamos
realmente na sala dois, você vê essa janela aqui
no canto inferior direito, chamada de janela de depuração É extremamente importante
porque permitirá que você acompanhe todas as
variáveis que
foram rastreadas durante o jogo e você poderá ver onde
está agora. Estamos exatamente na
passagem chamada Sala dois. Você também pode redefinir o teste atual
recarregando a página Então, se você fizer algo
assim, ele será reiniciado a partir da primeira passagem. E vemos isso novamente, e agora estamos de volta à sala dois. Este botão aqui
permite que você volte. Eu vou te mostrar mais tarde
como desativá-lo. Se você entrar no link dessa
forma e digitar hífen maior do que se digitar uma palavra personalizada,
por exemplo, continue Agora, se voltarmos ao teste, teste da Sala 1, você pode ver que o botão agora
aparece como continuar. Portanto, é uma palavra personalizada
que podemos mudar. Mas, na verdade, ele
vai para a sala dois. Então, quando clicamos nele, você pode
ver aqui que estamos na sala dois. Uau. Então, isso é basicamente tudo que você precisa
saber sobre cordéis Então, ok, isso foi
bom. Obrigada. Basta deixar um comentário. Ok,
desculpe. Só estou brincando. Obviamente, sim,
existem pessoas que criam jogos
inteiros usando
apenas um link básico como esse. Mas, obviamente, se você
quiser ter mais sistemas personalizados, se precisar de pequenas
coisas que estão além
10. O CSS: Certo. Às vezes, você pode
perceber que está usando um estilo específico de forma consistente
para o resto da história. Portanto, para esses tipos de coisas que são válidas em
escala global para todo o jogo, talvez seja sensato aplicar esse alterador apenas uma vez
usando a seção CSS Então, para fazer isso, você só precisa acessar a história
aqui e depois
acessar a Folha de Estilo. Nesta seção, você
poderá colar o código CSS. Já preparei
algumas coisas básicas que você poderá
fazer com muita facilidade. E basta copiar esse
código de um
dos documentos chamados
CSS neste capítulo. Então, deixe-me explicar
o que eles fazem. A barra lateral aqui permite que
você desative a seta de
retorno que normalmente
você vê quando entra em uma passagem diferente,
se você a alterar Eu posso ver que agora,
se eu entrar na sala dois, vejo essa seta aqui, enquanto que se eu não colocar nenhuma, ela não mostrará nada. Então, caso você esteja escrevendo um livro
, pode fazer sentido
deixar isso aí. Mas caso você esteja
fazendo um jogo adequado, talvez queira desativar
essa possibilidade também
porque ela permitirá que porque ela permitirá as pessoas
trapaceiem em seu jogo Também posso mudar o
telefone nesta seção, digitar exatamente o nome
do telefone que eu quero. Ele usará isso automaticamente. Você também pode instalá-lo. Eu posso te mostrar mais tarde como
importar telefones de um site. E é aqui que você decide a centralização padrão de um texto Então, para a esquerda, ele vai
para a esquerda. Deixe-me mostrar. O mesmo se digitarmos
corretamente e assim por diante. Então, por enquanto, basta digitar
Center porque eu gosto. E então você pode alterar a cor
padrão dos links. Então, como você pode ver aqui,
basta digitar a cor específica. Você também pode digitar roxo, por exemplo, e ele
ficará roxo. Assim mesmo. Se você quiser digitar um tom de cor
específico, basta fornecer um código X bruto, colado aqui, o
código X dessa cor Por fim, você também pode
alterar a cor de quando o link
será passado pelo cursor Então, deixe-me mostrar
agora que é branco aqui. Então isso significa que se eu passar o mouse sobre
ele, ele fica branco. Então, como você pode ver, essas são
coisas muito simples, mas, na verdade, você já pode começar a ter mais poder na
estilização do projeto Se você quiser alterar
a cor aqui, ainda
poderá fornecer
uma cor personalizada,
mesmo que, no nível CSS, já
exista uma cor
padrão decidida. E isso é tudo que você precisa
saber a partir de agora para o CSS.
11. O Javascript: A seção JavaScript
será útil posteriormente no curso para instalar alguns recursos extras que normalmente o Twine não
é capaz de fazer Portanto, vamos usá-lo especificamente
para ter música interativa, efeitos sonoros
interativos e também para usar o teclado como entrada. Então, poderemos realmente usar as teclas
do teclado para
controlar o jogo. Então isso vai ser
divertido. Além disso, há também uma biblioteca para usar o
JoyPad para controlar Há coisas muito complicadas
que você pode fazer simplesmente instalando bibliotecas
nesta seção Mas, por enquanto, isso é tudo que você sabe.
12. Link avançado: Tudo bem, então, a menos que você
esteja em uma situação que
a única coisa que
você precisa fazer é simplesmente deixar a
passagem completamente, meio que mudar de página
e ir para uma nova, às vezes você só precisa evitar o uso do
link básico e, em vez disso, da
versão mais flexível do link Portanto, você precisa digitar
apenas uma macro como essa. Em seguida, entre aspas para mastigar, você dá o nome ao botão Então, por exemplo,
saia desse lugar. E então, dentro de colchetes, podemos fazer o que
quisermos acontecer Portanto, não está necessariamente
saindo da passagem. Pode ser o que
quisermos. Você sabe? Então, isso é
basicamente um botão, e podemos fazer com
que dentro desses colchetes
aconteçam onde quisermos, até mesmo centenas
de coisas ao mesmo tempo Vamos apenas ocupar mais espaço. Você sabe, vamos apenas
ocupar um espaço como este. Então, vamos começar
criando uma macro go básica. Isso vai para o quarto dois. Então, basta digitar exatamente o
nome do destino. Então, agora, deixe-me te mostrar. Vai ser literalmente o
mesmo que o link básico. Então, ele literalmente
mostra o botão. Clicamos e vamos para a sala dois. E até agora tudo bem.
Mas, na verdade, é aí
que entra a vantagem Você vê esse espaço aqui, podemos inserir onde quisermos. Então, antes de sair da passagem, podemos fazer dezenas de coisas
acontecerem aqui neste espaço. Podemos dizer variáveis, podemos mudar algumas variáveis. Podemos desativar alguns botões. Podemos mostrar algum conteúdo. Fundamentalmente, esse,
como você pode imaginar, será o link
que você usará 90% das vezes, talvez
até com mais frequência É extremamente poderoso. Então, essa
será a macro principal que você usará em qualquer jogo.
13. Esquerda direita, parte inferior: Fundamentalmente entrelaçado,
o código é lido
da esquerda para a direita e
de cima para baixo Isso significa que se você
colocar, por exemplo, vamos criar
uma terceira passagem, chame-a de sala três, assim. E então voltamos para a sala um, inserimos uma nova, apenas uma nova macro
depois da sala, assim. E então nós o
chamamos de seu quarto três. Então, o código será lido da
esquerda para a direita. Logicamente, devemos
ir para a sala dois. Mas aqui também
temos a sala três. Então, para onde vamos? Obviamente, só podemos ir a
um lugar. Vamos apenas verificar. Então vamos aqui, testamos. Ok, pressione. Tudo bem, então
pousamos na sala dois Fundamentalmente,
como
deixamos completamente essa passagem neste
ponto, nesse exato ponto, o resto do código daqui em diante será completamente ignorado Se você quiser que as coisas aconteçam antes de sair da passagem, ela será
colocada à esquerda do GT.
14. Variantes de macro: Para muitas macros, também
existem variantes. Você sabe, existe uma espécie
de versão básica, que neste caso,
é apenas o link, mas existem variantes especializadas para um caso específico. Esses são tipos de coisas
que você pode começar a ignorar porque
são secundárias. Mas, às vezes, para economizar tempo, você pode começar a
memorizar algumas delas Por exemplo, um dos casos mais
comuns do link é exatamente ir para
outra passagem. E como você pode imaginar, há
uma versão do link chamada Link let me
show you ink go to. Como você pode ver, ele mostra todas as variantes
possíveis disso. Então, como você pode ver, há
um chamado Link go, o. Verifique a documentação para
verificar exatamente como eles funcionam. Mas eu já sei que isso
funciona dando aspas para cho. Então, um será
o nome do recibo e a segunda cotação para
o destino. Como você pode ver, as
variantes permitem que você economize espaço no
código. Então, vamos testar. Tudo bem. Prossiga. Funciona. Quem.
15. Variáveis: Então, neste ponto, você provavelmente entendeu que
deixar uma passagem ignora
completamente todos os
dados persistentes conhecidos no jogo Você provavelmente está
se perguntando se existe uma maneira de
realmente tornar alguns dados
persistentes para tornar o jogo. Lembre-se de alguns números específicos,
informações. Você precisa usar variáveis. Você precisa definir uma
variável para que ela exista. Para fazer isso. Vamos
criar uma passagem simples. Digamos que, quando
estivermos na sala um, já
salvaremos uma variável. Então, vamos
usar esse conjunto de macros. Em seguida, você precisa digitar o dólar e dar um nome
a essa variável. Então, por
enquanto, chamamos isso de dinheiro. E então digitamos dois. Uma variável pode
ser um número, então podemos simplesmente digitar zero. Então, defina o dinheiro para zero, teste. Tudo bem, veja
agora, começamos a ver a variável sendo registrada
com o número zero. Então funcionou. O segundo caso
será uma string. Então, para fazer isso, basta digitar dois
códigos e vamos digitar low. Então, neste caso, será uma string. O dinheiro é o ponto mais baixo. Tudo bem. Finalmente, terceiro
caso, verdadeiro ou falso. Então, vamos digitar false. Tudo bem, então dinheiro é o valor
booleano que cai. Ok, caso tenha
sido registrado corretamente. Então, é uma espécie de interruptor. Você sabe, pode
ser verdadeiro ou falso de uma forma muito útil. Mas é quase o mesmo
se você usar apenas um zero, um ou verdadeiro ou falso, também aqui usando uma string. Todos esses três casos
são intercambiáveis. Então, você só precisa
desenvolver seu próprio gosto por suas variáveis e
simplesmente se ater a elas. Você sabe, há
casos em que você precisará de
tipos específicos de variáveis. Portanto, é muito
importante poder
usar todos esses três, certo. E isso é tudo que você precisa
saber sobre as variáveis. Esse valor poderá se transformar com o tempo na história. Digamos que queremos
alterar o valor
assim que clicarmos
nesse link, saia. Então, cole outro aqui e coloque dinheiro nele. Então, isso significa
dinheiro mais um. Vamos ver se você consegue adivinhar
o que vai acontecer. Então chegamos ao quarto um. Como você pode ver, você
tem dinheiro zero. E assim que você
clica em sair, quem, você vê o que aconteceu?
Agora se tornou um. Então é assim que você
pode alterar
facilmente os valores de uma
variável no jogo. Esse é o primeiro
caso. O mesmo princípio no caso de você usar uma corda. Então, se você digitar low
e quiser alterar uma nova string
assim que clicar, obviamente, isso
mudará a nova string. Então, deixe-me mostrar para você
que é baixo, se eu clicar. Oi Tudo bem. Isso é
basicamente tudo que você precisa saber por
enquanto sobre as variáveis
16. Global x local: Na verdade, existem dois
tipos de variáveis. Pode ser global
com o dólar. Isso vai persistir pelo resto
do jogo, ou também existem
variáveis locais que podem se autodestruir assim que
você sair dessa passagem Você pode se perguntar por que talvez
queira excluir algumas variáveis. Bem, com as variáveis locais, você pode simplesmente organizar a janela de depuração ao
sair finalmente
dessa passagem e
deixar mais espaço para ler melhor o código para coisas
mais importantes,
para usar Em vez do dólar,
você usa sublinhado. Tudo bem. E vamos dar
um nome um pouco diferente como status. Tudo bem. Feliz. Então, agora, em teoria, quando testarmos essa passagem, teremos também um
arb local, como você pode ver, temos o status registrado
com a string, happy Quando eu sair dessa passagem, preste atenção
neste ponto aqui. Assim que eu sair
, três, dois, um. Viu o que aconteceu? A variável de status
foi completamente destruída. Não existe mais. Então, é por isso que é útil usar algumas vezes as variáveis
locais. Se acontecer de você usar variáveis
locais, às vezes
você pode ter alguns
problemas adicionais. Então, a menos que faça sentido,
não os use. Além disso, certifique-se de
defini-las no início
da passagem. Porque se você
colocá-los no final, às vezes isso pode
criar alguns problemas. Deixe-me tentar aqui.
Talvez ainda funcione. Sim, nesse caso, ainda funciona, mas é mais sensato definir as variáveis locais
o mais rápido
possível Então, basta
colocá-los até o topo aqui.
17. Randomização: Dois Agora, deixe-me também dizer
algumas coisas para
tornar a configuração de uma
variável mais flexível. Então, vamos supor que
você queira definir um número aleatório ao decidir o valor inicial
do dinheiro. Então pronto. Mas desta vez, em vez
de fornecer um valor fixo, coloque colchetes e digite coluna
aleatória E aqui nós apenas definimos um intervalo. Então, por exemplo,
digamos que será de 0
a 1 mil Assim, com
esse truque, você pode definir números aleatórios
dentro desse intervalo. Teste. Foi definido como 50. Então, se recarregarmos essa
passagem, 676 543. Então, toda vez que eu recarrego a
passagem, como você pode ver, reinicio o teste, e podemos
ver que, toda vez, temos um teste aleatório A outra forma que
é muito semelhante à aleatória é chamada de outra forma. Então, se formos aqui e
mudarmos com E, assim, 500, qualquer coisa,
você sabe, assim. A diferença entre aleatório e qualquer um é que,
nesse caso , ele escolherá apenas um da
lista que criamos. Então, deixe-me mostrar, como você
pode ver, agora é zero. Novamente, zero, 100, dez, como você pode ver,
ambos são semelhantes, mas são um pouco diferentes
na forma como funcionam. Isso já será extremamente útil se
quisermos atribuir, como um dano aleatório ou se você
quiser atribuir um bônus. E, obviamente, qualquer uma delas
também pode ser cordas, triste, feliz. Certifique-se de que
, obviamente, você separe todos os valores com
vírgulas como essa,
18. Conjunto vs colocação: OK. Às vezes, você pode sentir a necessidade de definir a variável de uma forma um
pouco diferente. Para fazer isso, basta usar uma variante de set
, chamada put. Assim. É basicamente a mesma coisa que
definido, mas ao contrário Então, você apenas define primeiro o valor que você
vai dar por polegada. Como você pode ver, é
o mesmo que set, mas colocamos o valor e
depois o destino. Coloque dinheiro em Happy Inch. Com a corda, feliz. Quem. Às vezes, pode
fazer sentido colocar o valor real
na frente do código,
para que você possa ver facilmente
19. Atrasos + ciclos de tempo: Tudo bem, então vamos dedicar alguns
segundos para falar sobre macros relacionadas ao tempo Suponha que
queremos atrasar essa macro aqui em um certo
número de segundos, certo? A maneira mais simples de
fazer isso é usar depois de 3 segundos. Então três a. Você também pode
colocar números de milissegundos. Depois colocamos a
macro put dentro. Somente após 3 segundos que
entrarmos na passagem, veremos a
variável moni sendo definida Então vamos aqui. Um,
dois, três? Viva. É assim que funciona. Fundamentalmente,
isso meio que atrasa um evento em um certo número de segundos ou até minutos,
você sabe, depende É isso mesmo. Ok, agora, em teoria, depois de 3 segundos,
veremos o dinheiro se tornar um. Eles apenas dizem que
queremos que isso aconteça somente depois clicarmos neste botão
aqui, assim. Então, basta Lily mudar o
nome para live, 3 segundos. Então, podemos finalmente
transferi-lo para dentro do Link. OK. Então, vamos até aqui. Como você pode ver, não
vemos nenhuma variável no momento. Então, se eu clicar aqui, OK, esperamos 3 segundos. Devemos dizer: Ok,
começamos a ver o número um. E você percebe uma coisa, está começando a
aumentar a cada 3 segundos. Então, a razão pela qual isso está acontecendo
é que ao vivo, por padrão, é uma espécie de loop. Portanto, ele repete essa função
a cada 3 segundos neste caso. Então, está aumentando infinitamente o dinheiro em
um a cada 3 segundos. Então isso é uma coisa. Mas
vamos supor que queremos que o evento
aconteça apenas uma vez. Faça isso. Digite parênteses, pare e agora isso fará com que o
evento aconteça apenas Deixe-me te mostrar. Clique em 1 segundo. Como você pode ver
, simplesmente parou. Para um. Então isso é o
equivalente a depois, mas muito mais flexível.
20. Declarações condicionais: Dois. Suponhamos que você queira que algo aconteça somente quando
condições específicas forem atendidas. Queremos ir para uma passagem
específica quando a variável Moni atingir
um determinado valor
mínimo, certo? Vamos apenas modificar, em primeiro lugar
, esse link aqui, para que ele aumente
esse número infinitamente Depois que o dinheiro tiver
sido aumentado, insira uma nova macro
aqui chamada I. Você acabou de quebrar uma linha como esta. Tudo bem. Então, a forma como essa macro funciona é que aqui
especificamos a condição. Então, digamos que o
gemido seja maior. Então, podemos usar maior, menor. Você provavelmente viu isso
na escola, você sabe, maior medida é
menor ou igual a. Essas são todas as
possibilidades, certo? Então, por enquanto, vamos
digitar mais do que três. Essa vai
ser a nossa condição. Basta especificar o que acontece. Vá para uma passagem específica
dentro dos colchetes. Vá para a sala três. Agora, em teoria,
veremos o moni aumentar e somente quando
ultrapassar três, ele
irá imediatamente para a sala três Vá. Então,
preste atenção nisso. Um? Dois? Três? Quatro. Ok,
você viu o que aconteceu? Agora, assim que chegamos a quatro, que é maior que três, saímos da passagem
e, na CNC, agora
estamos na sala três Ufa. Então é assim que
as condições funcionam. E você não tem ideia de quantas vezes você vai usar isso
porque eles permitem que você torne sua lógica
do jogo mais complexa
21. Mais condições: A macro Two I também pode monitorar
várias condições. Por exemplo, você pode ir
aqui no final deste if, e você só precisa digitar
parênteses e depois if. Fundamentalmente, é um segundo em que
você acabou de definir uma
nova verificação, uma nova condição Então, primeiro de tudo,
deixe-me fazer uma mudança aqui. Digamos que atribuímos dinheiro a
um número aleatório, como um dado. Então vamos aqui
se Moni for uma, uma. Caso contrário, se Moni for ele, che. E também para tornar isso
mais claro, imprima fisicamente o texto da variável moni
depois que ela for atualizada Então, vemos li se é verdadeiro
ou falso. Assim. Eu só testo. Ok, vá. Então, vemos a variável um.
Você vê o que aconteceu. Somente quando atinge um, imprime um como este. E o mesmo quando atinge dois
aleatoriamente. Você pode ver isso. Tudo bem, dois, e novamente, quando você variável dois novamente, assim por diante, certo Digamos também que
queremos ver um texto para todos os outros casos. Para fazer isso, basta fazer sexo
depois de todos os sets ifs, s, que significa fazer isso em todos os outros casos que não
são os anteriores, você sabe, então nem
esse deus mais velho Tudo bem, odor, odor, ordem e só uma
ou duas mudanças Mas em todos os outros casos, ele imprime Odor. Uau. Então, isso
aumenta exponencialmente o poder de I.
22. Eventos: Até agora, meio que
construímos um sistema em que
combinamos a macro ativa
com a macro I. Mas, na verdade,
há uma macro específica que você pode usar para
criar uma I online, então ela é acionada
assim que a condição é
atendida automaticamente Então, nós apenas o colocamos bem
no fundo. Assim. Ok,
isso se chama evento. E a forma como funciona
é que você digita quando gemer é um, vá para a sala três Fundamentalmente, isso é o
mesmo que usar um Live mais F. Ele estará pronto para
acionar isso assim que
a condição for Super rápido, você sabe,
o mais rápido que você pode fazer. Vamos tornar isso um pouco
mais interessante. Talvez diminuamos ainda mais
a velocidade, mas aumentemos os números. Vamos tentar isso. Vá. Então, continua até que
finalmente toquemos em um, e imediatamente
vai automaticamente para
a coisa que configuramos. Esse é fundamentalmente o
poder da macro de eventos. Apenas um conselho,
não os abuse. Você sabe, não use demais
vários avant muitas vezes. Só os use se
for necessário.
23. IF INSIDE SET: E se você quisesse
incorporar uma condição if
diretamente na definição
de uma variável? Você pode fazer isso com
a macro de condições. Então, vamos definir,
primeiro de tudo, novamente,
set mon, luando aleatoriamente de $1-100 Talvez 10.000. Tudo bem.
Não sabemos se teremos
apenas $1 ou 10.000. Certo. Para definir se
somos ricos ou falidos, podemos fazer isso a partir daqui. Então, defina o status, digite cone. Em seguida, chame a variável,
você precisa verificar. Então, dinheiro. Digamos que
, se for maior que 9.000, atribuiremos a
string rica e escolheremos status E então precisamos
definir qual string será atribuída para
todos os outros casos. Então, será o coma e dará um valor para
todos os outros casos. Então, digamos que quebrou, teste. Então, agora estamos falidos porque, como você pode ver, o
dinheiro recebeu apenas 1054 Então, se recarregarmos quebrado novamente, 7.000 fecham, novamente, novamente, novamente, eventualmente,
ele ficará rico Vá, vá, vá. Ok. Nossa, Rich Porque, como você pode ver, o
dinheiro agora é superior a 9.000. É assim que funciona.
A condição é extremamente poderosa e você pode incorporá-la
onde quisermos. Pode estar até mesmo dentro da impressão, e você também pode definir várias condições
no mesmo cond. Bem, basta copiar isso. Vamos definir um caso
intermediário que você está acima 2.000 e é menor que 9.000 Tudo bem. Então, nesse caso, podemos dizer que é tapete. Em todos os outros casos, ele estará realmente quebrado. Ok, M, porque, como você
pode ver, somos 7.000. Mat, tenha cuidado
com esse ponto. Mais uma vez, M, Matt. Ok, agora estamos realmente falidos
porque, como você pode ver, temos apenas $69
24. Ganchos: Vamos supor que,
às vezes, você precise um trecho de texto que queira ocultar e mostrar dinamicamente, ou queira ter
um trecho de código que queira executar novamente
somente quando quiser Para fazer coisas assim,
você precisa usar ganchos. Portanto, os ganchos são basicamente
miniparágrafos que são espécie de mini contêineres que podem conter algo que
será exibido ou código, e eles podem Eles podem ser ocultados,
exibidos ou executados novamente. Eu vou te mostrar como
fazer todas essas coisas. Vamos ler uma
nova passagem aqui. Primeiro, basta digitar
uma linha vertical como essa. E você dá o nome desse gancho a esse
contêiner. Gancho um. Então você precisa decidir
se esse gancho
ficará visível por padrão
ou oculto por padrão? Se você quiser que isso fique visível, basta digitar um símbolo maior do que
esse aqui. Em seguida, basta digitar os dois
colchetes, como de costume. E como você pode ver, ele
completa a função, e agora podemos digitar
onde quisermos aqui quando eu visualizo
esta passagem É como se eu tivesse escrito
normalmente esse texto, mas agora está dentro de um gancho. Suponho que queremos que o gancho seja invisível por padrão. Bem, basta alterar esse símbolo com os
parênteses fechados Não vemos nada.
25. Mostrar / ocultar: Você sempre usará
uma macro chamada show. Em seguida, você digita um ponto de
interrogação e nomeia o gancho. Então, gancho, um. Então, agora, como você pode ver, também há uma partida após 1 segundo. Tudo bem, um e shows. O mesmo vale para o contrário. Portanto, se por padrão estiver
visível, você poderá ocultá-lo. Altere o show com a altura. Então, depois de escolher segundos, ele esconderá o gancho. Um, dois. Esconder. Como você pode imaginar, isso também
pode acontecer ao vivo, com evento. Você pode usar a fantasia
e encontrar novas maneiras de mostrar ou esconder um gancho de
maneiras diferentes. Você sabe, fundamentalmente não há
limite.
26. Recipientes de código: Ah. Outra característica incrível dos ganchos é que você
também pode colocar código dentro deles Assim, você pode
ocultá-lo por padrão. Se você colocar um código dentro
dele, ele só será acionado, só iniciará
quando você abrir o gancho, somente quando você o mostrar. Então, se, por exemplo, colocarmos algo que vai
ao ar dessa forma, cada meio segundo aumenta a variável dinheiro em
um e a imprime. Como está dentro, o gancho está escondido, não
veremos nada
quando testarmos a passagem. Vamos apenas ir até aqui.
Como você pode ver , não
temos nada e também
não temos a variável. Mas assim que eu pressiono isso, começamos a ver
a variável sendo impressa e continuando indefinidamente. Portanto, é uma espécie de caixa que
contém todas as informações e
só começa quando você a abre. Essa é a beleza dos ganchos. Você pode usá-los para acionar todo o avanço na
própria lógica somente quando quiser.
27. Substituir conteúdo: Você também pode alterar dinamicamente
o conteúdo de um gancho. Para fazer isso, você precisa
usar as macros de substituição. Substitua, direcionamos o gancho ou os ganchos que precisamos
trocar. Ganhe um por enquanto. Dentro dos quadrados, basta
colocar o novo conteúdo que será colocado em vez
do antigo Portanto, ele
substituirá completamente o código antigo. Por enquanto, basta selecionar uma
sequência de zeros como essa. Pressionamos ir para mostrar
o conteúdo padrão
e, assim que pressionamos
alterar, você vê o que aconteceu? Agora vemos o novo
conteúdo nesse gancho. Então, obviamente, você pode repetir
essa etapa dinamicamente. Ele pode ser extremamente útil para diálogos e jogos
dinâmicos
ou até mesmo a partir do próprio código Apenas tenha cuidado ao usar
isso com funções ao vivo. Se houver uma
função ativa em andamento, talvez seja aconselhável tentar
incorporar a
substituição ao próprio gancho ou até mesmo
certificar-se interromper a
função ativa, caso contrário, ela ainda poderá estar em
execução em algum lugar.
28. Recarregando um gancho: Então, como você pode ver, agora, definimos o dinheiro para oito
mais dez e o imprimimos. Então, como você pode ver, isso
será mostrado. Então, se
executarmos essa passagem, veremos apenas o número
dez, e pronto. Então, vamos supor que
queremos que você crie um botão que diga
a esse gancho que execute novamente esse código
e, em teoria,
veremos um número maior. Então, basta ir aqui, criar o Link ,
tentar novamente e, dentro dele, vamos colocar
a macro de reexecução. Chamamos o gancho alvo, então apenas enganche um e
depois vá aqui. Teste, nós temos o botão. Então, assim que eu pressiono, Who. Você vê o que acontece. Então
, meio que contou tudo. Ok, repita você mesmo.
29. Alcançar um gancho: Tudo bem. E, finalmente, deixe-me mostrar uma abordagem um pouco mais
avançada em que, por exemplo, você tem vários ganchos com conteúdos diferentes Vamos supor que
você tenha um sistema que esconde apenas um
deles por vez Para apenas discernir o
destino dinamicamente sem precisar criar muitas cópias
do mesmo código, uma abordagem será usar os chamados ganchos chamados macro Deixe-me
mostrar como funciona. Primeiro de tudo, um botão
para escolher o alvo. Então, almeje um, e
usaremos uma variável chamada
alvo para conectar um. Em seguida, basta copiar e colar isso para o alvo dois. Tudo bem. OK. Acabamos de criar um terceiro link que será usado para finalmente
ocultar um deles. Então, apenas esconda o alvo. E aqui nós apenas brincamos de esconde-esconde. Em vez de nomear
diretamente apenas um gancho, nós o tornamos dinâmico Use a nova macro, que
é chamada de nome de Hooks. Esse aqui, assim. E então usamos o alvo
variável desta forma. Então, fundamentalmente, o que vai
acontecer é que, primeiro, pressionamos um
desses botões para escolher o
alvo um ou o alvo dois E então, finalmente, pressionamos o segundo botão
aqui, escondemos o alvo, que automaticamente ocultará
o gancho correto, acordo com o que
pressionamos anteriormente aqui.
Deixe-me te mostrar. Digamos que tenhamos como alvo o número. Está bem? Então você pode ver a
variável aqui sendo definida. O alvo é o gancho Q. Se eu pressionar esconder o alvo, agora ele vai esconder
este aqui, o segundo Nós. É assim que funciona. Deixe-me mostrar
também o primeiro. Então, obviamente, se pressionarmos apenas isso sem definir uma
meta, provavelmente será um erro, porque
ainda não há uma meta sendo definida. Então você precisa definir a meta. Então, vamos focar em
um design como esse. E agora, se nos escondermos, ele ocultará automaticamente
o alvo certo.
30. Mapas de dados: Deixe-me mostrar como
usar dados de pacotes. Crie uma primeira
situação em que definamos um dinheiro para dez. Queremos definir automaticamente
o status como falido ou rico. De acordo com esse número aqui, definimos o status money, que é a fonte da
modulação do mapa de dados do DM E dentro do mapa de dados, usamos pares de valores. Portanto, para cada valor possível
que possa ser atribuído ao dinheiro, retornaremos um
determinado valor específico. É assim que um mapa
de dados funciona. Então, vamos aqui
e sabemos que o dinheiro só
vai
para um ou 1.000. Então, dentro do mapa de dados, podemos simplesmente digitar uma vírgula, atribuir a string,
quebrada, obviamente Em seguida, conte o coma para o
segundo caso, 1.000 ricos. E neste momento, podemos simplesmente
imprimir o status um ou 1.000. Tudo bem. Deixe-me
mostrar o que acontece. Então falido, rico,
rico, rico, falido. Que cuidadosamente
esse número aqui. Então,
só estamos falidos quando é um. E somos ricos exatamente
quando são 1.000. Nossa, essa é a beleza
dos mapas de dados. Sempre tenha cuidado, pois
você precisa garantir
que esse mapa
de dados leve em conta todos os casos possíveis. Caso contrário, ele
retornará um erro. Por exemplo, digite um número estranho que não registramos
no mapa de dados, como esse número
aqui. Ok, imediatamente. Então agora funciona, agora funciona
e, eventualmente, quebrará porque há um número
que não registramos.
31. Matrizes: Caso você esteja se
perguntando se existe uma maneira de ter o
máximo de flexibilidade, a resposta é usar matrizes Fundamentalmente, os arrays
são a forma mais geral empacotar vários tipos de
dados no mesmo local Para fazer isso, muito simples. Você acabou de definir uma variável. Então você dá um nome a esse
grupo de dados, escolhe a caixa um
e, em seguida, escolhe A, e aqui podemos
digitar onde quisermos Defina o primeiro número
como um, dois, três. Então, como você pode ver, podem
ser tipos
mistos de valores no mesmo pacote. Isso torna os arrays extremamente flexíveis e poderosos Você os usa o tempo todo. Neste ponto, temos uma
matriz que contém um, dois, três, quatro valores. Esse pacote inteiro será chamado de caixa um. Deixe-me
mostrar o que acontece. Ele registrará
todo o conteúdo da caixa um como elementos
individuais. E você provavelmente está se
perguntando o que podemos fazer com matrizes. Bem, se definirmos Ming, caixa em segundo lugar,
por exemplo , assim, desse jeito. Então, fundamentalmente, com
isso, vamos retirar o segundo valor da caixa
e colocá-lo em dinheiro Tudo bem. Viu o que aconteceu? Acabamos de atribuir o segundo
valor da caixa um ao dinheiro. Então, podemos usar o terceiro, aqui, e assim por diante. Como você pode imaginar, existe uma
maneira de alterar o conteúdo de uma matriz depois de você já ter dito isso.
Vamos fazer o seguinte. Depois de segundos, colocamos zero. Caixas na segunda posição. Imprimir. Tudo bem. Vamos fazer isso. Tudo bem. Agora acabamos de imprimir a segunda posição da
caixa, que inicialmente era 1.000, mas depois de 2 segundos, ela foi alterada para zero. E, finalmente, outra
coisa que você pode fazer com matrizes é
converter cada valor dentro de
uma em variáveis reais Para fazer isso, você precisa usar a macro do
pacote. Então você vai aqui. Digitamos unpack box one,
obviamente, entre parênteses. E aqui nós apenas
digitamos novamente array. Mas desta vez,
precisamos apenas digitar o nome das variáveis e
atribuir cada um desses valores a. Temos um, dois,
três, quatro valores, então vamos
criar quatro variáveis. Então, será o valor um, e
assim por diante, assim por diante.
É assim que funciona. Como você pode ver, os valores
um, dois, três, quatro têm, respectivamente,
exatamente os números da matriz da caixa original. Isso será
extremamente útil, especialmente para comandos
em jogos de batalha. Mas, na verdade, ele
pode ser muito usado para qualquer coisa que você desejar
, nesse momento.
32. Dados ao vivo: Exibição de dados ao vivo. Você já conhece
o comando print, que permite exibir na verdade algumas
variáveis ou em qualquer lugar. Se você encapsulá-lo
dentro do live, obviamente,
criaremos uma variável de
exibição, sempre atualizada para o valor
mais recente, certo Então, nós já sabemos
disso neste momento. Bem, se você quiser digitar algo
em tempo real, você só precisa usar essa
nova entrada de macro dessa forma, e só precisamos
digitar para vincular desta forma Basta nomear uma variável à
qual você deseja atribuir esse valor. Deixe-me mostrar
como é. Nós literalmente temos uma caixa de texto onde podemos digitar
onde quisermos. E você pode ver que,
assim que digitamos, a variável real é atualizada com o valor que assinamos aqui com o Strick, esse valor que você digita
lá pode acionar algo Se houver um evento
monitorando esse valor,
a segunda coisa
que você pode precisar às vezes para exibir dados ao vivo é algum tipo de
controle deslizante que se move de acordo com uma variável que
muda ao longo do tempo, como uma barra de saúde, por exemplo, faça
algo assim Você só precisa usar a macro
do medidor. Então, basta digitar meter, bind e a variável da qual extrairá
os valores Então, digamos a vírgula e , em seguida, certifique-se de
definir o número máximo. Digamos que 100. Em seguida, coma ,
novamente, basta digitar X assim. É aqui que ele
também será alinhado. Vai ser no centro,
da esquerda para a direita. E X significa apenas para o
centro automaticamente. Finalmente, vamos dar uma
cor para a barra. Tão amarelo. Agora defina um valor para isso. Então, obviamente, isso vai
mudar em tempo real se
criarmos um após 1
segundo, ele para 15. E então criamos um segundo
após esse tempo, 3 segundos. Quando reduzimos para
dez assim, vamos tentar. Ok. 50? Uau. E é assim que é fácil integrar uma barra de espelho em suas passagens. Eles também podem residir , alinhados
onde você quiser E, como você pode ver,
essa barra não tem borda. Então, basta digitar B para R, assim. E depois sólido. E isso vai dar
belas bordas sólidas que farão com que pareça mais legítimo, como uma barra de saúde real Uau, existem maneiras avançadas de
personalizar essas barras. Você pode
ter, por exemplo, um gradiente em que ele
muda de cor de acordo com o local em que está ou alterar a forma como é preenchido Você sabe, talvez
possa ser preenchido
do centro até as fronteiras
ou vice-versa.
33. Visitas x História: Dois, então vamos supor que queremos acionar algum evento
especial na sala quatro, mas somente quando retornarmos pelo
menos três vezes
a essa passagem. Para fazer isso, basta colocar uma boa condição
na parte inferior, como esta. Eu sento é igual ou
maior que três, digamos. Depois, vamos para uma passagem secreta ou podemos acionar algo na própria
página. Então, vamos entrar em uma passagem
completamente secreta. Comece pela sala três. Então, quarto normal três, quarto quatro, três, quatro, três. Agora tenha cuidado. Tudo bem,
como você pode ver, voltamos pela terceira
vez para a sala quatro,
mas, em vez disso, fomos redirecionados para uma passagem
diferente Essa é a sala secreta um. É assim que você pode usar
essa variável especial. Isso é muito
poderoso para isso. E, finalmente, deixe-me
ir um nível mais fundo. Agora, suponha que depois de
passarmos pela sala secreta um, voltemos para a sala três e queremos conscientizar a sala três do
fato de que
entramos na sala secreta
e, assim, acionar algum segredo adicional
na própria sala três. Precisamos usar a história. Então vamos aqui na
parte inferior da sala três. Você cria um histórico de condições
IF simples em que seu nome contém. Entre aspas,
digitamos
o nome da passagem da qual
precisamos monitorar as visitas. Então, neste caso, sala
secreta um. E fora dos parênteses, basta digitar o apóstrofo S,
comprimento e, finalmente, aqui
podemos decidir qual é o número mínimo de visitas
que acionará
o basta digitar o apóstrofo S,
comprimento e, finalmente, aqui
podemos decidir qual é o número mínimo de visitas
que acionará
o segredo. Então, neste caso, apenas
um maior que zero. Então, o que toda essa linha
significa é que, caso
passemos pela
sala secreta pelo menos uma vez, acionaremos
as três secretas. Eles apenas testam essa passagem. Então, na sala três,
agora, como você pode ver, ainda não
vemos o thras secreto se
finalmente chegarmos à passagem secreta Tudo bem, vamos voltar
para a sala três. E se fizermos tudo. OK. Quem, como você pode ver, foi o
que aconteceu. Como acabamos de
ler o segredo, sala três agora verificou se realmente
passamos
34. Otimização de espaçamento: Tudo bem Então, agora
vamos falar sobre espaçar adequadamente
as coisas se entrelaçam Fundamentalmente, o
código e o texto que serão exibidos sempre ocuparão algum
espaço na página Então, em teoria, se renderizarmos
isso, será exatamente um
após o outro, certo. Mas se digitarmos algum código, se eu renderizar essa passagem,
deixe-me mostrar o que acontece. Na verdade, ocupa espaço. O truque para
reduzir automaticamente todo o espaço. Você só precisa ir até o
topo da passagem digitar um bom suporte encaracolado Basta abri-lo assim. E
então, na parte inferior, feche-o. Isso é chamado de colapso. E o que ele faz é exatamente usar automaticamente o
mínimo de espaço possível. Deixe-me mostrar
o que está acontecendo. Como você pode ver agora,
ele entrou em colapso
tanto que também
reduziu as quebras de linha Então, meio que resolveu um problema, mas também criou um novo. Talvez queiramos preservar
as quebras de linha. Você só precisa digitar a quebra de linha HTML
padrão. Copie exatamente isso.
É exatamente a mesma coisa. Essa faixa permite que
você use as duas. Em teoria,
ainda deveríamos ter Quem. A mesma coisa, mas também com o I, finalmente, ignorei completamente. Se você usar o colapso parcial, que se parece com isso, abra
o colchete ondulado
e depois seja igual o colchete ondulado
e depois Como você pode ver, ela
se torna uma função pronta. Quando você usa isso, ele só
reduzirá o espaço
a partir desse ponto. Em teoria,
veremos os três primeiros normais porque estão
completamente renderizados Os três seguintes com
o colapso do espaço. Portanto, não haverá mais quebras de
linha. Deixe-me tentar. Tudo bem. Então, esse também é outro truque. Portanto, para usar o espaço de
colapso parcial, em algumas situações,
talvez seja necessário usá-lo em vez do
padrão para colapso. E deixe-me te mostrar mais
uma coisa. Vamos supor que temos uma quebra de linha real como essa, mas você deseja reduzi-la sem usar o truque de colapso
real. Para fazer isso apenas em linhas específicas, basta digitar a barra invertida e a próxima linha
será automaticamente Então, deixe-me mostrar o que
acontece exatamente com isso. Ele reduzirá automaticamente
apenas a quebra de linha.
35. Mudança de cores: Neste ponto, você
já sabe como
redimensionar o texto
das formas mais básicas Agora, deixe-me
mostrar algumas coisas
extras para expandir o conjunto de personalizações
que você pode aplicar a um texto ou
onde quiser Para alterar a cor do
texto, use o hífen e, como você pode ver, sugere
coisas que você poderia fazer Mas uma delas é a cor. Aqui, basta digitar onde quisermos. Roxo e, em seguida,
basta encapsular o texto exatamente. Roxo. Pooh
36. Tamanho + opacidade: Vamos supor que você
queira criar um pedaço de texto maior do que outro. Vamos mudar a
cor do texto com o tamanho do texto. Você precisa ter cuidado
porque o tamanho varia de um, o que significa que não há alteração. E então, obviamente,
se inserirmos 0,5
, será metade
do tamanho inicial, desse
jeito. E
assim por diante e assim por diante. Então, se você quiser
torná-lo três vezes maior,
colocar três deve decidir
a opacidade de um pedaço
de texto ou qualquer outro
tipo de opacidade como colocar três deve decidir
a opacidade de um pedaço
de texto ou qualquer outro
tipo de opacidade E então a mesma coisa. Então, parte de
um, que é o básico, significa que não há
mudança, totalmente opaco Ele está deprimido. Vamos torná-lo quase
totalmente transparente. Então, 0,25 e
, obviamente, vai parecer muito
leve, desse jeito Como você pode imaginar,
você pode combinar todas essas coisas apenas
adicionando um ruído mais 0,5 opaco e também alterar
a cor e digitar o ruído Além disso, adicione quaisquer
outras alterações que você queira empilhar em
cima da primeira Agora mostre um texto
também em tamanho menor, para que você possa ver todas
as propriedades empilhadas umas sobre as outras Então, mudamos a
cor, a opacidade e o tamanho
ao mesmo tempo
37. Estilos dinâmicos: Vamos supor que você queira
tornar essas propriedades dinâmicas. Os dois casos mais comuns
que você poderia usar você
colocaria tudo
isso em algum tipo de evento ao vivo. Então você pode
colocá-lo dentro vida gigante assim, e então você apenas altera
algumas variáveis ou de uma forma, você simplesmente coloca a coisa
toda em um gancho, e então você pode executá-la novamente com as variáveis, eles simplesmente fazem isso. Em vez de usar os valores
fixos aqui, usamos apenas variáveis. Então, literalmente aqui O P um, ok, então aqui usamos
cor, tamanho único, o quê? No momento, essas variáveis têm apenas o valor padrão,
que será zero. Portanto, defina os valores padrão. Portanto, você também pode adivinhar
que pode simplesmente definir várias variáveis
usando um único conjunto. Dito isso, vamos
começar a testar esse cara, se ele funciona sozinho. Tudo bem. Agora, para poder mudar
essas coisas de
forma dinâmica, seria criar um evento após 2 segundos em que
entramos na passagem, alterar todas essas
propriedades interessantes para novos valores. Então,
aumentamos o texto, assim. Nós mudamos de cor. Branco. Opacidade, escolha 0,5 Tudo bem, execute novamente um texto como
este, e pronto. Então, deixe-me te mostrar uma mensagem. Um, dois, Magic. Quem. Agora você pode imaginar o quão flexível
esse sistema pode se tornar.
38. Reagir no cursor do mouse: Vamos supor que temos um texto invisível, texto,
cor, transparente. Então, por padrão, ele
ficará invisível. Mas então, quando passarmos o mouse, esse texto ficará visível ou
mudará de cor A maneira de fazer isso é usar o estilo de passar o
mouse. Assim. Aqui você define qual é a mudança que
vai ocorrer, altera a cor do texto para branco. Em seguida, assine o texto,
consulte Teste, teste, teste. Então, agora, é invisível. Mas assim que você move
o cursor sobre o texto, quem fundamentalmente, esse é outro truque que
você pode integrá-lo Você pode esconder alguns segredos
ou onde quiser.
39. Verbatim: Vamos supor agora que
às vezes você tenha uma palavra,
olá, e nós a usemos em negrito. Se renderizarmos isso, ela só
mostrará a palavra em
negrito, certo? Mas vamos supor que você
queira ser capaz de renderizar isso incluindo as aspas aqui. Então, normalmente não há como fazer
isso , a menos que você use
textualmente, assim E depois basta
encapsular o texto. Então, agora, ele renderizará
o texto bruto desta forma. É assim que você pode excluir qualquer estilização possível,
apenas o texto bruto
40. Transições: Vamos supor que
temos, novamente, nossa palavra Olá. E queremos que você dê
alguns movimentos. Quando esse texto aparecer ou desaparecer, basta usar a transição. As opções que você
tem são as seguintes. Ok, apenas congele
essa moldura porque todos esses caras que eles veem aqui são todas as opções que você
pode colocar neste lugar. Bem, vamos usar shudder, e isso já aplicará
movimento a essa palavra aqui Deixe-me te mostrar o teste. Ok, então você entende o que ele faz e ele será
reproduzido automaticamente quando você
recarregar a passagem Vamos supor que
queremos ter controle sobre a velocidade dessa animação. Adicione o nove pontos positivos e vamos mudar o tempo de
transição. E como você pode imaginar,
vamos apenas indicar um valor em segundos, 0,5 segundos. Em vez disso, já é mais rápido,
mais lento. Então, 3 segundos. Como você pode ver,
será bem menor. Nossa, é isso mesmo. Você pode se divertir com as transições
e os tempos.
41. Instale o áudio!: Dois para poder
usar o fio de áudio, basta instalar
uma biblioteca externa Go story, Javascript. E aqui, você só precisa copiar
e colar o conteúdo
do arquivo de texto deste
capítulo. Cole aqui. Você verá esse longo texto. Não mude nada,
apenas feche isso. E então faça o mesmo também
para a folha de estilo. Então você abre o sleseet. Caso você
já tenha algumas coisas, vá até o final aqui e cole novamente.
Exatamente desse jeito. Quase uma vez,
verifique o teste durante a passagem. Então você simplesmente insere algumas coisas
aleatórias como essa, e isso
lhe dá algum erro? Isso significa que ele está
instalado corretamente. Perfeito.
42. Definições (áudio): Depois de termos a biblioteca
pronta para ser usada, basta criar uma
passagem especial na qual
indicaremos a localização exata dos arquivos de áudio
em sua unidade. Então, vamos criar
uma nova passagem, nomeá-la exatamente assim. Faixas de pontos inteiros. Basta copiar exatamente esse nome. Em seguida,
definiremos inicialmente onde estão todos os arquivos
de áudio. Então, a forma como funciona
é a seguinte: criar definir nossa primeira faixa. Dê um nome a ela, então
clique em uma coluna. Espaço aqui, você
só precisa colar o caminho absoluto
do arquivo de áudio para obter
esse caminho com muita facilidade. Um truque é o seguinte. Você acabou de abrir o navegador aqui. Então você vai onde está
o arquivo de áudio. Aqui. Ok, então temos
esse arquivo, por exemplo, um N P três, que
é uma espécie de clique. Em seguida, basta
arrastar o arquivo para o navegador exatamente aqui onde normalmente você
tem os links. E veja o que acontece, eu converto automaticamente o
arquivo em um caminho absoluto Você pode simplesmente
confirmá-lo pelo fato de
que sempre começa com o arquivo. Se começar com arquivo,
significa que trabalhei. Caso não
funcione, tente novamente até
ver o arquivo Em seguida,
copie tudo e cole em um Twine. Assim, clique em um
igual a esse caminho. Aqui, esta é uma definição de
faixa. Então, agora Twine sabe que o som chamado
click one está lá, e agora podemos usá-lo
43. Faça um som! (áudio): Dois podem usar sons, entrar em uma passagem e criar uma espécie de passagem
Você está pronto? Então, fazemos isso, onde vamos,
prontos assim. E então, na passagem pronta, inserimos uma
mensagem como, bem-vindo. Portanto, a macro que
você usa na maioria
das vezes é chamada de coluna
Track Track. E não se preocupe se ela não reconhecer uma macro existente,
na verdade, ela funcionará. Então, basta digitar espaço. E antes de tudo,
precisamos nos referir
ao nome personalizado que
atribuímos à faixa. Clique aqui, como você se lembra, definimos isso primeiro
como clique em um. Então, literalmente, digitamos dentro
das aspas e clicamos em uma. E depois coma e
damos o comando. Nós apenas jogamos assim. Então, vamos começar a partir
daqui. Ok, pronto? Vá. Quem você está aqui. Então, é assim que é fácil
integrar o som. Então você provavelmente está
se perguntando por que
integramos o som na segunda passagem
e não na primeira. O motivo é que, se você quiser ter som
desde o início, desde o início
da história real, precisará usar uma variante desse tipo
de macro aqui. Jogue sempre que possível, e agora também funcionará desde
a primeira passagem. Então, se formos aqui, colamos
a mesma coisa aqui. Também poderá
jogar desde o início. Mas só assim que eu clicar em qualquer lugar da
passagem. Você vê? Então, o motivo é que não é uma
limitação do Twine, mas apenas uma questão de segurança
de todos os navegadores Portanto, o som só será reproduzido após o primeiro
clique do usuário. Portanto, você precisa garantir que o usuário clique na
janela de qualquer forma E a partir de agora, você tem o som pronto
para tocar a qualquer momento.
44. Pare um som (áudio): Dois, deixe-me
mostrar um novo caso. Vamos aqui e queremos que você, antes de tudo, toque a faixa depois de
clicarmos no link. Então, na verdade, vamos
criar um link personalizado. Então, chame isso de play Lily. E então, dentro do link, Lully, colocamos Track E chamamos a música de um, e fazemos com
que ela toque por enquanto. Então, deixe-me também criar um segundo
link abaixo chamado Stop. Então você pode adivinhar O que
estamos prestes a fazer com isso, você é capaz de parar uma faixa. Use exatamente a mesma lógica, mas apenas mude o jogo com stop. Então, vamos clicar aqui. Uau. Ouvimos música, revivemos por alguns segundos. E então queremos que você pare
com isso. Pare. Assim mesmo. Pooh So play,
stop, estão interconectados E você também pode colocar essas
funções dentro dos links.
45. Retrigger (áudio): Se você quiser, não
poderá reativar o som toda vez que
clicar repetidamente no link, basta modificar, antes de tudo, o link. Basta fazer com que esse link
possa ser repetido. Estamos apenas digitando repeat. Link, repito, sem mais nem menos. Então, em vez de desaparecer,
ele ficará lá. E então, antes de
tocarmos a faixa, nos certificamos de parar a faixa em si, caso
ela já esteja tocando. Copie isso, coloque-o acima e
troque por um bom estoque. Deixe-me te mostrar. OK. Agora vou
reprimi-lo várias vezes. Você vê? Eu sou capaz de fazer
isso todas as vezes que eu quiser. Portanto, ele sempre reinicia exatamente do início
toda vez que eu pressiono. Então, com isso, sempre pode fazer
maravilhas onde
soa o clique Tudo bem. Então, vai ser uma
espécie de botão de som. Tudo bem, vá aqui, certo?
Todas as vezes que eu quiser.
46. Loops básicos (áudio): Ah. Ok, agora deixe-me mostrar um pequeno
truque para repetir as faixas. Eles serão
reiniciados automaticamente assim que terminarem. Jogue isso uma vez por enquanto. Suponha que queremos que isso
seja reiniciado automaticamente. Bem, você diz a essa faixa para ativar o loop,
copie esta função. Vamos colocá-lo na
parte inferior, assim chamado Music Tube, e queremos que você
modifique a propriedade loop. Então, loop, basta
habilitá-lo informando True. Você sabe Infinitamente.
Até você parar
47. Loops avançados (áudio): Fundamentalmente, você
provavelmente percebe que, quando fazemos um loop
do som
agora , você o ouve Vai se inserir
em uma pequena lacuna. Portanto, essa lacuna silenciosa que existe entre a repetição não
está no som É meio que adicionado
pelo navegador, o que obviamente
pode ser irritante se o som não
terminar em silêncio Certo, fica perceptível. A maneira de ter um loop
perfeito pode ser usar, na verdade, um entrelaçado de loop
personalizado Então, podemos fazer o
seguinte. Deixe-me te mostrar. Converta. Um link para uma transmissão ao vivo. Para que isso funcione, você
só precisa saber a duração real
do arquivo que deseja repetir. Então,
isso é muito importante. Nesse caso, podemos simplesmente verificar isso juntos.
Vamos aqui. Então isso é longo, cerca de 1 segundo. Ok, então um por enquanto. Talvez seja um pouco mais curto. Então, toda vez que essa música ao vivo
for reproduzida, obviamente, ela reativará a faixa, interrompendo-a para garantir
que ela não acumule instâncias
do mesmo som Ok, então pare, jogue. E, fundamentalmente, é isso. Então vá aqui. Na verdade, você sabe, basta inserir em um link. Começar. Então, fundamentalmente,
assim que clicarmos no link, ele iniciará a transmissão O que reativará
a faixa repetidamente. E, assim, ele terá mais controle sobre o loop.
Então, deixe-me te mostrar. Ok, aqui está. Menos lacuna. E, obviamente, você pode
fechá-lo ainda mais. Então, talvez ainda mais rápido, 800
milissegundos. Vamos tentar. Você sabe, então dessa forma, ele apenas fecha mais Se não for completamente
aquela lacuna que você normalmente tem, caso queira
anular e ter mais controle sobre o loop,
esse é o truque para fazer isso Caso você esteja se perguntando
como impedir que esse regatilho
automático seja
reproduzido, pare isso ao vivo. Se essa verificação for feita, você cria uma variável temporária. Então você dá um nome, por exemplo, loop one, e quando o
loop 1 cai, ele realmente envia um sinal de
parada para essa live, e também um
sinal de parada para a faixa real. Tudo bem, então não podemos
realmente tentar. Vamos criar o estado inicial, definir esse link verdadeiro, por padrão. Isso interromperá
tudo dentro da transmissão. Deixa eu te mostrar o jogo. Eventualmente, pressionamos isso. Acabei de parar o show, e depois também a faixa em si. Então, esse é basicamente
o truque.
48. Fades (áudio): Você provavelmente percebe
que, ao fazer isso, ele chega instantaneamente
ao volume zero, que pode criar algum
tipo de cliques, que pode ser muito
irritante. Deixe-me te mostrar. Você vê o que acontece? Existe esse tipo de clique porque ele chega
instantaneamente a zero. Para evitar esse problema, precisamos usar
algo chamado fade Os fades são basicamente
automações no volume. Então, em vez de usar play, usamos apenas fade in, inserimos quanto tempo
levará para fade Portanto, esse é um valor em segundos. Vamos também acabar com isso. Então, nós apenas mudamos com o
fade out de 0,3 segundos. Experimente. Você vê? Não há mais cliques instantâneos. Há uma espécie de
rampa no volume. Então, vamos tentar
os fades mais baixos, talvez um
segundo inteiro como este Vamos. Você sabe, e então ele se apaga. Então entra, sai.
49. Volume em tempo real (áudio): Também existe uma maneira de alterar o volume da faixa
sem parar com isso. Em vez de fade out,
vamos usar fade out. E então só
precisamos especificar quanto tempo
levará para chegar
ao novo valor. Em seguida, especifique para qual valor
em volume ele será direcionado. Todos os volumes vão de 0 a 1. A música 1 diminuirá
para 0,5 em 1 segundo. Apenas torne-o ainda
mais silencioso, talvez 0,25. E também um pouco
mais rápido. Vamos para a direita. Ok. Pronto? Ah. Você está vendo? Eu me tornei coro. Então essa é a
beleza de fade two.
50. Crossfade (áudio): Dois. Tudo bem, agora vou
mostrar um uso um pouco mais avançado dos fades Suponha que o
personagem tenha problemas, então queremos fazer com que a música reflita o fato de que
o personagem está prestes a morrer, está grandes danos ou está submerso,
algo parecido Para criar esse efeito, crie duas versões da mesma
faixa musical. Então eu já faço isso. Aqui, apenas certifique-se de que eles reproduzam exatamente
o mesmo conteúdo, mas com um
efeito diferente, versão intocada Tudo bem. E depois uma versão abafada. Você sabe, tudo bem. Então, vamos criar um
sistema que alterna essas duas faixas de
acordo com a mudança de estado
no jogo Eu já defini essas faixas. Um será
chamado de normal
e o outro será
chamado de subaquático Vá, Scheer link normal. Antes de tudo,
prepare os volumes. Portanto, precisamos garantir que
a faixa normal tenha o
volume padrão. Então, basta o volume um como este. Então, ao mesmo tempo,
garantimos que a segunda faixa, a segunda versão subaquática
, tenha o volume zero Dessa forma, podemos
simplesmente continuar tocando as duas faixas ao mesmo tempo,
tocando da mesma forma aqui. Mas só ouvimos
um, exatamente assim. Então esse é o primeiro passo. Teste isso. Tudo bem. Então, só ouvimos um. A segunda etapa será
mais fácil porque basta criar um segundo link subaquático No interior, só precisamos
colocar dois tubos de desbotamento. Rastreie um normal, fade tube, zero em, digamos, em
0,2 segundos, assim Em seguida, aplicamos o mesmo
comando ao subaquático. Mas, obviamente,
reduzimos isso para um. Então, finalmente, do zero, nós o trazemos de volta ao volume máximo em 0,2 segundos, assim. E é por isso que é importante que essa
técnica
funcione para que as duas faixas sejam tocadas ao
mesmo tempo
desde o início, mesmo que ouçamos apenas uma. Dessa forma, eles estarão
perfeitamente sincronizados. Tudo está pronto.
Vamos até aqui, testar. P aqui. Normal. Yo. Woof. Você ouve? Bem, vamos também adicionar um som de clique para esconder o truque. Clique em um. Deitar. Certo, está
tudo pronto. Vamos. Woof.
Esse é o truque.
51. Playlists (áudio): Como você sabe, você já pode
tocar vários sons, mas às vezes você pode querer organizar esses sons
de uma certa maneira. A playlist reproduz as
faixas sequencialmente. Então é como ABCD, EFG. O grupo toca todas as
faixas ao mesmo tempo. Portanto, é muito útil colocar vários sons em
camadas, criar um som maior e mais gordo Ambos obviamente se entrelaçaram, para criar uma
experiência mais imersiva Então, deixe-me
mostrar como usá-los. Primeiro de tudo, você precisa
definir a playlist ou o grupo em
qualquer lugar da passagem. Então, nova playlist. Você dá o nome desse
contêiner para essa playlist. Música de fundo.
Depois de dar o nome, basta listar os sons que você deseja incluir
nessa playlist. Ok, e então você só
precisa usar a macro da playlist. Nós direcionamos a playlist
e depois
enviamos o comando
para começar a tocar. Você sabe o que? Vamos apenas definir um link para poder ser reativado. Quando começar a
tocar, ele tocará todas essas faixas uma
após a outra
e depois parará, a menos que possamos reativá-lo, obviamente. Portanto, ele sempre
reiniciará a partir da
primeira faixa desde o início,
desta forma. Tudo bem, vamos Ok, espere
que isso termine. Vocês acabaram de comprar juntos. Você sabe, eu continuo, continuo com todas as faixas, você sabe, é
assim que funciona, você sabe, até eu apertar isso. Então, toda vez que eu
pressiono isso, reinicio a playlist inteira.
52. Playlists embaralhadas (áudio): O modo aleatório
reorganiza essas faixas em uma nova ordem aleatória para
permitir que isso use a playlist,
nomeie a playlist, certo Lily nomeie Portanto, se você enviar
esse comando apenas uma vez, ao tocar essa faixa, ela começará a partir de qualquer uma
dessas três aleatoriamente e , em seguida, precederá a
reprodução de todas as outras Eles serão reorganizados
aleatoriamente . Isso é o que acontece. Para tornar isso ainda
mais interessante, basta colocar o shuffle
dentro do gatilho vermelho Então, toda vez que pressionarmos
isso, uma faixa será reproduzida aleatoriamente Você vê? Assim mesmo. Então, se a deixarmos tocando, obviamente, ela continua
com uma playlist completa. Mas, como você pode ver,
em uma ordem aleatória, ele parará quando
tocar todas as faixas.
53. Embaralhamento one-shot (áudio): Não. Então, como você pode
imaginar, uma playlist embaralhada e reativada pode
ser extremamente útil para
sons de passos, playlist embaralhada e reativada pode ser extremamente útil para
sons de passos porque se você tem
o personagem e tem cerca de dez sons
para todos os passos, talvez queira ter
um comportamento em toque cada som aleatoriamente, que é exatamente algo
que você Mas, na
verdade, nesse caso específico, talvez queiramos evitar algo que a playlist
faz por padrão, que é o fato de que toda
vez que termina um som, continua tocando o
resto da playlist, certo? Para poder dizer
à playlist que reproduza apenas um som aleatório
por vez e depois pare. Só precisamos colar
esse código personalizado aqui. Tudo bem, deixe-me
mostrar o Javascript. Só preciso que você copie
esta linha aqui. Portanto, certifique-se de que esta seção aqui tenha exatamente o
nome da playlist. Então, coloque o plano de fundo
dentro desta seção. Então, fundamentalmente,
usar apenas uma parada seguida por essa linha
tornará esse comportamento possível Está bem? Puf. Você vê? E então simplesmente para e ele será reproduzido aleatoriamente. Toda vez que pressionamos esse botão. Então, isso será extremamente
útil para o som de passos. Puf.
54. Grupos (áudio): Agora,
deixe-me mostrar uma maneira de
reproduzir facilmente várias faixas
simultaneamente. Para fazer isso, precisamos
usar os grupos. Então, suponha que
temos essas duas faixas aqui, temos esse tipo
de clique, som
e, em seguida, temos
esse segundo som. Então, eles simplesmente usam um grupo para organizar esses dois
sons simultaneamente. Novo grupo, então
damos o nome de Victory. Em seguida, listamos
todos os sons. Então clique na porta desse jeito. Agora, essa passagem conhece esse grupo
e podemos usá-lo. Dentro desse link incrível. Acabamos de colocar nosso grupo Victory. E então use qualquer aliado de comando igual
ao da macro de faixas. Então, silencie, pause, pare, repita, todas as coisas que
normalmente você pode fazer com uma faixa, você pode fazer com
um grupo. Jogue por enquanto. Puf. Você ouve os dois
sons ao mesmo tempo. Tudo bem. Agora você pode
imaginar que isso pode ser extremamente útil para criar sons
importantes no jogo.
55. Procure (áudio): Se você quiser
reproduzir uma faixa exatamente de
uma posição específica desde o início do
arquivo, procure o comando. Suponha que
queremos jogar a partir de 2 segundos desde o início. Então, aqui nós apenas digitamos 2,5 segundos
e depois tocamos a faixa. Assim. Agora, vai começar a partir desse ponto e não
do começo. Vamos tentar. Você vê? Não começa mais. Essa é a beleza do céu. E para tornar isso ainda mais
divertido, basta fazer o seguinte. Fazemos com que isso se torne um gatilho. Em vez de usar
apenas um valor fixo aqui, usamos apenas uma variável, Sk one, e
definimos um valor aleatório toda
vez que clicamos no link. Então vamos aqui, definimos a
primeira busca, che, aleatória. Usamos um valor que
vai de zero, digamos, 10.000 milissegundos, o que seria 10
segundos, certo? E então dividimos
a coisa toda. Por 1.000. Então, nós o
convertemos em segundos. Esse resultado irá direto para o SQ one e fará com que
essa função funcione, agora ela já deve
funcionar. Vamos experimentá-lo. Viu o que está acontecendo?
Toda vez que eu clico, ela entra aleatoriamente em
diferentes pontos da música, que pode ser muito divertido de fazer, especialmente para jogos musicais Você pode criar esse tipo de falha
satisfatória em uma música
56. Monitoramento em tempo real (áudio): É possível saber em tempo
real se uma faixa
está tocando ou não. E, consequentemente, você pode acionar alguns
eventos personalizados de acordo com isso. Para fazer isso, basta
tocar essa faixa, primeiro lugar, então uma
música como essa. E então, se
colocarmos outra
faixa onde dizemos: “I Music one is tocando”, literalmente, podemos
fazer um evento personalizado. Digamos que está jogando, os outros
não estão jogando. Você acabou de adicionar outro botão. Deve ser capaz de
parar a pista. Só assim. Tudo bem. Ok, então agora
não está jogando. Na verdade, estamos apenas em silêncio. Mas assim que eu jogar aqui, de. Você vê o que está acontecendo? É automático
porque está monitorando a pista. E quando eu paro, obviamente, ele volta imediatamente
para não está jogando. Então, agora você pode adivinhar
que, de acordo com isso, você pode fazer com que
eventos personalizados aconteçam somente quando determinadas faixas
estão sendo reproduzidas ou não. Há também uma variante disso
, chamada I muted. É realmente a mesma coisa, mas faz com que as coisas aconteçam
somente quando a faixa está silenciada ou não.
57. Controles globais (áudio): Às vezes, você pode querer ter certeza absoluta de que, antes de
iniciar uma nova pista, todo
o resto para
completamente. Em vez de usar apenas
faixas de música de uma só vez, usamos o Master Audio
e, em seguida, apenas usamos
o comando top O. Vou me certificar de que isso
interrompa completamente tudo antes de
começar coisas novas. No momento, é o
mesmo que se usássemos o Stop. Ou você pode usar isso como
um botão de pânico, onde há tantas faixas acontecendo e, depois
de esperar, você mata completamente
todo o áudio. Também há uma variante disso. Se você segmentar o
grupo chamado playing, que é um
grupo pré-gertd, como você imagina, ele terá como alvo
apenas as faixas que estão tocando naquele momento Isso interromperá apenas essas faixas. Então, novamente, o mesmo comportamento, mas, fundamentalmente, essas são as duas opções para
parar tudo
58. Considerações de formato (áudio): Tudo bem, então vamos
supor que você termine o jogo e o publique Mas ao fazer isso, você
deve fazer algumas coisas em relação ao áudio.
Caso contrário, não funcionará. Então, primeiro de tudo, se
o jogo
for baixado e,
portanto, jogado localmente, você poderá usar todos
os formatos que desejar. Portanto, você pode usar MP
three, wave, OGG, provavelmente também Flack, a menos que, se o jogo for
jogado totalmente online, você precise usar apenas
OGG e Para maximizar a
compatibilidade do navegador, você precisa se certificar usar duas versões para
cada arquivo. Então, por exemplo, aqui
para o arquivo click, temos apenas a versão
mp three. Então, na verdade, isso seria
um problema em alguns navegadores para garantir que ele seja
totalmente compatível, e qualquer sistema só
precisa converter uma segunda versão
desse arquivo em OGG O nome completo desse formato
é g Vorbis, assim. A extensão será
semelhante a esta OGG. Em seguida, coloque o arquivo próximo
ao p três e, logo
aqui na definição, adicione uma boa vírgula, como esta E cole o outro caminho. Obviamente,
terminará assim. O ideal é
que, ao publicar o jogo, prepare uma versão dupla para
cada arquivo de áudio.
59. Caminhos relativos (áudio): Tudo bem Até agora, para
poder definir as faixas, usamos os chamados caminhos absolutos que indicam onde realmente o arquivo está em seu sistema. Isso é bom, desde que
você esteja apenas testando o jogo. Quando você finalmente terminar o jogo inteiro e estiver
pronto para
publicá-lo, precisará preparar os arquivos uma
forma um pouco diferente. Fundamentalmente, você só
precisa entrar em uma pasta. Você acabou de preparar uma nova
pasta chamada Áudio
e, dentro dessa pasta, você precisa colocar todos os arquivos
que você está usando. Depois de fazer isso,
basta jogar o arquivo HTML que
contém o jogo
e, em seguida, empacotá-lo e
compactá-lo em um arquivo zip Mas antes de fazer isso, você precisa fazer mais uma coisa. De volta ao Twine, depois você
sai para a lista
de todas as suas histórias e duplica sua
história aqui, Dessa forma, você pode fazer essa alteração somente para a
versão publicada da história. Então você entra na cópia
de toda a história. Você entra nas definições
e começa a alterar os
caminhos com caminhos relativos. Então, a aparência deles
é muito simples. Você acabou de mudar toda
essa coisa estranha com um caminho muito mais simples
que se parece com este, áudio do que o nome do arquivo E no início,
certifique-se de adicionar um ponto e uma barra
como esses dois E então, obviamente, ele
se referirá à pasta de áudio. E, fundamentalmente,
o que acontece é que seus arquivos
serão automaticamente encaminhados para o lugar certo, que é exatamente
nessa pasta Dessa forma, você poderá reproduzir áudio na
versão publicada do jogo. Se você não fizer isso,
ele nunca será reproduzido.
60. Pré-carregamento (áudio): Ao jogar o jogo
totalmente online, você precisa dedicar um tempo para que as
faixas sejam baixadas. Portanto, se você reproduzir
muitas faixas ao mesmo tempo, talvez não tenha tempo
suficiente para carregar
e, portanto, o usuário
simplesmente não ouvirá nenhum som. Para evitar esse problema, você
precisa usar o pré-carregamento. Por padrão, todas as
faixas quando você inicia o jogo já estarão
pré-carregadas, mas isso levará algum tempo. Então, na verdade, quando você joga
o jogo totalmente online, pelo
menos integre algum
tipo de tela de carregamento. Você não pode forçar
o jogador a esperar, você sabe, algum tipo
de dez, 15 segundos. Portanto, pelo menos 50, 60% de todas as faixas já
foram pré-carregadas. E as faixas
que são pré-carregadas por padrão são todas as que você define aqui nesta seção. Portanto, todos esses serão
pré-carregados por padrão. Então, caso durante o jogo você não consiga definir grupos
personalizados, placas personalizadas,
talvez seja sensato pré-carregá-las também
na própria passagem. Então, caso você
defina coisas novas, meio do jogo, você precisa
usar esse comando aqui. Basta digitar o
áudio master e pré-carregar. É isso mesmo. Então, colocando isso em uma passagem em que
há um monte de
coisas novas que você está definindo, como novas playlists, novos grupos, novos sistemas, certifique-se de também
integrar um desses Isso
garantirá que o áudio esteja o mais pronto possível.
61. Configurador (áudio): Se você está
se perguntando se existe uma maneira de
esconder essa barra estranha que aparece aleatoriamente toda
vez com o volume de toda
a faixa master,
a resposta é sim Tudo o que você precisa fazer
para ocultá-lo é criar uma passagem especial
chamada al config
e, em seguida, copiar e colar
o conteúdo que acabei preparar no documento com o mesmo nome
nesta seção Para esconder essa barra, ela só precisa mudar. Mostre o controle, ela cai. mesmo vale para esse cara
aqui, barra lateral, início fechado,
exibição de volume real também em quedas como essa. Portanto, alterar esses três garantirá automaticamente
que eles nunca mais apareçam. Nossa, sem mais nem menos. Então, nunca mais teremos aquele bar
chato. Os outros controles
são bem simples. Fundamentalmente, o pré-carregamento, se você colocar isso como verdadeiro, o
que eu recomendo, tentará automaticamente pré-carregar todas as faixas predefinidas quando você iniciar o
jogo a partir daqui, partir dessa passagem específica desfoque silencioso, como você pode imaginar, ele pausará automaticamente o áudio quando você entrar em um aplicativo diferente enquanto houver áudio
no navegador Então, basta dar um exemplo. No momento, não é verdade,
o que significa que se tocarmos alguma música aqui e
voltarmos com barbante Viu o que aconteceu?
Eu simplesmente automaticamente. Ele vai automaticamente e faz uma pausa. Já se você quiser desativar esse comportamento, basta colocar quedas. Então, aqui, você pode decidir o volume máximo possível
da totalidade dos sons Como você pode ver agora, eu
disse isso para escolher 0,75, mas você pode ir até um,
o que significa que não há mudança E, finalmente, esses números definem a quantidade máxima de
tempo que o jogo
tentará dedicar à pré-carga de cada faixa no início do
jogo, Não queremos que o jogo
fique preso caso a Internet não
seja rápida o suficiente. Assim, podemos dedicar um certo tempo
ao pré-carregamento
e, caso ele falhe, ele ainda continuará Então, pelo menos, o jogador
ainda poderá jogar
o jogo, certo?
62. Integração de imagens: Tudo bem, para poder integrar imagens e vídeos
em seu jogo, você só precisa usar
um código HTML bruto Alerta de estrago. Você não precisa copiar o que estou
prestes a fazer manualmente, mas você encontrará tudo nos meus arquivos de
texto deste capítulo. Então, basta copiá-los.
Há instruções. Tudo bem, então primeiro de tudo, deixe-me mostrar como
integrar uma imagem Então, entramos em uma passagem
aleatória aqui. Colamos esse código incrível aqui. E a única coisa que precisa mudar o caminho absoluto da sua imagem no seu computador com a mesma verificação que
vimos com os arquivos de áudio é
colar aqui entre esses
dois códigos. É isso mesmo. E então deixe você
testar isso, certo? Puf. É isso mesmo. Então é assim que você
exibe imagens. Com esse código, você
pode redimensionar a imagem automaticamente apenas alterando
isso com porcentagem Então, agora é 50%
do tamanho original. Então, se quisermos que isso seja maior, obviamente, vamos te dar 85%. Bem, obviamente, seja
maior. É isso mesmo. E manteremos automaticamente
a mesma proporção e centralizaremos automaticamente a imagem e ocuparemos o máximo de
espaço possível. Então, todos esses comportamentos estão todos
integrados a esse código.
63. Reposicionamento básico: Se você está se perguntando se
existe uma maneira de
reposicionar a imagem com mais controle,
existem duas maneiras A primeira é usar os métodos
Harloy. Então, se você quebrar
a linha, obviamente, a imagem ficará um
pouco mais baixa assim, ou se você quiser ter uma disposição horizontal
das imagens, basta criar
duas colunas como aqui, duas ou três assim e depois passar o
código aqui neste espaço Pasta numérica. Vamos deletar e
mostrar
como é . Assim mesmo. E então, se pré-visualizarmos, obviamente, temos as duas
imagens próximas uma da outra. Essas são fundamentalmente
as principais opções que você tem dentro do próprio
fio Todas as coisas que você
pode fazer normalmente para texto, você também pode fazer
para esse código aqui se você o encapsular
dentro de uma dessas macros, o
mesmo para opacidade, mesmo para opacidade A maioria deles trabalha com código
HTML como esse.
64. Reposicionamento relativo: Se você quiser ter maior
controle sobre o posicionamento, podemos usar o CSS. Antes de fazer isso, precisamos encapsular nossa
imagem dentro de um Criamos um gancho
chamado imagem um. Tudo bem. Em seguida,
na folha lateral, você só precisa ir até aqui, rolar até o fim, colar o código que está
preparado na etapa aqui. Então, basta copiá-lo
e colá-lo aqui. Certifique-se de que o
nome aqui corresponda exatamente ao nome
do gancho que você deseja usar
com seu reposicionamento Certo, então imagem um, imagem um. Apenas alterando
esses valores de pixels, ele reposicionará a camada a
partir de sua posição inicial Vertical ou
horizontalmente, para que,
por exemplo, diminua um pouco Neste momento, zero, zero
obviamente não muda. Então, se testarmos, ele estará apenas na
posição padrão, certo. Então, queremos que isso
fique um pouco para a direita e também um pouco para baixo,
como aqui. Então, se adicionarmos 200 pixels na parte superior e 200
pixels na esquerda,
agora, se testarmos, será de fato a
extremidade inferior à direita. Então, isso é basicamente
tudo que você já sabe, deve ser capaz de reposicionar
as camadas com ainda mais precisão
65. Reposicionamento absoluto: Portanto, se você colar
o próximo arquivo
de texto preparado
para este capítulo, notará que
há duas diferenças. Isso mudou com o absoluto aqui. Então, esses dois, em vez de
serem um valor em pixels, são uma porcentagem como essa. E depois há essa
linha final que faz tudo funcionar. Portanto, a forma como o posicionamento
absoluto funciona é que, em vez de ser ajustado a partir da
posição inicial que você já
atribuiu à passagem, ele realmente decidirá um ponto
preciso na tela Então zero, zero agora corresponde
a uma posição superior esquerda. Então, se jogarmos isso, veja se a imagem está lá. A vantagem do
posicionamento absoluto é que ele sempre
estará nessa
posição da tela, não importa qual tela, não
importa qual navegador você use.
66. Integração de vídeo: Deve ser capaz de reproduzir vídeo. Você só precisa copiar o
texto que eu preparei
no documento deste capítulo novamente e
colá-lo aqui desta forma. E se jogarmos, como você pode ver, aqui temos novamente o caminho
absoluto, muito parecido com as imagens. Se tocarmos essa passagem, não vemos nada. O motivo é que o vídeo
é muito semelhante ao áudio, então você precisa ter uma
passagem anterior em que você
obtenha pelo menos uma primeira entrada e só então entraremos na passagem
do vídeo. Finalmente vemos nosso vídeo. Uau. Assim mesmo. Para poder redimensionar o vídeo, recomendo alterar esses
dois valores de largura e altura Então, basta especificar os valores desejados sobre tamanho que você deseja que esse contêiner de
vídeo tenha. Dessa forma, você tem um contêiner
consistente
onde você pode facilmente repetir um vídeo ou
alternar o vídeo a qualquer momento Sem cintilação.
Será muito consistente. Então, deixe-me
testar isso por enquanto. Então agora vai
ser 1.000 por 250. E o bom
dessa técnica é que ela
evita automaticamente o alongamento. Se você fizer a altura 100. Em teoria, isso não é
60 por nove perfeitamente, mas na verdade
só vai compensar até evitar
o alongamento. Então, vamos tentar. Assim mesmo. Então é aí
que você precisa saber como
dimensionar o vídeo com segurança Obviamente, você pode
reposicioná-lo com a mesma técnica com o CSS que acabei de mostrar anteriormente E a única coisa que
você pode usar é
decidir se esse
vídeo será repetido automaticamente como
um Jif ou será reproduzido apenas uma vez E para fazer isso, você só
precisa remover essa palavra aqui. Agora, temos um loop
aqui, remova a palavra. Você quer jogar apenas
uma vez, basta verificar isso. Tudo bem, o
cara dá um soco e depois para.
É isso que queremos.
67. Eventos de vídeo: Em teoria, você poderia usar
vídeos que contenham áudio, mas às vezes eles
não são reproduzidos ou às vezes podem mostrar alguma interface
que você não deseja. Para simplificar tudo isso, recomendo usar vídeos
que não contenham áudio. Em vez disso, gerencie o
áudio separadamente usando a biblioteca que
acabamos de instalar no capítulo
anterior. Dessa forma, você tem controle máximo de vídeo e áudio separadamente. Nesse ponto, a única
coisa com a qual você deve ter cuidado é ter uma sincronização
perfeita Suponha que você tenha um
vídeo que se repete ao longo do tempo e queira reproduzir o som todas as vezes
por várias vezes Se você tiver áudio e vídeo em loop
separados, pode
haver algum atraso
que se acumule Talvez a primeira vez
esteja perfeitamente sincronizada, mas depois ela se desliga
progressivamente Para evitar que isso aconteça, você só precisa criar
um evento de reprodução de vídeo que também possamos vincular
ao áudio. Fundamentalmente, quando
o vídeo é reproduzido, há áudio e vice-versa. Então, para fazer isso, vá aqui, você integra o vídeo aqui
e, dentro do mesmo gancho, temos também a
macro da faixa aqui, que é reproduzida. Então, agora, deixe-me
mostrar o que acontece aqui. Se jogarmos a partir daqui. Temos exatamente o som de punch começando exatamente quando
o vídeo começa Então, eles são extremamente
unidos, sabe? E também, posso recarregar isso.
Veja o que está acontecendo? Toda vez que eu
pressiono o botão novamente, ele executa o gancho novamente. Deixe-me te mostrar aqui, sem
mais nem menos. Então eu paro o áudio quando
pressiono este link aqui novamente, então eu simplesmente reinicio o gancho. E, consequentemente,
ele apenas reproduzirá o áudio e o vídeo juntos
novamente, perfeitamente sincronizados
68. Noções básicas de troca de mídia em tempo real: Para poder alternar imagens
e vídeos ao longo do tempo, você só precisa
criar algum tipo de sistema que permita
redirecionar uma nova imagem ou vídeo e exibi-lo em vez
do anterior. A maneira mais rápida é substituir
a imagem
ou o vídeo dentro
do gancho dessa forma E agora
vamos simular uma mudança de alvo
clicando novamente neste link aqui Vou mudar a sequência de caracteres alvo para um e dois, e ela
vai se alternar. Ao mesmo tempo, aqui
na parte inferior, como você pode ver, temos uma transmissão ao vivo que
monitorará muito rapidamente se houver alguma alteração qualquer
momento na variável
alvo. E, consequentemente,
como você pode imaginar, assim que a
meta se tornar realidade, vou substituir
o conteúdo. Imagem uma com todo o
código do novo destino. E então, quando eu volto para uma, eu simplesmente substituo, novamente, pela imagem anterior le code. Eles apenas testam isso agora aqui. Tudo bem, agora
vemos a Imagem 1. Assim que clicar na imagem, assim que eu mudo, você pode ver que a string
agora é a do alvo. Quando eu clico em dois,
você vê o que acontece? Nós apenas mudamos a imagem
muito rapidamente porque essa variável aqui está sendo monitorada ao longo do
tempo muito rapidamente. Esse é o truque. E sim, como você pode imaginar,
é muito reativo Isso permite
alternar entre imagens e
vídeos muito rapidamente. Um
69. Comandos principais: Tudo bem, então para poder
usar a entrada do teclado no Twine, precisamos instalar uma nova
biblioteca chamada Vamos entrar na seção
Javascript aqui, copiar e colar o código
deste documento da seção. Basta colar todas essas
coisas aqui, e pronto. Agora o Twine é capaz de
usar a entrada do teclado. A forma como isso funciona é
que, fundamentalmente, vamos
simular um clique Entrando em um gancho. Portanto, é um processo de duas etapas. Vamos
entrar em uma passagem e criar o primeiro salto de
gancho como esse, para garantir que esteja visível. Dentro do gancho,
vamos colocar link normal
ou um link repetição ou onde
quisermos, na verdade. Desde
que algo possa ser pressionado, usaremos um link de
repetição por enquanto. Nós chamamos isso de just go.
Então, aqui dentro, podemos fazer o
que quisermos acontecer. Assim, podemos mudar uma parte
da lógica do jogo. Podemos acionar uma
animação onde quisermos. Então, neste caso, vamos
apenas alterar uma variável, definir os saltos para e mais um E então vamos criar
um segundo gancho aqui que exibirá o
número dentro do nosso atalho Vamos substituir
o conteúdo dos contadores pelo novo número
de saltos que fizemos Assim, deixe-me
mostrar em tela cheia. Isso é o que parece.
Então essa é a primeira parte. Então você precisa
entrar no Javascript. Nós rolamos até o fim. Para cada atalho
que você criar, você precisa usar
essas linhas aqui Eu já me preparei para
comentar para que você veja exatamente onde um vínculo começa e onde termina
daqui até aqui Termina aqui começa aqui. Então, a forma como funciona é que você precisa alterar o
nome do gancho. Ele precisa combinar perfeitamente com
o gancho que criamos. Então, se você se lembra,
foi chamado de salto. Altere esta seção aqui. Nome é igual a salto. Essa é a primeira coisa.
Então, aqui, decidimos exatamente qual tecla estará pronta para ser pressionada para isso. Então, podemos usar o enter. Certo. E aqui, você pode decidir se a
tecla vai acionar o gancho de salto ao
pressionar ou
soltar a tecla,
basta trocar a tecla para cima com tecla pressionada ou
vice-versa, assim. Então, por enquanto, continue assim. Tudo bem. E depois volte
aqui, teste essa passagem. Então, agora, em teoria,
quando eu pressiono Enter, devemos ver Quem você
vê o que está acontecendo. Toda vez que eu pressiono
Enter, agora, vemos o número aumentando
também, a lógica. Então é assim que você cria atalhos para a entrada
do teclado É realmente a maneira mais simples e
rápida de fazer isso.
70. Evite repetições principais: Então, quando você usar
isso, você começará a notar
um certo comportamento. Quando você mantém a tecla pressionada, ela não apenas aciona a lógica toda
vez que você pressiona,
mas também se você
mantiver a tecla pressionada, ela continuará disparando
infinitamente assim Então, em alguns casos,
isso pode estar bem. Metralhadora, isso
pode ser perfeito. Mas em todos os outros casos, podemos querer que isso
aconteça apenas uma vez. Então, imagine como fazer
literalmente um personagem pular, você precisaria se certificar de que toda vez que pressionar a tecla, mesmo que a mantenha pressionada, ela só
fará com que o salto aconteça uma vez e depois a recarregue
somente quando você finalmente
soltar a tecla Então, vamos ver como
implementar o ex. Antes de tudo, precisamos alterar
a repetição do link com
um link e pronto. Então, um link normal. E isso já evitará as repetições porque, obviamente, se mantivermos a chave
pressionada, não importa Eu só vou acontecer uma vez.
É isso que queremos. Em seguida, voltamos ao
nosso Javascript aqui e criamos um segundo vínculo Então, copiamos todos esses caras, criamos algum espaço, colamos. E aqui, nós apenas
mudamos o alvo
desse bind de jump
para jump release E também, trocamos a tecla
para baixo para a tecla para cima. Assim mesmo. É tudo o que precisamos
fazer para corrigir isso. Voltamos à nossa passagem. Criamos para Lily um novo, chamamos isso de pular, liberar E dentro deste lugar,
um belo salto vermelho. Vamos colocá-lo em um
link, repito, na verdade. Então vamos aqui, Link,
repito, assim. Fundamentalmente, o que
vai acontecer agora é que toda vez que
você pressionar a tecla Ele vai disparar
o código apenas uma vez. Então, agora eu
tenho a chave abaixada. E assim que eu o soltar,
ele recarregará
o salto, finalmente Então está aqui,
o que significa que eu posso finalmente
repetir um novo salto. Mas isso só acontecerá uma vez, mesmo que eu mantenha a
chave pressionada como agora. Então essa é a chave, esse é
o truque chave disso. E agora isso
só acontecerá quando eu pressionar a tecla apenas uma vez. Como você pode ver,
agora mesmo, um problema final, que é o fato de termos todos esses links estranhos que não
precisamos ver Podemos simplesmente encapsular
dentro de uma boa opacidade, zero. Assim, e eles
desaparecerão. E então, o que eu recomendo
é colocar essas teclas pressionadas na parte
inferior do código, para que elas não
interfiram de forma
alguma nas coisas que estão acontecendo
no jogo real Dessa forma, temos nosso
balcão no topo
da passagem e também recomendamos o
colapso do espaço Tudo bem. Dessa forma,
temos nosso balcão na parte superior completamente intacto, e é isso que queremos. Pooh
71. Dicas e ideias (controles): Uma
maneira um pouco mais avançada de se livrar de todas essas teclas
aqui embaixo é simplesmente
trocá-las usando CSS Encapsule todos os
atalhos dentro do gancho gigante e mova
esse único gancho para outro lugar
completamente diferente Dessa forma, mesmo por
engano, o jogador não conseguirá
pressionar esses links
porque, no momento, eles estão simplesmente invisíveis. Portanto, você precisa ter certeza de
que eles estão completamente ausentes. Certo. Para isso, na verdade,
um truque seria simplesmente empurrá-los até
a passagem desse jeito e depois bloquear o
pergaminho e fazer isso. Você só precisa
colar uma única linha de código no CSS. Falando sobre esse código aqui. Então você rola até
o fim e cola esse cara aqui. Estouro oculto. Isso, não importa o
tamanho da página, impediria que o jogador
rolasse para baixo com uma roda. As mentes principais são
extremamente poderosas. Apenas com esses princípios
simples, você pode criar sistemas de comando realmente
complexos. Você pode usar repetições de links, mas também
recomendo usar links de bicicleta Se você quiser percorrer
as armas ou itens que
o jogador tem. Então você coloca um
link de ciclismo dentro de uma repetição de link. Além disso, essa biblioteca suporta várias chaves
ao mesmo tempo. Para fazer isso, Lily simplesmente
vá até aqui e crie um vínculo para
cada chave Dessa forma, você poderá criar sistemas que
reconheçam se você está pressionando várias teclas
ao mesmo tempo e, assim, acionar uma
combinação específica de teclas, certo? Isso é realmente tudo com
esse único truque. KeyBindhok.
72. Entrada do gamepad: Tudo bem, agora que você sabe
como usar a entrada do teclado, é hora de mostrar
como usar os game pads Eu criei uma
minibiblioteca chamada spring. Eu vou dar
para você agora mesmo. Então, basta copiar lily o arquivo
que você verá agora e colá-lo aqui no
JavaScript. Nossa, sem mais nem menos Então, todo esse texto é uma biblioteca de
gamepad chamada spring. Os principais recursos dessa
biblioteca são
a capacidade de rastrear o estado de
cada botão. Então, quando ele
sobe e desce, você pode transformá-lo em
um clique e enviá-lo para um gancho de clientes,
exatamente como mantrap Segundo recurso, você pode rastrear
o estado dos análogos. Então, o eixo Y e o X se tornam quatro variáveis
e também os gatilhos Finalmente, você também pode
acionar a vibração. E não só isso, você também pode controlar a intensidade
da vibração. Então você já pode imaginar tantas coisas que
agora você pode fazer, e agora
deixe-me mostrar como usá-las.
73. Botão para cima/para baixo: Antes de fazer qualquer outra coisa, precisamos testar
se o game pad está funcionando corretamente. Portanto, certifique-se de
instalar os drivers do seu sistema
para que ele funcione. Além disso, lembre-se
de ativá-lo. Então, basta pressionar normalmente
esse botão aqui. Dez, agora está realmente ligado. Portanto, acesse este site aqui
e, se você ver as
informações aparecendo aqui
, elas podem estar funcionando corretamente. Então, tente mover todos
os botões, pressione. Às vezes, ele não será
calibrado corretamente. Então, como você pode ver, você pode ver algumas pequenas oscilações
nesses números, especialmente se o
controle for antigo Mas, na maioria das vezes, você vê todos esses números
reagindo corretamente. Seu controlador é
praticamente utilizável para isso. Ok, agora que estamos aqui, direto no código, role para baixo até ler este comentário naquele evento com o botão
esquerdo pressionado. Tudo bem, aqui funciona
exatamente como uma ratoeira. Você acabou de copiar o conteúdo entre esses dois comentários aqui. E você pode reconhecer
que só
precisamos nomear um gancho personalizado. Esse caso será
chamado de jump. E então o número do índice. Portanto, o índice é
exatamente o número que identifica o botão
que você precisa mapear E para extrair esse número e usá-lo, a ferramenta que
mostrei aqui. Então, por exemplo, agora,
para o botão A, você pode ver que B zero reage significa que esse é
realmente o número zero Podemos usar isso como uma
informação aqui. O índice zero será
o botão A. Ele enviará um
clique para o gancho chamado jump quando pressionarmos A para baixo. Digamos que também
queiramos fazer isso quando o A for lançado. Então, nesse caso, vamos rolar até aqui,
abotoar um Bens. E a mesma coisa. Você pode reconhecer novamente os
mesmos comentários aqui. Isso vai ser um obstáculo. O índice é zero. Então, A vai usar o mesmo gancho ou solta de salto. Vamos testar isso. Link de salto. OK. E o mesmo
para o lançamento. Então D. Tudo bem, vamos apertar
isso. Então, agora, quando eu pressiono, A passa
por
um clique para baixo. Quando eu o soltar,
você deve pressionar para cima. Quem. É assim que é fácil mapear os eventos de alta e baixa por meio de cada botão
que pode ser pressionado.
74. Análogos e gatilhos: Sim. Antes de dizer qualquer coisa,
deixe-me te mostrar uma coisa. Se já testarmos essa passagem, você notará uma coisa:
todas essas variáveis
já são pré-geradas Esses já são feitos
pelo Javascript. Os eixos X e Y, esses dois são o manípulo esquerdo. Os eixos X dois e Y são
para o manípulo direito. E, finalmente, as variáveis
esquerda e direita do gatilho são os dois gatilhos quando
você as move lentamente para baixo. Então, todas essas seis
variáveis geralmente já
são geradas
por qualquer controlador. Nós sempre vamos 0-1. Eles apenas
os imprimem em tempo real. Ok. Agora, esses na
parte superior são os dois gatilhos Como você pode ver, meu
gatilho esquerdo está um pouco quebrado, então ele diz apenas um pequeno caminho o tempo
todo. Mas está tudo bem. Mova o gatilho direito. Você vê esse número se movendo. Esse é o gatilho certo. Isso vai 0-1. E é dinâmico. Não é só um interruptor. mesmo para o
gatilho esquerdo. Tudo bem, então eu vou passar
para o manípulo esquerdo Ok, então é X e Y. Como você pode ver, é
extremamente reativo E, finalmente, o manípulo direito. Tudo bem. Assim mesmo. Então, para recapitular, essas seis variáveis estão prontas e atualizadas o tempo
todo, e você só
precisa usá-las se quiser
75. Alternativa de vibração: Para mim, para
controlar a vibração, mude a variável de alternância, que é pré-gerada, para um
ou zero. Deixe-me te mostrar. Então, se você colocar isso
suavemente onde, após 1 segundo, mudarmos para um exatamente
200 milissegundos depois, voltaremos a zero O resultado, como você pode imaginar, é que você tem um pequeno
impulso de vibração Então, deixe-me te mostrar.
Você ouve isso de novo. Então, passamos 1 segundo. A vibração permanece por 200 milissegundos e
depois volta a zero, tudo controlado por essa
única variável, Tuggle Agora, você
já pode imaginar isso. Você pode criar vibrações
automáticas sempre que estiver em um ambiente
perigoso. Uma ideia pode ser compor
algum tipo de ritmo,
combinando várias
vidas ou vidas, combinando várias
vidas ou vidas, e então você meio que faz com que se
tornem macros E então você pode simplesmente usá-los dentro dos botões
com muita facilidade, assim. Por exemplo,
criamos um chamado batimento cardíaco
curto como esse, imaginando
algo assim E sempre que você
clicar no botão, ele também acionará
aquele ritmo específico de vibração, apenas desse jeito.
76. Intensidade da vibração: Segundo, para poder controlar a
intensidade da vibração, você precisa ajustar duas variáveis
que são pré-geradas
e ir para 0-1, magnitude fraca e, em seguida, magnitude forte Essas duas variáveis precisam
fundamentalmente
ficar meio próximas uma da
outra de acordo com
o que você deseja Então, se você quiser uma vibração realmente
precisa, como você pode ver, quando
eu pressiono A para baixo, ela vai para 0,85 por uma semana e é muito
forte, que é o máximo. Então, quando eu solto A, agora estamos na liberação de salto, ele vai definir fraco para
0,45 e forte escolher 0,6, o que vai dar
uma vibração mais leve Agora deixe-me mostrar
o que está acontecendo. Vamos aqui, como vimos uma supressão
A. Viu o que aconteceu? Ele fez uma
vibração precisa, como você pode ver, A aqui, 0,80 51, e
então eu o solto Muito leve. 0,45 e 0,6. Agora vou colocar
o microfone exatamente no
controlador. Tudo bem. Ok, isso foi difícil.
Eu finalmente liberei. Como você pode ver,
é muito sutil. Posso garantir que, embora a vibração fraca seja fraca, digamos que você
ainda possa senti-la, e esse é um novo nível de
expressão para seu jogo. Isso é tudo o que você precisa fazer
e saber para controlar o feedback tátil do seu jogo e
do Twine Eu sei que é
incrível ser capaz fazer isso, mas agora você pode.
77. Maximizar a matemática: Tudo bem, agora deixe-me mostrar algumas
coisas que você precisa
saber para maximizar sua
capacidade de gerenciar números Antes de tudo, basta
criar um número simples apenas neste teste de conjunto 1,75 por enquanto Então, vamos supor que você queira ter
a máxima certeza de que esse número será arredondado
para o número inteiro mais próximo. Tudo o que você precisa fazer
é encapsular esse número em uma
boa rodada como Agora, como sabemos que
o número mais próximo é Q, devemos apenas ver Q. Uau. É assim que
funciona. Se tivermos 1,4, obviamente estamos
mais perto de um agora. Logicamente, vemos apenas um. Em vez disso, vamos
supor que você queira
calcular o número absoluto, altere isso com ABS desta forma. E agora ele removerá
automaticamente o pecado e fará com que ele se torne um número
absoluto como este. E, finalmente, se você
quiser saber se um número está acima
ou abaixo de zero, encapsulamos a impressão
em uma macro senoidal Portanto, agora o teste
normalmente será de -2,45. Mas deixe-me te mostrar. Então,
agora vemos menos um Esse número, essa
variável está abaixo de zero. Se considerarmos isso positivo, ele se tornará apenas um. Portanto, você pode usar isso para divergir lógicas de maneiras diferentes se um número for acima
ou menor que zero E outro
truque muito útil é poder fixar
uma série de números em um andar
específico de seus brinquedos E queremos ter
certeza de que teremos apenas cinco no máximo possível. Portanto, temos os números de 1 a 5 e apenas um
será automaticamente trazido de volta para cinco no máximo. Condição de teste. E dizemos que se o
teste estiver acima de cinco
, obviamente nos dará cinco. Já em todos os outros casos, simplesmente
retornaremos sozinhos. Então, em todos os outros casos, sabemos que
seria cinco até um. Exatamente desse jeito. Assim, posso fazer isso
o tempo todo que quiser, mas sempre serão cinco no máximo
com segurança. Sem isso, deixe-me
mostrar o que vai acontecer. Seja livre para ir acima de cinco. Mas com esse truque,
reduzimos para cinco no máximo. Agora é só ir
um pouco mais longe. Crie um número maluco como esse. Então, um a 10.000, dividido por um a 10.000. Então, em teoria,
começaremos a obter números com grandes pontos decimais E queremos que você tenha um
sistema que exiba
talvez os dois primeiros
pontos após o zero. Nós encapsulamos tudo
isso, toda a geração variável dentro de um belo micro
chamado floor Tudo bem, então primeiro
de tudo, inserimos todo esse cara dentro do
chão assim Então precisamos multiplicá-lo por 100 e depois dividi-lo por
100 novamente, sem mais nem menos Deixe-me mostrar
o que está acontecendo. Telhado. No momento, temos apenas duas posições após o máximo zero para decidir
quantos pontos decimais você deseja Depois do zero,
você adiciona ou remove um zero desses dois números. Então, por exemplo, temos
1010, então é apenas 10, o que significa apenas uma posição
depois de zero, desse jeito Você também pode simplificar
isso apenas alterando esses dois para uma variável
temporária. Então, os decimais definem aqui os decimais com
a potência de dez. Esse número aqui é onde
decidimos quantas posições queremos permitir que
o número tenha. Então, agora, teremos apenas um decimal após o zero Vamos verificar. Exatamente desse jeito. Cinco posições. Basta atingir esse número
para cinco, assim. Tudo bem. E, finalmente,
deixe-me mostrar como controlar a bateria
na rede aleatória de números. Então, agora, como você
pode ver, você tem apenas uma sequência de números
aleatórios de 1 a 10, aparecendo neste gancho cada meio segundo, sem mais
nem Você sabe, apenas
números aleatórios, aparecendo assim. Então, se você notar que toda
vez que eu testo o jogo, ele mostra uma
sequência diferente de números. Portanto, a sequência é sempre
diferente toda vez que eu testo. Como você pode ver, o
primeiro número é seis e depois muda novamente.
Sempre diferente, certo? Portanto, em alguns casos, isso pode ser ideal
porque significa que todos os números aleatórios
do seu jogo serão exclusivos para cada jogador. Por outro lado, se você conceder uma experiência consistente
a cada jogador, poderá gerar
o chamado sed. Basta ir aqui e usar no início
do
jogo apenas uma vez,
Seed, e depois digitar uma string. Então, vamos chamar isso de olá. Agora posso garantir que toda
vez
que eu jogo essa sequência
aleatória. Como você pode ver 410, cinco, seis, se eu testar novamente, será novamente o mesmo Em alguns casos, para criar
um jogo mais justo e que não altere muito
a dificuldade dos jogadores, você pode usar uma semente para
garantir consistência. Quando a ideia de conceder uma experiência
única poderia ser vincular essa semente ao
nome do personagem.
78. Rodapé do cabeçalho: A primeira coisa que precisamos
ser capazes de usar para ter um código geral mais limpo
é o cabeçalho e o mais livre Essas duas são basicamente duas passagens especiais que exibirão seu conteúdo toda vez que você entrar em uma nova passagem
no Para fazer isso, basta
criar duas novas passagens. Não precisamos renomeá-los.
Basta aplicar um cabeçalho de tag. E depois o rodapé para o
outro assim. Futer. Dentro deste sapato, podemos simplesmente colocar um código. Então, por exemplo,
no cabeçalho, colocamos o dinheiro definido, como oito mais um. Dentro do rodapé,
colocamos uma impressão para ver o
novo valor como esse, colocamos algum espaço,
apenas quebramos a linha Este sapato estará literalmente
no topo e
no fundo de
cada passagem. Portanto, você precisa ter cuidado
com o espaçamento. Agora é só pré-visualizar o teste. Tudo bem. Então, vemos o número um. Tudo bem, você vê
o que está acontecendo. Toda vez que eu vou e volto, o código
monetário definido é executado novamente
e, consequentemente, vemos um
número cada vez maior. Assim, você pode reimaginar todas
as maneiras pelas quais isso pode ser usado. Fundamentalmente, permite
que você automatize o código redundante, coloque-o de uma forma mais limpa,
e essa pode ser uma forma e essa pode ser
79. Condições iniciais: Existe uma maneira de definir as condições iniciais
do seu jogo. Não importa de qual passagem
você comece, crie uma nova passagem e
marque-a como uma startup como essa. Mesmo quando você aplica
várias passagens, esses códigos são executados logo no início do
jogo, quando você Portanto, isso pode ser extremamente
útil para sessões de depuração. Portanto, você pode simplesmente definir
condições personalizadas diretamente de uma passagem como essa e testar diretamente de uma passagem
na depuração inicial Defina energia 0100. E agora, se fizermos uma prévia da sala um, você pode ver que temos o
Energy Set 100 e dizer: o que aconteceria se fizéssemos uma
prévia da Introdução Vamos experimentá-lo. Novamente,
isso ocorre porque a startup está sendo executada logo
no início.
80. Ignorar o código e comentários: Em vez de excluir isso ou simplesmente colocá-lo em uma
passagem separada que você não usa, uma maneira é simplesmente
ignorá-lo usando a macro Ignorar Então você vai aqui,
Ignore, e dentro desses
colchetes, colocamos o código que
precisamos ignorar Dessa forma, quando você
percorrer essa passagem, ela a ignorará completamente. Então, como você pode ver, não há
configuração aqui. E é isso. Em vez disso, às vezes, quando você
constrói sistemas realmente complexos, você pode fazer
anotações apenas para lembrar
o que eles fazem, certo, porque você
pode perder o controle. Então, para fazer isso, vá para onde
quiser na passagem. Clique neste botão aqui. E
então você pode simplesmente fazer anotações. Isso significa X, Y e Z.
Assim, você pode digitar parágrafos
inteiros do que essa
seção específica do código
81. Espalhando: Fundamentalmente, no momento,
temos apenas uma matriz definida como teste que contém as
primeiras sete letras do alfabeto, desse jeito Se quisermos imprimir uma
letra aleatória dessa matriz, como você pode imaginar,
podemos usar qualquer uma delas. Mas então, como
podemos dizer
a qualquer um deles que considere cada
valor individual disso? Bem, coloque três pontos no início da
variável assim Esses três pontos são chamados espalhador e distribuem a matriz
em valores individuais Consequentemente, agora funcionará. Deixe-me te mostrar. Nós, você sabe, vemos o comportamento
que queremos. Então, estamos imprimindo qualquer uma
dessas letras aleatoriamente. E agora vamos complicar
um pouco mais. Em vez disso, vamos
usar um índice personalizado. Vá aqui, defina uma segunda
variável chamada índice, escolha um número aleatório por enquanto Assim mesmo. Um, dois, sete. Tudo bem. Então, em vez
de um, nós o alteramos com uma nova
macro chamada Nth, assim E no início, colocamos
apenas o índice
e, em seguida, a
matriz espalhada assim O que vai
acontecer agora é que fundamentalmente, temos exatamente o
mesmo comportamento usar qualquer um deles Deixe-me te mostrar. Com a diferença
que temos agora, a capacidade de usar um índice controlável
personalizado Portanto, isso será
extremamente útil quando você quiser controlar, na verdade, com
mais precisão, o índice. Então, aqui, imagine que você define uma variável como
fonte de índice. Dessa forma, você
basicamente poderá divergir frases
ou estatísticas inteiras diretamente em pontos
específicos com muita
facilidade com o sistema
82. Para loops: Ok, agora que você
pode distribuir valores um após o
outro a partir de uma matriz, vou
mostrar como processar cada valor em
uma matriz individualmente. Então, vamos supor que
temos, novamente, uma variável aqui. Vamos chamá-lo de bolso a matriz, digamos que queremos dividir pela metade todos esses números individualmente e depois trazê-los de
volta ao bolso Bem, para fazer isso, crie
uma matriz temporária. Coloque o bolso dois, dois, uma matriz vazia por
enquanto, sem mais nem menos. Usamos a nova
macro chamada quatro. E a forma como funciona
é que precisamos
criar uma
variável temporária que será usada como
índice para cada índice. E aqui nós apenas espalhamos
a matriz original. Então, basta um bolso assim. O que acabamos de escrever significa
colocar cada valor em um bolso dentro
do colchete para que possamos fazer onde quisermos Assim, podemos imprimir cada
valor individualmente. Por exemplo, basta dizer:
Este é o seu número da sorte
e, em seguida, trazemos
o índice assim. Welly imprima para cada valor
único esta frase com cada valor
da matriz, desse jeito Esse é o uso mais simples disso. Mas vamos supor que
mudássemos o valor. Definimos humildemente uma nova matriz, bolso dois, que
originalmente estava vazia, duas em si mais uma nova matriz contendo índice dividido por dois Então, o que vai
acontecer é que agora, para cada valor
no compartimento original, vamos dividir
cada um deles por dois e trazê-los de
volta para o compartimento dois. E, finalmente, podemos
colocar o bolso um, o bolso dois. Então, traga de volta os
valores para o bolso um. E, finalmente, podemos simplesmente
imprimir a coisa toda. Vamos ver esses
valores divididos por. Telhado. Como você pode ver agora, estamos vendo o
novo bolso um depois de
repetirmos cada valor único
para ser dividido por dois
83. Como fazer sandbox: Às vezes, talvez você
precise testar novas ideias de código antes de implementá-las
no jogo real. Uma maneira de fazer isso localmente é dedicar-se de
passagem a isso Assim, você pode chamar a caixa dez, testar todas as suas coisas
e, finalmente, implementá-la
nas passagens reais Mas às vezes isso não será possível porque
entrará em conflito com o CSS
ou o Javascript. Então você pode simplesmente dedicar
todo o projeto ao sandbox, então você pode ir até aqui. E reivindique aqui apenas
um projeto como este. Dessa forma, isso não
interferirá no seu projeto principal. Mas uma coisa pode ser
um pouco confusa para você, talvez seja o fato de que, depois
de terminar o teste, talvez seja necessário encontrar
uma maneira de copiar o código que finalmente
funcionou no jogo. Então, em teoria, você
precisará copiá-lo daqui, depois voltar para a lista, entrar novamente no jogo
e, finalmente, colar o código aqui, que não é o
melhor processo, certo? Então, uma maneira de evitar esse processo de ida e
volta é simplesmente
abrir uma instância de fio completamente
separada Para fazer isso, pelo menos no Windows, basta abrir
o menu Classificar e literalmente reabrir o Twine
pela segunda vez, assim E depois de alguns segundos. Então agora eu tenho que
abrir de forma independente. Ao fazer isso, tome cuidado para não abrir o mesmo projeto
nas duas versões. No momento, eu tenho
um, abra aqui, mas aqui eu posso abrir
qualquer outro projeto, então eu posso abrir o projeto
sandbox aqui Agora eu posso simplesmente
copiar e colar o código We que tenho aqui, no
projeto real, até o fim
84. Maximize as condições: Se você quiser tornar suas
condições de IF mais complexas, uma coisa que você
pode fazer é adicionar mais verificações antes de realmente
entregar o resultado Então, agora temos o
dinheiro sendo definido como um, e isso nos dará o resultado bingo se for maior que zero. Então, vamos adicionar
uma nova condição, que será obrigatória. Acabamos de digitar e
é menor que 1,5. Então, agora ele só nos dará bingo quando for
maior que zero, mas também menor que 1,5. Agora vemos bingo
porque é um. Assim que forem
dois, não veremos mais porque é verdade que
dois é maior que zero, mas não é verdade que seja menor que 1,5.
É assim que funciona. Então, se você tiver
várias condições, mas apenas uma
delas será
suficiente , mude com ou. Então, agora, se satisfizermos
qualquer um desses dois, veremos isso imediatamente de qualquer maneira,
Bingo, porque está satisfazendo pelo
menos um deles E você pode especificar
quantas quiser. Você pode até mesmo verificar
todas as variáveis, não necessariamente todas da mesma forma, então suponha que o
dinheiro seja uma string, e queremos acionar o bingo, somente se um
caractere específico ou palavra específica estiver contido nessa string
para digitalizá-la automaticamente. Podemos simplesmente usar contains. E aqui nós apenas digitamos o que
acionará o resultado. Portanto, pode ser até mesmo um único
caractere ou uma palavra inteira. Se essa string
contiver apenas um H, ela acionará o resultado. Uau. Assim que
eles o mudarem para um caractere que não existe na string, por exemplo,
Z, não veremos mais o Bingo porque agora ele está escaneando a coisa toda em
busca de partidas. Ele também funciona muito
bem com matrizes. Então, vamos supor que o
dinheiro fosse na verdade uma matriz. Assim que o conteúdo for
transformado em algo que corresponda totalmente a um dos
elementos dessa matriz, ele acionará, novamente, Bingo. Então, vamos tentar
com o número um. Portanto, se o dinheiro contiver um nessa matriz,
ele acionará o Bingo. Vamos tentar. Ok, e
mais um, se ele contiver Pacman, novamente, veremos Bingo
85. Número para corda e vice-versa: Não, às vezes você pode precisar converter uma
variável numérica em uma variável de string. Existem algumas macros
que você só pode usar se uma variável for
uma string como essa,
substring, que pode
ser extremamente útil para cortar uma string específica
de um Ou também aparar. Para
poder fazer isso, defina uma primeira variável, Moni como uma, para
convertê-la em uma string,
defina novamente, muitas Mas então nós o encapsulamos dentro
do SDR. Então, o que acontece é que
veremos Moni ser primeiro um número
e, após os segundos, ela se tornará uma string. Isso mesmo. Tudo bem,
um, dois, três Tudo bem, puf, sem mais nem menos. Agora virou uma corda. E você também pode fazer
o contrário. Então, se primeiro fosse uma string, podemos transformá-la em
um número
para poder usar um pouco de
matemática nisso, certo? Basta alterar STR com Num. Então, agora o que acontece é o oposto. Então, vamos aqui. Então agora é uma string e depois
se torna um número. Puf.
86. Clonagem de referências: Agora deixe-me mostrar algo
realmente interessante. Se criarmos uma nova variável chamada energia e a
definirmos como 100
, se criarmos uma segunda
variável chamada alvo, podemos clonar os valores
de energia automaticamente apenas definindo
a meta para a própria energia Se imprimirmos o alvo, ele mostrará o
valor da energia. Exatamente desse jeito. Então, 100. Mas você precisa se
lembrar de uma coisa. Ao fazer isso, ao
clonar uma variável, haverá duas coisas
separadas Como você pode ver agora,
temos energia alvo, ambas com 100, que significa que se fizermos qualquer alteração subsequente na
energia após a clonagem,
por exemplo, 50, se
imprimirmos o alvo, alvo ainda estará
com o valor mais antigo Então, no momento, ainda vemos 100 porque o alvo
não foi atualizado, enquanto a energia,
como você pode ver, agora
eles têm dois valores
diferentes. O truque secreto para
poder ainda informar Target sobre as mudanças
que fazemos na energia, mesmo após a clonagem, é apenas encapsular o nome completo da fonte entre dois
códigos, assim Então, o alvo agora se tornou a energia da
corda com $1. E, consequentemente, quando
fazemos mudanças subsequentes na energia, então ela se tornou 50 agora e imprimimos o alvo, deixe-me
mostrar o que aconteceu. Uau. Agora vemos 50, que é o
valor atualizado da energia. Deixe-me te mostrar aqui. O alvo, em teoria, nunca se tornou um número. Acabou de se tornar a referência, o link direto com a energia. Apenas com um truque, você
pode fazer coisas incríveis. Por exemplo, você pode
usá-lo para sistemas bancários onde você pode criar
matrizes complexas que contêm vários valores e, em seguida,
referenciar todos esses bancos com uma única variável que eles podem chamar de alvo ou alvo ativo Isso poupará milhares
de linhas de código porque você pode simplesmente compactar coisas
complexas com
essa solução simples E, finalmente, você pode usar a
impressão para fazer
alterações diretas na energia. Nós apenas encapsulamos
a energia definida em 50 dentro de uma impressão como essa, e então mudamos
a energia para um alvo como E então encapsulamos
qualquer coisa que
não seja uma variável
entre aspas, assim Então isso, isso se torna aspas, também o parêntese, certo Além disso, precisamos ter certeza de que também temos os espaços. Então, isso terá um espaço, certo. Exatamente desse jeito. E então, entre
todos esses elementos, precisamos colocar
mais, mais mais. Agora, o que vai
acontecer é que vamos mudar diretamente o valor
real da energia, usando
apenas o nome do espaço reservado,
que é alvo, porque isso idealmente, em um jogo real, será algo relativo Essa será
uma solução para alterar os valores reais da fonte
do valor importante. Deixe-me mostrar
o que acabou de acontecer. A energia agora é 50, e fizemos isso diretamente da
impressão usando o alvo. Então, o alvo agora representa
energia diretamente. Portanto, não é apenas um clone, mas um link direto com a energia E você pode alterar os valores
de origem de uma variável apenas
com essa técnica.
87. Macros personalizadas: Vamos supor que
isso seja algo que reutilizamos várias vezes, talvez muitas vezes
no jogo Então, queremos que você o comprima
em uma única palavra. Para fazer isso, precisamos usar
algo chamado macros personalizadas. Conjunto, pinça, duas macros. Tenha cuidado porque agora
vamos ver muitos , crie
dois parênteses Lá dentro, digitamos
dados como esses. Então, aqui dentro,
colocamos apenas colchetes tubulares. Em seguida, você sai desse primeiro parêntese
e digita mais
dois colchetes Tudo bem. Adivinha o que?
Agora, aqui dentro, você pode colocar
onde quiser
compactar nesta
única palavra Lc Deixe-me mostrar em tela cheia, e o jeito é exatamente esse. Você digita dois parênteses, digita o nome
da macro castm Assim mesmo.
Então, fundamentalmente, isso aqui representa isso
para o resto do jogo Então, para usá-lo, use
isso em vez daquilo. Então imagine usar isso
em pedaços muito grandes de código que provavelmente serão
assim, certo? Muito maior. Então, defina o teste 1.000. Ligamos para nossa pinça após
o teste, assim. Então, agora, se imprimirmos
o teste, deve ser 100 porque
o grampo agora está funcionando Então, vamos até
aqui. Teste de impressão. Caramba, é isso mesmo.
88. Máquina de escrever: Então, deixe-me mostrar como fazer o fio com efeito de máquina de escrever Copie
o documento chamado
máquina de escrever e cole
todo esse código aqui Como você pode ver,
deixei alguns comentários, você entende perfeitamente
como funciona. Você pode mudar o estilo de tudo
a partir daqui. Então, agora não
vai ser nenhum, mas você pode tirar com desfoque
ou onde quiser Vamos para a tela cheia. Deixe-me mostrar o que
está acontecendo aqui. O conteúdo desta máquina de escrever precisa ser alterado a partir daqui Seu texto personalizado fica entre esses dois códigos desse
jeito.
Deixe-me dar uma prévia disso. Então, está digitando isso. Você também pode notar
que a velocidade de digitação não é apenas plana Há uma pequena variação na velocidade de
cada personagem. Isso é algo que eu
coloquei de propósito nesse algoritmo. Se você for até aqui, há um comentário por velocidade granular por
caractere Aqui. Esses números são literalmente a velocidade de
cada caractere. No momento, vai de
um milissegundo para 60. Bem, você pode mudar isso.
Você tem um efeito mais lento. Por exemplo, de 100 a
200 milissegundos, talvez 50,
obviamente, a digitação será mais lenta No geral, uma
característica final de tudo isso é que, se formos
até o final,
você verá outro comentário,
insira o evento de digitação de postagem aqui Isso vai ser muito
poderoso, porque se você inserir onde
quiser nesse espaço, poderá fazer
algo acontecer somente quando essa digitação for concluída Então, exatamente depois de terminar, digamos que mostramos um gancho. Fora de tudo isso, colocamos um gancho. Então, aqui, gancho um, e então dizemos terminado. Então, agora, se visualizarmos isso, veremos como concluído
somente quando estiver pronto. Viu o que tinha acabado de acontecer? Então essa é a beleza
de tudo isso. E, obviamente, como você pode ver, isso é um código muito grande, então você pode simplesmente compactá-lo em uma macro personalizada. Agora que
você sabe como fazer isso, você pode realmente copiar tudo isso e compactá-lo
em uma única palavra E se você está se perguntando como
alterar o
conteúdo dinamicamente, você pode realmente fazer
isso apenas usando um mapa de dados ou TH. Onde queremos? Basta alterá-lo aqui. Então,
defina o texto da máquina de escrever uma segunda variável para
que possamos usar como índice, certo? Então, pode ser, digamos, texto, índice, por exemplo, de, e aqui, basta criar seu
mapa de dados com pares de valores. Essa é uma solução
para tornar isso dinâmico. Ou você pode usar o NTH como eu disse, NTH, essa é a solução Então, literalmente, não há limite.
89. Exibição (macros personalizadas 2): Uma alternativa válida ao
uso de macros personalizadas, C apenas dedica uma passagem
à máquina de escrever Nós o chamamos de teste semelhante. Recorte e cole na máquina de
escrever e, em
primeiro lugar, você poderá liberar
sua passagem principal do antigo trecho de Você ainda pode usar a
máquina de escrever nesta passagem, usando uma macro fantástica
chamada display type display Em seguida, nomeie
exatamente a passagem que você deseja hospedar
nessa passagem, e ela
acionará automaticamente seu código. Apenas com esse
truque, será realmente o mesmo que se o código estivesse
aqui em primeiro lugar. Deixe-me mostrar. Assim mesmo. Você pode se tornar ainda mais poderoso simplesmente fazendo com que
isso se torne uma variável, para que você possa usar
a mesma tela, talvez dentro de um bom
gancho como este. Assim, você pode
executá-la novamente com essa variável atualizada com um novo nome e Lully reutilizá-la quantas
vezes quiser, para exibir Ao combinar
macros personalizadas com exibição, você pode ter um
código geral mais limpo, obviamente
90. Faça um cronômetro!: O que acontece às vezes
é que você precisa ser capaz de medir tempo
absoluto em seu jogo ou realmente exibir algum tipo
de cronômetro em tempo real Para fazer isso, precisamos
ter algum tipo de relógio que apenas
acumule números ao longo do tempo Em primeiro lugar,
vamos chamar isso de tempo bruto. Basta ir aqui. Hora crua, mastigue oito mais um. E então colocamos isso
dentro do ruído ao vivo. Em teoria, isso
acabará sendo 1 segundo. Então esse vai ser o relógio. Mas, por enquanto,
vamos fazer isso muito rápido para que possamos experimentar isso
muito rápido. Então, vamos encapsular
tudo isso dentro de um live. Então, a primeira coisa que
vai acontecer é que o tempo, o tempo bruto,
vai aumentar. Então, vamos também
criar variáveis, uma para os segundos e
outra para os minutos. Defina segundos, dois, tempo bruto. E a seguir
estão as novas operações chamadas modulo exatamente
assim. Módulo 60 Então, quando você usa o
módulo fundamentalmente, você restringe
esse número a esse intervalo,
o que significa que mesmo que esse
número aumente acima de 60, ele reiniciará
automaticamente de 0 a Esse é o truque. Você
redimensiona automaticamente um número acumulado em um intervalo específico que Esse é exatamente o comportamento
que queremos para o segundo. Então, vai de 0 a 59. Depois, basta criar os minutos. Os minutos,
fundamentalmente, terão
o mesmo comportamento Chamamos a nova
variável de minutos. Tho. Desta vez, usamos o tempo
bruto dividido por
60 a a cada 60 segundos, vamos criar um minuto. Mas, para evitar problemas, obviamente, precisamos
arredondar esse número. Nós encapsulamos essa divisão
dentro de um belo piso. Basta olhar para isso, certo. E então só precisamos imprimir minutos mais segundos. Acabamos de converter
essas duas cordas e agora poderemos ter
algum espaço para entender completamente o que está acontecendo Tudo bem. Então, vemos os segundos ocorrendo exatamente como deveriam, e estamos contando os minutos. Então, se você quiser ir
um pouco mais do que isso, você pode fazer o seguinte.
Deixe-me te mostrar uma coisa. Se você ver agora,
quando temos menos de dez anos, temos apenas um personagem, e isso cria uma pequena mudança para frente e para trás na coisa toda,
o que pode ser irritante, certo? Para usar uma maneira de
corrigir isso usando uma técnica chamada espaçamento mono Altere, em primeiro lugar,
dentro
da impressão o nome dessas duas
variáveis adicionando dois. Então, minutos dois e segundos. Em seguida, criamos algum espaço aqui e inserimos um
conjunto de verificação
adicional de acordo com a condição. Se os segundos forem menores que dez, então ele tem apenas um caractere, nós o convertemos em uma string. Então SDR e aqui
dentro das aspas, nós apenas digitamos zero e
a própria variável. Então, segundos, sem mais nem menos. Já em todos os
outros casos, segundos
, copiamos
tudo e podemos aplicar a mesma coisa
aos minutos, certo? Agora, em teoria, deveríamos ter o cronômetro perfeitamente espaçado em mono. Vamos tentar. Puf.
Você vê? Sem salto.
91. Salve o progresso do carregamento: se você
quiser salvar e carregar estados
anteriores do seu jogo, use essa nova macro
chamada salvar jogo. Então, acabamos de criar um novo botão. No interior, usamos o save game. E aqui você só precisa
especificar uma ou duas coisas. Em primeiro lugar, o nome
do slot pode ser o nome do jogador ou apenas uma letra como essa ou
um número onde você quiser. Então, basta chamá-lo de jogador um. Então você pode simplesmente
usá-lo assim. Ou você pode especificar a
segunda sequência com uma indicação contextual de
onde você salvou no jogo Então, por exemplo,
estamos no primeiro
e, em seguida, criamos um segundo botão para carregar
nesse local mais tarde no jogo. Então, apenas alteramos
a macro para carregar, também o botão,
e removemos isso. Então, só queremos
carregar esse slot. Na outra passagem, coloquei uma macro final
aqui, jogos salvos, que imprimirá automaticamente todos os
slots usados atualmente com seus próprios nomes. Assim, você pode consultar
quais lotes são gratuitos, quais lotes estão sendo usados. Você pode salvar quantos
lotes quiser. O único limite é
a memória do navegador. Vá aqui, teste. Ok, então agora temos
esse número um. Temos todos esses
lotes sendo usados. Número dois, vamos
fazer esse aumento. Então, por exemplo, agora economizamos. Economizamos enquanto o dinheiro está em três e também fizemos cinco voltas, o que significa que
já
fomos e
voltamos cinco vezes. Então, salve. Então continuamos
com nosso jogo. Como você pode ver, nosso slot já
está sendo usado. O primeiro jogador já está sendo salvo com o
Forest One. Tudo bem, então continuamos,
continuamos até que queiramos que você restaure um
estado anterior do jogo Tudo o que precisamos fazer
é pressionar carregar e instantaneamente
voltamos para três, e os termos voltaram para cinco. Portanto, o slot também
lembrará o número exato de vezes que visitamos
cada passagem. Então, é muito preciso. Tenha cuidado, pois se você limpar os cookies
do seu navegador, perderá também todos os slots de
salvamento que ocupou. Isso não é verdade caso você
lance o jogo
completamente offline. Então, nesse caso, você está seguro, mas tenha cuidado caso
jogue totalmente online. E, finalmente, algo
que eu
recomendo fortemente é realmente
integrar uma verificação dupla que confirme que o jogador realmente salvou com sucesso,
pois há casos
específicos em que
algo pode
dar errado e o navegador pode
ter problemas para salvar o jogo Então, nesse caso,
queremos que o jogador saiba sobre esse incidente. Então, para fazer isso, basta integrar
o save em um if como esse, colocar Lully, tudo isso
em uma condição if Como resultado, caso ele salve o jogo
corretamente, apenas
exibimos alguma mensagem de
confirmação salva. Caso contrário,
retornaremos a mensagem de erro. Então Lully apenas digite, Oh, não. Eu recomendo fortemente que você sempre integre os salvamentos em
algum tipo de caso como esse. Então, agora, se testarmos e economizarmos. Nossa, nesse caso, você acabou de
trazer de volta uma boa verdade, que significa que
foi salva corretamente Então, agora, se
voltarmos aqui, ainda teremos um jogo salvo corretamente, e pronto.
92. Punchos musicais: Tudo bem, então vamos falar
sobre ferrões de áudio. Fundamentalmente, quando você toca uma primeira faixa em
barbante como essa, vamos chamá-la de faixa A. E então você quer
fazer a transição para uma próxima faixa completa, porque
talvez algo tenha mudado no jogo e você queira
enfatizar o
fato de ter entrado em um estado
diferente no Queremos acionar imediatamente
uma faixa diferente. Vamos chamá-la de
faixa B assim. Normalmente, como você pode ver, há uma
mudança instantânea porque você não tem como
fazer a transição sem problemas. Sim, você pode usar algum tipo de cross fades para
torná-lo um pouco mais suave, mas nunca será exatamente
tão suave quanto você deseja, a
menos que você use algo
chamado Stingers são exatamente
uma peça de áudio que você toca simultaneamente
no final
da faixa A , dessa forma, para
ter uma
transição mais suave para a Faixa B. Então é exatamente aí que você
simplesmente incorpora Assim que você souber que vamos
entrar na faixa B, começamos a acionar o stinger que tocará ao
mesmo tempo Agora, existem dois
tipos principais de ferrões. Existem os não musicais e
os musicais. Os stingers não musicais são
muito fáceis de integrar. Você só precisa integrar
algum tipo de som “oh na hora de acionar
o botão para ir para a faixa B, e pode
ser o que você quiser. Pode ser como um som de shooh ou um clique ou
algum tipo de ruído que enfatize
o fato de que vamos
entrar em um próximo
estado do jogo Isso é muito fácil de fazer. Em vez disso, é muito diferente se quisermos fazer com que o stinger realmente combine musicalmente
com a Se você aprender a fazer isso, poderá fazer o que
quiser para tornar sua experiência extremamente
mais interessante. Portanto, o primeiro passo para tornar isso possível é
preparar os loops Então você precisa preparar o laço
principal e o ferrão. Esses dois precisam começar exatamente no início da barra
da barra de música. 90% da música toca em quatro batidas por compasso.
Então é assim. Um, dois, três, quatro, um, dois, três, quatro,
o tempo todo, assim. Fundamentalmente, queremos que os loops comecem exatamente em um Portanto, precisamos que o áudio comece imediatamente, assim .
Isso é
muito importante. A segunda coisa é que o loop principal não
precisa ser extremamente longo. Então, idealmente, 30 a 40
segundos é o ponto ideal. Tente torná-lo o mais curto
possível para que você possa
reativá-lo. Portanto, você não precisa
durar 30 minutos. Caso contrário, o sistema
começará a se espalhar por todo o lado. Vamos aqui, primeiro de
tudo, o loop principal no qual
vamos
integrar o stinger Tudo bem, e então reinicie. Então, agora, deixe-me
ouvir esse ferrão. Solo, vamos embora. Tudo bem, mais uma
vez. Vamos. Então você tem uma ideia do
que vamos fazer. Vamos
integrar um sistema que acionará essa
peça de áudio, não apenas quando quisermos,
mas também exatamente no momento certo com uma das
barras dessa faixa principal. Portanto, não começará aleatoriamente. Isso não interromperá a faixa
principal de repente. Ele só fará a transição
a tempo com a barra. próximo passo é calcular exatamente a duração de uma
batida da música do loop. Se você já conhece
alguns softwares como QBs ou o Ableton Live FL Studio, você já sabe como fazer isso Mas caso não o faça, basta usar essa
ferramenta aqui chamada tune bat.com Lyser Dragon e soltar o
loop no espaço Espere alguns segundos e ele
lhe dirá instantaneamente o BPM desse loop Então eu sei que, pessoalmente, quando eu criei esse loop estava em 180 BPM, então eu
vou usar isso Mas desde que forneça
um número par como esse, que é exatamente a metade. Nesse caso, 90. É perfeito. Portanto, você pode simplesmente usar isso ou dobrar, caso
queira uma medida mais rápida. Mas, fundamentalmente, essa é
a maneira mais fácil de fazer isso. Com esse conhecimento,
precisamos calcular
a duração absoluta
de uma única batida. Nesse caso, eu sei que
fiz o loop em 100 BPM, que significa que 60
segundos são em 1 minuto Podemos simplesmente dividir 60
pelo BPM que você vê,
180, e obtemos duração absoluta e
os
segundos de uma única batida Esse número é extremamente importante para que
esse sistema funcione. Copie os primeiros dez dígitos
para um, três, nove, dez. Haverá o
suficiente. Ok, primeiro de tudo, basta criar um
botão de ruído chamado play. E aqui tocamos a faixa principal. Então, basta rastrear. Sabemos
disso neste momento. Loop principal, toque quando possível. Então, imediatamente depois de
começarmos a fazer o relógio musical, comece com
a faixa principal juntos. Então, imediatamente depois de
começarmos um bom show. E aqui, vamos usar o número que calculamos. Se você se lembra, foi
0,10 três, então segundos. Realmente importante. Essa é a
duração de uma única batida. Então, ele vai fazer um, dois, três, quatro, um,
dois, três, quatro. Podemos usar um operador de módulo. O conjunto supera 28 mais um. Faça mais dois
parênteses como esse. Aqui, do lado de fora,
colocamos um bom ModuFour. Então, vamos
ter quatro números. Isso é exatamente o que queremos. E, finalmente,
vamos compensar isso. Criamos uma segunda variável, set beat duas batidas mais uma Apenas para exibir exatamente
um, dois, três, quatro, mas do ponto de vista da eficiência, você pode simplesmente evitar essa etapa, mas para deixá-la mais clara por
enquanto, vamos apenas compensá-la Tudo bem, agora só para verificar o que temos,
imprimir, bater dois, ver o que tem
até agora. Pronto? Vá. Você vê o que está
acontecendo? Esse número aqui está exatamente na hora certa, música. Por que você não? Por que você não? Por que você não faz isso em quatro? Exatamente na hora certa.
Continue. Continue. Então, como você pode imaginar, podemos
usar o fato de que agora o Twine está perfeitamente ciente da
hora da música para acionar, para sincronizar perfeitamente
outra peça de áudio para
sair dessa Essa é a beleza
dos cantores musicais, e agora estamos prontos
para a segunda etapa A melhor maneira de integrar o stinger agora é
criar, antes de tudo, um bom botão Então, aqui, fazemos com que a faixa principal desapareça
assim em cerca de , digamos, 0,5 segundos, até zero, assim Essa é a questão. Imediatamente
depois de recebermos um gatilho , o ferrão chamou stinger,
uma jogada como essa Neste momento, vai
interromper a música aleatoriamente. Então não é isso que queremos. Para fazer o stinger
entrar exatamente
no início de qualquer
barra do loop principal, basta
acioná-lo exatamente quando o beat two estiver em um.
Esse é o caminho. Então, para criar um sistema que espera
automaticamente
que esse número chegue, use um evento. Então
, vamos até aqui. Quando Bs é um, seja, exatamente o
início de uma nova barra, acionamos esse evento dessa forma. Quando pressionamos, apenas
diremos ao evento que comece a ficar atento e espere automaticamente que
o evento chegue, e só então ele fará esse evento ocorra
automaticamente. Deixe-me mostrar o que
temos até agora. Tudo bem, prato. Agora vou apertar o botão
Encerrar. Tenha cuidado. Tudo bem, certo, certo. Estamos
começando a chegar lá. Mas, antes de tudo, para
torná-lo mais satisfatório,
podemos colocar um som adicional em camadas no exato momento em que pressionamos Então, exatamente quando clicamos, queremos que alguns cliques coloquem camadas e ocultem ainda
mais a transição Então, usamos apenas Click
e também door. Experimente agora. Pronto? Vá. Você notou
isso? Quando eu clico, ele também aciona
um som adicional para ocultar a transição.
Vamos fazer isso de novo. Não, oh, tudo bem. Tudo bem. Você provavelmente percebe que ainda há um problema. Se eu pressionar acidentalmente e
quando já estiver em um, isso meio que
interromperá a música. Portanto, queremos que você adicione uma
verificação adicional para garantir que ela só seja acionada quando
uma nem mesmo for inserida. Então, para fazer isso, insira
fundamentalmente o primeiro evento dentro de outro evento que vai esperar pelo
número quatro desta vez Assim, acabamos de adicionar
um novo colchete, então dois dançam um
dentro do outro Dessa forma, certifique-se de que
ele acionará um quando estiver novo e não
quando já estiver iniciado. Agora, fundamentalmente,
mesmo que eu clique e exiba uma, ela aguardará todo o resto da barra para
acionar o ferrão Então, vamos adicionar
um comentário aqui. Isso evita o
acionamento no meio. Isso é o que ele faz. Agora é só
testar com todas essas correções. Agora vou
pressioná-lo de
propósito para mostrar que ele ainda não
interromperá a música, mas esperará
o resto da barra
antes de entrar no
stinger. Deixe-me te mostrar. Viu o que aconteceu? Tudo bem. Você sabe E você pode tornar isso ainda
melhor simplesmente colocando um som adicional quando o ferrão
real é acionado Tudo bem. Sim, este é
meu presente para você. Norbalytwine,
não seria possível fazer isso Mas agora você sabe
como fazer isso.
93. Mudanças de monitor (digitando o sistema de som): Tudo bem, então deixe-me mostrar outra
coisa que
é interessante Suponha que temos
essa caixa de entrada aqui. E queremos que você tenha
uma maneira de atribuir
sons do teclado sempre que clicarmos em
qualquer tecla do teclado. Certo. Então, agora está completamente
silencioso, o que é chato. Então, vamos torná-lo
mais ao vivo usando o som. O primeiro passo é preparar vários sons
muito curtos. São 16 variações
do mesmo tipo de som. Deixe-me jogá-los apenas
uma vez em sequência. Vamos. Tudo bem, mais
uma vez. R. Então, esses são os 16 sons que
vamos integrar em nosso jogo. Então, em teoria, uma
maneira de fazer isso é obviamente instalar o áudio
Hall
e a ratoeira da biblioteca de áudio Então, isso já está
no Javascript. E crie um vínculo para
cada pressionamento de
tecla possível e, em seguida, vincule-o a um som em um
evento, em um gancho Mas isso, como você pode ouvir, pode ser muito demorado. E também não
resolve o problema de que se usarmos a caixa de entrada Harwey, ela meio que
ignorará temporariamente a entrada lida
pela ratoeira entrada lida
pela Portanto, mesmo fazendo isso, ele ainda não
será capaz de acionar os ganchos
conectados à ratoeira Portanto, precisamos usar uma abordagem
diferente. A maneira de resolver esse
problema é o fato que, quando digitamos alguma coisa aqui, você percebe aqui
o que está acontecendo? A frase variável muda assim que
digitamos alguma coisa. Então, está mudando. Podemos usar isso
a nosso favor. Crie um sistema que acione
sons sempre que essa
variável mudar O primeiro passo é passar por
algum tipo de relógio que monitorará a
variável da frase a qualquer momento. Visto aqui, passe, como você
pode ver, a cada 0,15 segundos. Vamos transformar a
frase dois em uma frase. Então, estamos literalmente clonando a
frase em uma cópia dela mesma. Isso funciona como um monitor. Esse número aqui
muda de acordo com o uso
que você fará
desse sistema. Para digitar sons muito rápidos e sons
curtos, 0,15 é o ponto ideal que
eu pessoalmente encontrei Mas, obviamente,
ajuste isso ao seu gosto quando estiver
usando isso para etapas,
sons, por exemplo,
ou situações semelhantes A consequência é que
agora com isso em vigor, sempre que digitamos algo novo. Teremos um clone da frase aqui que segue
adiante, mas apenas com um pequeno atraso A frase é um pouco mais lenta. Graças a isso, podemos
literalmente saber agora quando frase mudou em comparação com uma
versão ligeiramente anterior de si mesma. Para a segunda etapa, copie exatamente o conteúdo desse
gancho aqui. Digite o som. Então, basta congelar esse quadro, copiar exatamente o que você vê aqui. A forma como funciona
é que você
verá apenas um evento, em primeiro lugar, que é monitorar sempre que frase se torna
diferente da frase. Isso é realmente o que isso
significa. Isso não significa que, sempre que uma frase,
você se torna diferente. Então não é mais o mesmo, acione o conteúdo
desse evento, ou seja,
como você pode reconhecer
apenas o truque de um único tiro, você reproduz um som aleatório da playlist codificada
da máquina de
escrever aqui, que acabei de definir
já nos Aqui, deixe-me mostrar que você tem aqui a definição da playlist
quando iniciamos a máquina de escrever Eu só contém já
os 16 sons que eu já defini mesmo aqui
em toda a passagem da faixa. Já sabemos que
aguente isso neste momento. E também, ajustei o volume da máquina
de escrever aqui, 0,6. Então eu disse, vamos
voltar para a passagem principal. Então, finalmente, o truque final
é executar novamente esse gancho, que ele recarregue o evento e volte
imediatamente para que ele recarregue
o evento e volte
imediatamente a ficar
online para estar ciente de qualquer outra tecla que
pressionarmos Você sabe, uma dica final, que você coloca essa reprise
dentro de um pequeno atraso Porque, fundamentalmente, esse truque
final permite
filtrar alguns
gatilhos extras que podem ser irritantes E dessa forma, a reprodução
ficará muito limpa e precisa Agora, deixe-me
mostrar o resultado final. Então, jogamos All right. Então você pode ver, é
extremamente preciso agora. Essa é a beleza disso. Uau.
94. Considerações finais de exportação: Tudo bem, então vamos supor que seu jogo esteja finalmente
pronto para ser lançado Quando esse momento chegar, você precisará decidir de que
forma lançará o jogo. Há dois caminhos principais. Você pode lançar o jogo
totalmente online desta forma online ou totalmente offline. A principal diferença
entre os dois é que, se você ficar totalmente online, seu jogo será totalmente
representado por um link que as pessoas simplesmente
acessarão e executarão o jogo
no próprio navegador. Já se você
ficar totalmente offline, será mais parecido com um jogo
Steam que as pessoas baixam totalmente em
suas próprias máquinas. Em seguida, execute localmente
na própria máquina. Então, parece
um arquivo que eles
executam localmente usando o desempenho real
de sua máquina. Geralmente, eu recomendo
ficar off-line porque oferece a experiência mais
reativa Portanto, você não tem absolutamente nenhum problema com a
reprodução de mídias,
imagens, vídeos e áudios ao
mesmo tempo Você pode ficar muito louco com elementos de
ação,
sem problema algum. Por outro lado, se você estiver online
para
esse tipo de jogo, isso vai demorar um pouco
mais porque você não sabe se as pessoas
terão problemas com a Internet. Se o seu jogo tem
muitas mídias e
você é forçado a ficar totalmente online, então, nesse caso,
otimize seu jogo o
máximo possível Portanto, torne os arquivos o mais pequenos
possível para que possam ser baixados com menos dados em todos os dispositivos nos quais você os
reproduz. A razão pela qual eu prefiro geralmente estar offline
é que, na verdade, isso torna o fato de
as pessoas baixarem o arquivo executável local um pouco mais pessoal. Essa será
uma consideração que você precisa
levar em consideração. Por outro lado, se eles tiverem
apenas um link, eles ainda permanecerão no navegador. Eles podem se distrair. Então, se você quiser que
o jogo seja o mais reativo e envolvente
possível, fique offline
95. Preparando o jogo: Exporte o jogo de forma prática. Antes de fazermos isso, vamos
explorar essas três passagens. Acabei de preparar a
mini demonstração que contém texto e áudio ao
mesmo tempo. Tudo bem. Então, você vê que esse conjunto está mais próximo
de um projeto real. Portanto, independentemente de você
lançá-lo como um arquivo off-line ou
totalmente on-line, você precisa alterar todas as suas referências de mídia
com caminhos relativos. Certo. Então, se você explorou
o capítulo sobre áudio, você já sabe
sobre isso, certo? Mas caso você pule isso, deixe-me mostrar o
que quero dizer Caso você use vídeos, arquivos
de áudio com um caminho
absoluto como esse, você precisa mudar absolutamente todos esses caras com PADs
relativos Por exemplo, para este arquivo aqui, clique nele para mudar
desse formato para um formato bem mais simples que começa com um ponto
e uma barra invertida, e então fica assim Barra de áudio e, em seguida, o
nome do arquivo real. Essa é a aparência de um
caminho relativo, e você precisa seguir a etapa para todas as mídias
que está usando, sejam
vídeos, áudios, imagens, todas elas precisam estar em
uma pasta simples chamada imagens de áudio e vídeo Então essa é a primeira coisa. Use caminhos relativos
antes de exportar. E então você simplesmente sai daqui para a lista de
todas as histórias, exporta, publica seu jogo aqui, constrói e depois publica no arquivo. E aqui, ele apenas converterá
esse jogo em um arquivo HTML. Isso é basicamente
o jogo inteiro compactado em um único arquivo Em seguida, basta entrar em uma
pasta específica que você escolher e colocar o STML
nessa pasta Em seguida, crie três pastas de
acordo com qualquer
mídia que você usa. E você coloca todos os arquivos que você usa nessas pastas. Tenha cuidado ao usar P
threes e OGGs para áudio, JPEGs para imagens e MP quatros para
vídeos Isso é tudo que você precisa usar.
96. Como exportar versões online: Para. Caso queira que o jogo esteja totalmente
disponível online, você precisa renomear o HTML
para indexar dessa forma Quando você termina com isso, então você tem todas as mídias aqui, o formato, você muda os
caminhos, seus parentes Você precisa apenas
compactar o índice e todas as mídias das pastas
em um arquivo zip Então, basta clicar com o botão direito do mouse e usar qualquer
programa que crie zips. Certifique-se de
que seja um arquivo zip. Faça isso e depois comprima. Esse é o arquivo que
vamos enviar para um site específico chamado HIO.
Então, deixe-me te mostrar. Site totalmente gratuito,
crie uma conta, aqui HIO, acesse seu painel e
crie um novo produto. Criar. Damos um nome, por exemplo, Adventure one. As coisas mais importantes
são as seguintes. Você vai aqui, tipo de projeto. Você escolhe o
que será nesse caso, será um arquivo HTML. Então, fazemos isso e
você seleciona se quer ser pago ou se
vai ser um jogo grátis,
o que você quiser. Por enquanto, basta ir
até aqui, fazer upload de arquivos. Clique duas vezes no arquivo
zip como este. Então você escolhe todas
as outras coisas. Ele poderá ser reproduzido a
partir do navegador. Então vamos
até aqui. Queremos que o jogo esteja
totalmente em tela cheia. Podemos verificar a compatibilidade com dispositivos móveis, mesmo que ela
provavelmente quebre, pelo
menos ela a tornará
ligeiramente visível a partir do celular. Você vai até o fim. Você pode preencher todos os detalhes, pular todas essas partes por enquanto E, finalmente, apenas as seções
de privacidade. Se você quiser que este jogo
seja apenas não listado ou totalmente público,
tudo o que você quiser Então, se você quiser apenas
testá-lo, clique aqui, salve. OK. E então estamos
prontos para testá-lo. Então vamos aqui, corremos. É isso mesmo. Como você
provavelmente notou, nos primeiros segundos em
que iniciamos o jogo, ele ainda estava usando o telefone padrão e o áudio
não começou imediatamente. Isso porque o
pré-carregamento estava ocorrendo. É por isso que, se você
lançar o jogo online, incorpore algum tipo
de tela de carregamento. Assim, você pode forçar o jogador a esperar alguns segundos
com uma barra de carregamento. Dessa forma, em segundo plano, o jogo carregará todas as mídias e também todos
os telefones Essa seria a
maneira de evitar esse minibug no início. Tente otimizar ao
máximo os tamanhos de todas as mídias Onde você terá um pré-carregamento muito
rápido e
será compatível com 99%
de todos os dispositivos.
97. Importar fontes: Se você quer saber se existe
uma maneira de usar automaticamente a fonte desejada
na versão totalmente online,
a resposta é sim. Para fazer isso, adicione essa linha
aqui em nosso CSS. Copie e cole esse
código aqui. É isso mesmo. Fundamentalmente, o que isso faz
é apenas chamar a API dos telefones do Google e
permitir que você use qualquer telefone
desse site, altere esta seção
exatamente com o nome da fonte Então você entra no telefone do Google. Você pesquisa qualquer telefone
que eu queira usar. Então, neste caso, eu escolhi
esse pixel de $0,05, copio o nome daqui
e você cola
nesta seção aqui e sirvo o mesmo nome exato segunda vez aqui em uma família de
fontes como Quando você inicia o jogo online, ele também baixa e
exibe a fonte personalizada real. É por isso que,
logo no primeiro segundo, ele ainda estava usando o padrão, depois baixou
e
atualizou imediatamente todo o
texto da história com o telefone apropriado Você também pode usar vários telefones . Essa é a sua escolha.
98. Como exportar versões offline: Se você quiser que seu jogo fique
disponível offline, bem, a maneira mais fácil seria deixar seu
arquivo de índice assim, onde você pode simplesmente
renomeá-lo naquele momento, entregá-lo como um arquivo zip
que contém as pastas brutas Mas, na verdade, a
desvantagem disso é que
as pessoas podem
ver todo o conteúdo diretamente dessas pastas
de origem Mas, em teoria, você poderia simplesmente
entregar isso quando as pessoas simplesmente iniciassem esse arquivo e ele executado no
navegador desta forma. Então, como você pode ver, está
lá funcionando corretamente. Então essa será a primeira opção
super rápida. Então, se você quiser criar essas pastas em um formato diferente
que as pessoas não consigam acessar com
tanta facilidade, basta usar o chamado wrapper Este é um aplicativo
para Windows, mas também existem
outros para Mac que fazem a mesma coisa. É chamado de wrapper HTML. Isso é chamado de WebTeecutable. Não o carregue e, em seguida, entre em uma boa caixa de areia aqui
e instale-o Assim, pule todas as etapas. Você vai começar a partir daqui. Então, do jeito que funciona,
clique aqui, Bros. Selecione a pasta que
contém o jogo inteiro Não comprimido. Selecione a pasta. Tudo bem, então
vamos para tela cheia. Deixe a maioria dessas
coisas por padrão, mas isso permitirá que
você personalize
detalhadamente a aparência dos
cinco executáveis finais Assim, você pode atribuir suas imagens personalizadas ao
ícone, como você pode ver aqui. Mas se você quiser
ficar simples,
clique aqui configurações de janela, coisas
clássicas. Por exemplo, você quer que o jogo seja janela
redimensionável ou entre em tela
cheia automaticamente Talvez, sim, queiramos que o
jogo seja valorizável. Vamos aqui e, para exportar
as configurações, você escolhe quantos sistemas operacionais essa única compilação
será compatível. Então, talvez você queira um único
arquivo para qualquer sistema. Então, basta marcar
todas essas caixas. Obviamente, quanto mais
verificações você ativar, maior será o arquivo. Então, talvez você queira
fazer um especialista separado por sistema operacional. Então, neste caso, você só quer o
Windows 64 e pronto. Então, aqui você pode
verificar todas as mídias,
pois você pode ver que elas estão sendo detectadas
corretamente Em seguida, você pode escolher a pasta Yput. Então, digamos que eu
vou entrar na área de trabalho. Final, sem mais nem
menos. Selecione a pasta. Tudo bem. Você pode tentar reduzir o tamanho
aumentando o controle deslizante,
mas, por enquanto,
vamos mantê-lo em zero, que tenhamos uma exportação muito rápida E, finalmente, você pode simplesmente
confirmar tudo isso. Então você vai até aqui e exporta. A primeira vez que você fizer
isso, demorará um pouco mais pois ele meio que baixará alguns recursos adicionais para poder fazer isso
em primeiro lugar. Mas então, a partir da segunda
exportação, será instantâneo. Como você pode ver, eu
já baixei, então já está pronto. Então, basta
verificar o que temos. Tudo bem, vamos aqui.
Por fim, temos, novamente, a mesma pasta que contém
a compilação para o Windows 64. Puf. Tudo bem. E o arquivo
em si é esse cara aqui, jogo que você também pode
renomear para Adventure one E, novamente, você pode
personalizar o comportamento
desse arquivo quando as pessoas
clicam duas vezes e
personalizam o ícone, etc Então, vamos começar isso. Puf. Tudo bem. Então,
como você pode ver, podemos mover nosso
jogo em tela cheia. Está tudo aí reativo,
super reativo, pronto? Assim mesmo. Sim. Tudo bem. E caso
as pessoas façam isso, como você pode ver as poses de áudio, elas entram
automaticamente na pose, como sabemos, também podemos mudar
esse comportamento. E é isso. Existem também embalagens
diferentes que fazem esse processo de uma maneira um
pouco diferente Mas essa é uma solução de
fácil acesso. Aqui, não há como
acessar as mídias reais. Portanto, seus arquivos reais estão na verdade, um pouco
mais protegidos.