Transcrições
1. Vídeo promocional - curso de interface: Bem-vindo a estes núcleos Unreal Engine onde juntos aprenderão a construir uma interface de usuário de personagem a partir do zero. Personagem UI está fundando jogos de todos os tipos usados para exibir informações como atributos,
habilidades, pontos de experiência dourada. Oi, eu sou o Sr. WE Andra, veterano da indústria de 12 anos em cinco anos educador da indústria. Este curso dá-lhe todo o conhecimento e know-how para criar telas de menu interativas no Unreal. No final, você terá uma compreensão aprofundada de como criar layout e script e tela, como criar tabelas de dados e até mesmo como criar um sistema de salvamento e carregamento. Este curso é projetado para ser o recurso ideal para novos alunos e profissionais
experientes e criar qualquer tipo de menu interativo. Unreal Engine e todos os ácidos utilizados neste curso são completamente livres. Então, junte-se, aprender este jogo essencial fazer habilidade e tomar um copo enquanto faz isso. Vemo-nos lá dentro.
2. Primer: Bem-vindos, todos bem-vindos. Um projeto primário rápido. Antes de começarmos a sério com este curso, eu só queria dar uma olhada no que estamos fazendo neste curso. Meio que lhe dizer como o curso é estruturado e por que você quer saber como fazer isso. Então o que você está olhando na sua frente agora é essencialmente o nosso projeto acabado. Agora, no final disso, você poderia ter algo que pareça diferente de mim se você escolher ter sua própria opinião sobre o que eu estou prestes a instruí-lo. Você terá a capacidade de tomar algumas liberdades criativas. Agora, eu recomendo que você me acompanhe passo a passo enquanto passamos por isso. Mas uma vez que você começa a se sentir confortável com alguns dos conceitos que eu estou prestes a ensinar. Você tem a habilidade de tomar algumas liberdades criativas, mas apenas uma espiada de um monte de coisas diferentes que vamos cobrir aqui. Vamos aprender como criar uma tela de interface do usuário de personagem. Agora a razão pela qual vamos aprender isso é porque não importa o jogo, tantos gêneros diferentes têm uma versão desta tela. Deixe-me ir ao Google para mostrar exatamente o que quero dizer. Este é um jogo de RPG chamado Star Ocean para eles têm uma tela de interface do usuário de fontes mostram coisas como pontos de quadril e níveis e pontos de experiência, diferentes habilidades e habilidades. remake do Final Fantasy Sete tem algo parecido, certo? Muitos atributos diferentes sobre o personagem são mostrados, bem como diferentes armas e assim por diante. Que tal um jogo de desporto como o Madden Football? Bem, não teria, você sabe, eles têm um monte de informações para exibir sobre personagens. Novamente, como God of War também tem esse tipo de personagem de tela UI exibindo estatísticas e atributos, pontos de experiência. Quanto ouro ou, neste caso, hacks prata que você tem, e que são três, tem uma versão desta tela é bem onde eles mostram coisas como nível, habilidades
diferentes, habilidades, assim por diante e assim por diante. Então isso tem um monte de usos, não importa o jogo que você está criando. Agora vamos falar sobre algumas das coisas que vamos
aprender a fazer neste curso. Primeiro, vamos aprender a criar um layout para uma tela de personagens. Aqui temos coisas como habilidades para ab's um atributos guias que podemos alternar entre. Temos um monte de habilidades diferentes aqui que podemos alternar entre e mostrar informações diferentes dependendo de qual habilidade estamos olhando. E nós podemos até clicar em uma dessas pedras velhas, disparar uma pequena linha V O aqui. Poderíamos exibir coisas como dicas de ferramentas, como aqueles pequenos pop-ups ali mostrando o que esses ícones diferentes são. Temos um medidor de nível ou uma exibição de nível bem aqui, barra de
XP, dinheiro, etc. Agora, na nossa aba Atributos aqui, nós vamos ser capazes de alternar algumas dessas coisas diferentes como eu poderia mudar o nome dele para simplesmente ser cara. Eu tenho diferentes tipos de widgets aqui. Um widget caixa de seleção, widget deslizante aqui, um medidor. Olha para isto. Temos um desses tipos de widgets. Você tem um desses widgets descartados. Muda tante bem ali. Eu até tenho um seletor de cores aqui, que eu estou simplesmente usando para mudar a cor do nosso fundo aqui. E nós vamos ser capazes de alternar entre diferentes personagens. Então, vamos aprender a definir um personagem de usuário, interface de usuário. Nós também vamos aprender como criar tabelas de dados. Toda essa informação que você vê exibida aqui, está sendo retirada de uma tabela de dados que criamos. E só para te dar um pico muito sorrateiro sobre o que isso parece, parece um recurso como este em Unreal. E é aqui que todos os dados vêm de preencher nossa interface de usuário bem aqui. Nós também vamos aprender como criar um sistema básico de salvamento e carregamento para que possamos alterar alguns de nossos atributos de personagem aqui como nosso nome, nome de personagem. E para que da próxima vez que fecharmos este projeto e voltarmos, essas mudanças irão realmente persistir. Ficarão por aqui para que meu personagem não seja mais chamado de Regressado. Você será simplesmente chamado de “cara”. Então é isso que temos reservado para você. Uma última coisa antes de encerrarmos isso, você deve passar por este curso sequencialmente. Aqui está o meu esboço do curso. Estamos atualmente na nossa cartilha do projeto. Passe por todos esses vídeos passo a passo porque eles se
baseiam um no outro se você vai estar pulando por aí, cuidado aluno. Então isso é tudo o que tenho para você no nosso projeto. Vamos começar. No próximo vídeo, nos vemos lá.
3. Faça o download e instale: Então mostre onde você pode ir para baixar e instalar o lançador Epic Games. Por sua através do lançador Epic Games onde baixamos o Unreal Engine. Agora, se você já tem o Unreal Engine instalado e sabe como fazer isso, sinta-se livre para pular este. Este vídeo é estritamente para aqueles que são novinhos em folha para trabalhar com Unreal e não têm idéia de onde começar. Tudo bem, se você é completamente novo, então usando um navegador de sua escolha, basta digitar Unreal Engine.com
na barra de endereço e você deve ver uma tela que se parece com isso. Tenho certeza que em algum momento no futuro isso será mudado um pouco. O que você está procurando nesta tela é um desses botões azuis, ou o botão de começar agora ou o botão de download no canto superior direito. Vou simplesmente clicar em começar agora. E você receberá algumas opções de licenciamento, a licença de publicação
do editor ou a licença do criador de conteúdo. Então, se você está planejando distribuir seu produto para o público em geral, mesmo de graça, a licença de publicação é o caminho a seguir, também diz para desenvolvedores de jogos. Então este é o que queremos. Vamos em frente e selecionar isso. Você será solicitado a fazer login em seguida. Agora, há um monte de maneiras diferentes que você pode fazer login. Então eu vou apenas clicar neste botão de login e você pode ver que você pode entrar com a Epic Games se você não tiver conta, entrar com o Google, assinar com a Apple, qualquer escolha que você quiser. Eu tenho uma conta da Epic Games, então eu vou clicar nessa, mas você entra com qualquer método que você se sentir confortável. Vou simplesmente clicar no login agora porque eu já tenho minha conta criada aqui, mas é claro que você pode se inscrever e criar sua própria conta se você quiser. E a partir daqui, é
claro que eu tenho dois fatores de autenticação. Então deixe-me pausar o vídeo aqui enquanto descubro isso. E lá vamos nós. Eu tenho o meu código depois de ir para o meu e-mail, minha autenticação de dois fatores, eu vou continuar aqui. E agora o que você deve ver acontecendo está no canto inferior esquerdo da sua tela, você deve ver os instaladores da Epic Games começando a ser adicionados. Deixe-me clicar nesta pequena seta aqui. Vamos mostrar na pasta. Tente isso mais uma vez, mostrar na pasta, que você deve ver é que isso foi adicionado à sua pasta de downloads. Agora, a maneira de iniciar esta instalação
do lançador Epic Games é simplesmente clicar duas vezes sobre isso. Vai dizer Preparando para instalar, você vai ver um pequeno pop-up aparecer aqui e não há tempo que não precisamos mais desta caixa. Então eu vou apenas clicar fora disso. Deixe-me minimizar isso. Em seguida, nós minimizamos esta janela deve estar aparecendo aqui em uma vez que sua pasta de downloads e clicou duas vezes neste instalador de jogo épico, o que você deve então ver é a configuração do lançador Epic Games. Você deve clicar no botão Instalar aqui para iniciar esse processo. Agora, eu já fiz isso. Então, isso é apenas para vocês novos usuários fazerem isso. Nós vamos fazer comigo. Não é bom. Então o que eu vou fazer é pausar o vídeo aqui enquanto isso está acontecendo para você e eu vou me juntar a você aqui em apenas um minuto. Tudo bem, e quando a sequência de configuração do lançador da Epic Games terminar, você vai querer criar um atalho para o lançador da Epic Games, seja na sua área de trabalho aqui ou na sua barra de tarefas. maneira tão simples de fazer isso é simplesmente passar baixo da sua área de busca aqui no canto inferior esquerdo. Basta digitar jogos épicos. Encontrará o aplicativo lá. E você pode simplesmente clicar com o botão direito do mouse sobre ele e você pode fixar o seu início aqui, ou isso vai dizer pin na barra de tarefas, mas eu já fiz isso aqui em baixo. Então está perguntando se eu gostaria de desfixá-lo. Então isso é um par de maneiras fáceis lá para criar alguns atalhos para ele. Vou dar um duplo clique no meu lançador Epic Games aqui para ver o que vemos. Agora, apenas um pouco de aviso prévio aqui é que, à medida que os meses e anos rolam, sem dúvida, a Epic Games mudará a interface aqui um pouco. Talvez nós vamos adicionar algumas novas opções de menu e tal. Não tenha medo. Imaginei que esse fluxo permaneceria bastante semelhante nos próximos anos. Então, ao longo do lado esquerdo, temos algumas guias que podemos selecionar. Queremos ter a guia Unreal Engine selecionada aqui. E, em seguida, ao longo do topo, temos diferentes separadores para escolher também. Queremos selecionar esta guia Biblioteca. E é aqui que podemos ir para Adicionar para instalar diferentes versões do Unreal Engine. E a maneira como podemos fazer isso é clicando neste botão amarelo mais. Então, agora o que você vê é que eu tenho algumas versões diferentes do motor instalado de 4.15 a 4.25. Este é um motor vivo que a atualização constantemente. E, em seguida, abaixo, eu tenho alguns projetos que eu criei com diferentes versões do mecanismo ao longo do ano. Então, vamos adicionar a versão mais recente do mecanismo clicando neste botão amarelo. E você verá uma pequena caixa cinza aparecer aqui. E agora, está mostrando que esta é a versão do motor. Eu iria instalá-lo se eu clicar neste botão amarelo. No entanto, se eu clicar neste pequeno triângulo drop-down, eu posso instalar qualquer versão do motor que eu quero ir caminho, caminho de volta. Agora. partir da data de hoje para 0,26 não está pronto para o horário nobre. Eu imaginei um será, quando este curso for lançado, Eu vou ficar bem criando este curso usando uma versão de pré-visualização do motor. Então essa vai ser a minha escolha. Note que quando você estiver adicionando uma versão de motor para este curso, sinta-se livre para usar a versão mais recente do mecanismo deve ser bom. Então eu vou clicar em instalar aqui. E agora vai ser, me avise aqui dizendo que isso é para testes apenas para que você saiba que, você sabe que não está totalmente testado. Pode haver alguns insetos, et cetera, et cetera. Sim, vamos instalá-lo de qualquer maneira, novamente, você pode usar o Unreal Engine quatro a seis, a versão de lançamento real ou uma versão mais recente do mecanismo. Ele vai perguntar qual deve ser o nosso local de instalação? Você pode mudar isso se quiser. Eu vou ficar bem com isso e ter um atalho para isso também. E então agora ele vai iniciar o processo de instalação. Agora, algumas maneiras de rastrear o quão longe estamos neste processo de instalação. Uma é que você vai ver este esboço aqui do logotipo Unreal Engine tipo de preenchimento como ele está fazendo progresso para essas opções de downloads bem aqui. Vai ter um medidor bem aqui que se enche, mostrando quão longe até termos isto completamente instalado. Então, vou pausar o vídeo aqui em breve. Enquanto isso está ocorrendo. Uma última palavra, antes de terminarmos esta instalação, quero voltar ao Chrome aqui. E eu só quero abordar uma preocupação que eu sei que eu vou ficar implacável e cinco vai ser lançado no próximo ano calendário que é 2021. E então, sem dúvida, haverá algumas perguntas como, Bem, qual é o ponto de fazer isso agora no Unreal Engine 4, quando Unreal Engine 5 vai sair, bem, veja isso. Isto é da Unreal Engine. Este não é apenas um outro blog ou algo assim. Eu estive em webinars com pessoal da Epic Games e li aqui em baixo. E o Unreal Engine 5 está sendo projetado com a compatibilidade avançada em mente. Então você pode iniciar o desenvolvimento de próxima geração agora no Unreal Engine versão 4.2c cinco ou posterior, estamos usando 4.2c fix para este projeto e mover seus projetos para Unreal Engine cinco Quando você estiver pronto. Resumindo, o que estamos construindo agora deve estar funcionando bem, trazendo isso para o Unreal 5, o que é ótimo ouvir. Tudo bem, vamos pausar o vídeo aqui. Enquanto isso tudo está terminando. Na verdade, pessoal, isso vai fazer tudo por este vídeo. Vemo-nos na próxima, quando tudo isto estiver instalado.
4. Criação de projetos: Bem-vindos de volta a todos. Neste vídeo, vamos criar nosso projeto Unreal Engine. Agora, durante esse processo, vamos decidir que tipo de projeto gostaríamos de fazer, qual modelo gostaríamos de começar e quais ativos gostaríamos de incluir para começar. Então vamos começar do zero aqui lançando nosso épico, o lançamento de um jogo. Você está desde o início aqui ao longo do lado esquerdo, certifique-se de que você tem Unreal Engine selecionado no topo. Agora vamos nos certificar de que temos a guia Biblioteca selecionada. E lá você pode ver meu Unreal Engine quatro pontos 26x. Esta é a versão de pré-visualização três terminou em paralisação. Agora, há algumas maneiras que podemos lançar Unreal Engine 4 aqui eu posso clicar neste botão de lançamento bem aqui para lançar Unreal Engine 4.2c seis, ou bem aqui com este botão de lançamento, eu posso lançar qualquer versão do motor está listado aqui. Agora, 4.2c três é uma versão mais antiga. Então eu poderia mudar isso clicando
neste pequeno menu suspenso e selecionando Unreal Engine preview. Agora note que quando eu faço isso, eu recebo um pouco de destaque amarelo em torno desta caixa também, apenas para me mostrar qual versão do motor eu estaria lançando Se eu clicar neste botão. Agora não importa se eu clicar neste botão de lançamento ou neste botão de lançamento, eu vou apenas decidir clicar neste. Isso vai nos iniciar no processo de criação do projeto. Agora isto vai levar um pouco de tempo aqui para se abrir. Mas uma vez que o fizermos, teremos a opção de escolher um projeto existente. Aqui podemos ver selecionar ou criar um novo projeto ou escolher um projeto existente. Agora todos estes estão acinzentados porque nenhum deles são criados com motor para o ponto 26x. Eu poderia atualizá-los para o motor 4.2c 6. Mas para os propósitos deste curso, vou selecionar um novo projeto. O nosso vai cair nas categorias de jogos. Então, vamos selecionar que clique em Avançar
e, em seguida, vamos selecionar um modelo. Agora, esses modelos meio que ajudam você a começar,
fornecendo os ativos certos que você precisa imediatamente. Se você está fazendo um jogo de corrida, você pode escolher como um pacote de veículo avançado, et cetera, et cetera, pacote de terceira pessoa. Você sabe, você tem que trazer este homem manequim aqui. Se você quer fazer um scroller lateral, produto de deslocamento lateral 2D, etc, esses são os tipos de projetos que você deseja escolher. Agora, para este, vamos simplesmente ir com a terceira pessoa. Não importa muito, já que vamos trabalhar na criação de uma interface de usuário, mas vamos ser capazes de correr por aí com nossos diferentes personagens selecionados. Vamos ter três deles com os quais vamos brincar. Então, terceira pessoa é quando queremos escolher aqui, clique em Avançar. Agora podemos escolher algumas configurações do projeto, quer queiramos que seja um blueprint ou um projeto C plus, queríamos ser blueprints. Nós não vamos estar codificando em C plus em tudo, mas nós estaremos fazendo um pouco de script com blueprints. Isso é ótimo. A qualidade máxima é boa. Console de desktop está bom. Nós vamos começar um conteúdo, embora eu não acho que nós vamos realmente usá-lo em tudo. Podemos deixar todos esses padrões. Agora, a única coisa que você pode querer mudar aqui é o local da pasta em que você deseja que este projeto seja armazenado. Eu vou salvar que está tudo bem. No entanto, eu vou mudar o nome do meu projeto pelo amor de Deus, por favor mude o nome. Muitos estudantes não fazem isso. Vou simplesmente mudar para ser personagem. Você, eu, agora, se eu fosse colocar um espaço e aqui ele vai gritar com você. Portanto, certifique-se de que você não tem uma interface do usuário de caractere de espaço. E então vamos em frente e clique neste botão verde criar projeto. Agora vai levar um pouco de tempo para Unreal Engine disparar aqui. E saiba que, à medida que você adicionar mais e mais ativos ao seu projeto, levará mais tempo para que o Unreal Engine abra seu projeto. Então alguns alunos gostam de manter seu projeto um pouco leve, não tendo um monte de ativos dentro de seu projeto apenas para que eles sejam editores podem disparar muito mais rapidamente. Você pode ver a porcentagem de carregamento aqui. Estamos 96%. E lá estamos nós. Estamos dentro do Unreal Engine 4. Você pode ver o nome do nosso projeto aqui em cima, personagem UI. Isso é tudo o que queríamos fazer neste. Então, trabalho bem feito. Vamos para o próximo vídeo que vamos
adicionar em alguns pacotes de conteúdo gratuitos, vamos vê-lo lá.
5. Adicione pacotes de conteúdo: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é adicionar alguns pacotes de conteúdo gratuitos ao nosso projeto a partir do mercado de jogos épicos. Agora, você pode passar por todo esse curso sem esses pacotes, mas eu posso altamente, altamente sugerir que você os adicione porque eles são legais, eles são polidos, e eles estão lá disponíveis para nós usarmos de graça. Agora é aqui que paramos no último vídeo aqui dentro do Unreal Engine quatro, eu vou apenas clicar neste botão de dispensar aqui porque eu não quero adicionar nenhum novo plug-ins. Vou minimizar a nossa interface do personagem. E eu vou saltar para os nossos jogos épicos lançar o seu mais uma vez clicando duas vezes sobre isso. Então, novamente, certifique-se de que você tem Unreal Engine selecionado à esquerda. Agora, no topo, vamos chegar à guia Marketplace aqui em apenas um momento, mas eu quero clicar nesta guia Biblioteca para apontar sua atenção para algo aqui. Agora observe na seção Meus projetos agora você verá a interface do usuário do personagem. Este é um projeto que acabamos de criar aqui. Então, se fôssemos fechar o nosso projeto aqui e você quisesse reabri-lo, tudo o que você precisaria fazer é vir à biblioteca Unreal Engine. E na seção Meus Projetos, basta clicar duas vezes sobre isso para que ele seja demitido e carregado. Tudo bem, queremos ir para a guia do mercado agora, porque dentro daqui estão alguns pacotes de conteúdo gratuitos que podemos adicionar ao nosso projeto. Agora há um todo, Deixe-me apenas tela cheia isso aqui. Há um monte de conteúdo do mercado. Isso é tudo o que você pode adicionar em seus projetos. Algumas delas são grátis. Um pouco disso não é algo que você tem que pagar. Só vamos usar recursos grátis aqui. Então é isso que vamos fazer no mercado sob a categoria de casa. Vamos fazer uma busca pelo tapete de par desaparecido, e então eu vou apertar Enter. Agora isso vai reduzi-lo a alguns dos ativos de paragon. Este foi um jogo fracassado pela Epic Games, mas eles foram gentis o suficiente para colocar todos esses ativos no mercado para nós usarmos de graça. Agora, vamos adicionar em vários pacotes. Você está começando com o modelo Regresso. Agora diz UM porque isso já está incluído no meu rascunho deste curso. Queremos adicionar isso ao nosso novo projeto. Então eu vou apenas clicar aqui. E é de alguma forma clicar longe disso. Só não sabemos o que aconteceu lá. Eu cliquei nele e ele simplesmente disparou. Então deixe-me voltar para casa. Eu acho que este é um pouco pouco de somas salpicadas, Eu poderia, Eu provavelmente clicar em Epic Games ali mesmo. Então deixe-me clicar na imagem aqui. Não clique em Epic Games como eu fiz. Clique na imagem de remanência. Não cometa esse erro estúpido. E aqui à direita, ele vai mostrar que são suportadas versões do mecanismo é 4.1a a quatro, pontos a cinco. Estamos trabalhando na pré-visualização 4.2c 6A. Então vamos ver o que acontece aqui quando eu vou para Adicionar ao Projeto. Agora, antes de eu fazer isso, há um monte de ativos diferentes aqui. Claro que há um personagem remanescente, mas há outras coisas como efeitos de partículas e outras coisas aqui dentro. Então eu vou, adiciona um projeto. E bem aqui eu posso rolar para cima e para baixo
para procurar o projeto que eu acabei de criar e eu nomeei meu personagem UI. Esta é a versão de rascunho que eu construí antes do tempo, mas eu não vejo a que eu acabei de criar. E isso é porque se eu disser não adicionar, novamente, isso está mostrando as versões do mecanismo suportadas apenas vai até 4.2c cinco. Então, sempre ferrado. Você é o quê? Bem, não exatamente. Se você se deparar com um cenário como este, você pode ir para Adicionar ao projeto. E aqui em cima está esta caixa de seleção Mostrar todos os projetos. Agora, quando fizermos isso, veremos o personagem que eu apareço. Podemos clicar sobre isso e ele vai dizer ativo não compatível com esta versão,
por favor, selecione a versão alternativa mais próxima. Agora, isso não é inteiramente verdade. Diz que não é compatível, mas em geral, maior parte do tempo tudo vai funcionar bem. Então eu vou apenas escolher a versão mais recente que tinha dito que era compatível com 4.2c cinco. E então eu vou adicionar ao projeto. Agora, quando você me deixar ir frente e clicar neste botão aqui para começar a adicioná-lo. Agora, quando você começar a adicionar isso ao seu projeto, eu estou supondo que jogos épicos vão ter isso atualizado e ter tudo
isso bom e trabalhando com 4.2c 6, você não deveria ter que passar por esse processo que eu acabei de ir. Então isso é só para sua informação também. Então veja isso. Está começando a instalar isso no meu projeto. Agora, se eu voltar para o nosso projeto aqui em baixo, se você clicar neste pequeno botão bem aqui, você pode mostrar ou ocultar o painel Fontes, que é essencialmente o diretório de ativos que você tem nesta coisa conhecida como seu navegador de conteúdo. Agora, quando criamos este projeto, nós o criamos com conteúdo inicial. Esse foi um dos padrões aqui. E se eu clicar nessa pequena seta suspensa, você pode ver que essa pasta de conteúdo inicial tem subpastas dentro dela. Então, há ativos aqui que poderíamos usar para construir um nível aqui. Então, se eu fosse para clicar duas vezes sobre esta pasta prompts começou conteúdo prompts. Temos um monte de recursos diferentes que poderíamos colocar em nossa cena, como uma cadeira e assim por diante. Agora o que está acontecendo aqui de volta no mercado, é instalar isso em nosso projeto. Então, é um pouco de tempo aqui vamos ver algumas pastas aparecendo em nossa guia do navegador de conteúdo. Agora, isso vai demorar um pouco. Então eu vou pausar o vídeo aqui e me juntar a vocês uma vez que como fato no motor. E se você olhar para baixo aqui no Navegador de Conteúdo sobre, em nossos diretórios ou lista de diretórios aqui nós devemos ver a pasta Revenant paragon e há algumas subpastas dentro daqui. Agora, se você não vir nada disso aqui novamente, você pode clicar neste pequeno botão aqui para mostrar ou ocultar o painel Fontes. Então é assim que você pode adicionar pacotes de conteúdo ao seu projeto. Agora, Revenant foi apenas um que nós vamos adicionar alguns vai saltar de volta para o mercado aqui, a loja de jogos épicos, eu apenas cliquei no meu Epic Games Launcher bem aqui, mercado Unreal Engine. E deixe-me em tela cheia de novo. Os outros que eu quero adicionar que eu vou fazer é procurar
mais uma vez na categoria de casa para par tapete gon, vamos agora par Ray, Gun, entrar. E os outros dois personagens de modelo, uh, queria acrescentar. E a razão pela qual eu estou adicionando isso especificamente é porque eu tenho alguma arte adicional para esses personagens. É fazer, fazer, fazer, fazer. E você pode ver que há várias páginas. Então, se você quiser incluir qualquer um desses outros, eles são todos legais. Material é um que eu quero adicionar e o outro que eu quero adicionar é vários cães. Então eu vou apenas orientá-lo sobre como adicionar um desses e, em seguida, você sabe, adicionar o outro. Então milagre aqui e cortar OG bem aqui. Vamos fazer Mariel e então eu deixo você
cortar A-G sozinho e fazer um clique bem ali. Mais uma vez, vou adicionar ao projeto suas versões de motor suportadas dizendo a partir da data de hoje é atualmente até 4.25. Tenho certeza que será estendido se você não vir seu Projeto aqui. E novamente, o meu não está listado. Eu posso clicar neste show todos os projetos. E atualmente eu quero adicionar o meu para 4.2c seis, que está dizendo atualmente, hey, nós não temos esses ativos disponíveis para essas versões do mecanismo. Quem dirá que a versão compatível mais próxima é 4.2c. E nós vamos adicionar ao projeto. E isso vai começar a adicionar o pacote milagre paragon. E agora vá em frente e adicione o Sever Arg um por conta própria também. Novamente, tudo isso vai levar um pouco de tempo, então eu vou pausar o vídeo aqui. E quando tudo isto acabar, vou mostrar-te o que nos resta no final. Em nosso navegador de conteúdo, temos nossos pacotes Muriel Revenant e Sever OG adicionados aos navegadores de conteúdo para que possamos usar esses personagens, bem como alguns outros ativos, alguns ácidos de áudio dentro do lá também. Muito bem, pessoal, isso vai oferecer este vídeo. No próximo vídeo vamos importar mais alguns recursos. Vemo-nos lá.
6. Ativos de importação: Muito bem, bem-vindos de volta a todos. Nesta série de vídeos, queremos começar a definir nossa interface de usuário de personagem. No entanto, para o
fazermos, precisamos de importar mais alguns activos para nos ajudar. Portanto, nosso objetivo neste vídeo é aprender a importar ativos que usaremos ao longo do curso para o nosso editor aqui. Além disso, aprenderemos como criar pastas em nosso navegador de conteúdo aqui e como mover ativos importados para a pasta apropriada. Então, um monte de conhecimento geral aqui que vai ser bom não importa em que projeto você trabalha na estrada. Agora anexado a este curso ou a este vídeo, você deve encontrar um arquivo zip de ativos. Agora, a localização de onde este arquivo zip vai variar um pouco dependendo de qual site você obteve este curso. Mas o arquivo zip que você está procurando é chamado de recursos de interface do usuário de caracteres. Todos os bens que queremos ou dentro daqui. Então é isso que precisamos fazer. Localize onde esse arquivo está. Vamos primeiro, você precisa baixá-lo. Depois de baixá-lo, venha para onde você baixou para o seu vai clicar com o botão direito do mouse nele. Você vai extrair tudo aparecer. Você sabe, pedir-nos para selecionar um destino para extrair os arquivos. Direi que está tudo bem. Isso deve ir bem rápido. E aqui está a nossa pasta com todas as guloseimas do lado interno. Deixe-me sair desta pasta aqui. Recursos de interface do usuário de caracteres Agora isso é dividido em três pastas separadas. Temos uma pasta de dados que tem uma lista. Este vai ser um monte de nossos, nossos atributos para nossos personagens. Temos uma pasta de fontes com alguns arquivos de fonte aqui. E então temos uma pasta de textura com um monte de pastas de textura dentro dela. E só para abrir um desses e mostrar o que temos aqui. Tenho alguns ícones de botões como esse que vamos fazer uso. Então, agora, para importar estes, primeira coisa que eu quero fazer é aqui no nosso navegador de conteúdo, eu vou criar uma nova pasta para colocar todos eles dentro. Então eu vou selecionar nossa pasta de conteúdo raiz aqui, clicando fora do nosso explorador de arquivos lá, eu vou clicar com o botão direito em nossa pasta de conteúdo. Esta é a nossa pasta principal, onde todas as outras pastas vivem. Clique com o botão direito do mouse, vamos criar uma nova pasta. Neste, vamos simplesmente nomear personagem. Você. E eu quero que isso se destaque um pouco. Então algo que eu posso fazer é clicar com o botão direito sobre isso e então eu posso definir uma cor para isso. Agora, eu quero ficar amarelo direto aqui. Então eu vou pegar este pequeno seletor de cores que você pode ver Eu posso arrastá-lo para escolher cores diferentes. Agora, eu quero amarelo direto. Então tudo o que eu vou fazer é pegar meu valor g aqui, fazer que U1 e meu valor r aqui, fazer isso um 1. Agora eu tenho amarelo direto. E se eu quiser salvar essa cor, eu posso simplesmente clicar com o botão esquerdo aqui, arrastá-la até aqui. Então eu não tenho que lembrar esses valores e, em seguida, basta clicar em ácidos OK aqui. Então eu vou voltar para minha pasta aqui. E aqui estão um monte de minhas pastas de textura aqui, eu vou subir um nível. Então agora você pode ver sob o meu personagem você, deixe-me realmente voltar um pouco para cima. Sob os ativos da interface do usuário do personagem, eu tenho uma pasta de dados, uma pasta de fontes e uma pasta de textura. Agora, eu vou ignorar esta pasta de dados por enquanto porque nós não estamos em uma posição onde podemos importar essa. Então vamos adiar isso. No entanto, nossas fontes e nossas texturas, podemos importar sem qualquer dificuldade. Então eu vou manter o controle pressionado e apenas ter certeza que eu tenho minha fonte e minhas pastas de texturas aqui selecionadas. E com ambos selecionados,
e minha pasta de interface do usuário de personagem selecionada aqui, o Navegador de conteúdo. E, novamente, você pode se certificar de que esta pasta é exibida alternando nesse painel de códigos-fonte ali. Isso está mostrando que temos uma pasta vazia aqui agora. Vou apenas clicar com o botão esquerdo e arrastar minhas fontes e pastas de texturas. E uma vez que você vê esse pequeno botão mais lá em baixo no Navegador de conteúdo que mostra que ele está pronto para adicioná-lo. Então eu vou liberar o clique esquerdo. E ele vai perguntar se gostaríamos de adicionar isso ao nosso navegador de conteúdo. Agora ele reconhece que eu tenho alguns arquivos de fonte aqui. Então você gostaria de criar uma nova fonte de ácidos usando o font-face importado como sua fonte padrão. Sim, para todos,
isso está realmente além do escopo do que eu quero chegar neste curso. Então apenas responda sim, todos para esses. E ele reconhece que existem várias fontes que estamos importando aqui. E agora você vê uma tonelada de arquivos adicionados, importados para o nosso navegador de conteúdo. Ótima. Agora temos todos estes destacados aqui de fontes todo o caminho para baixo. E podemos ver em nossa pasta Texturas, temos todas essas pastas que estavam dentro da pasta Texturas. Eu só vou manter pressionada a tecla Control com a fonte selecionada, e então realmente deixe-me manter pressionada a tecla Shift para que eu possa selecionar todos esses no meio. Você poderia apenas controlar clique tão bem como isso. Mas eu vou manter pressionada a tecla Shift, selecionar todos esses no meio. Vou clicar com o botão direito, e vou definir a cor
disto para a minha cor existente que guardei antes do amarelo. A razão pela qual eu estou apenas colorindo esses amarelos porque torna muito mais fácil
para mim identificar estes aqui no navegador de conteúdo. Agora, há algo mais que eu quero fazer com todos os recursos de textura aqui. Agora, muitos desses ativos estão mostrando
uma espécie de fundo preto agora eu estou na pasta Material habilidade. E se eu clicar duas vezes nele, eu posso abrir esse arquivo para realmente dar uma olhada no que isso parece. E o que você vai notar é que realmente deve ter um fundo transparente. Esse tabuleiro de xadrez representa um fundo transparente. Agora, isso deixa muitas pessoas loucas aqui no Navegador de Conteúdo. Vou sair daqui, voltar para a minha conta principal aqui. Isso deixa um monte de pessoas malucas que ele não mostra dessa maneira aqui no Navegador de conteúdo. Bem, há uma maneira de editarmos ativos em massa para que
não tenhamos que editar todos esses arquivos um por um. Como é que fazemos isso? Bem. Eu vou até a minha pasta de texturas raiz bem aqui. E eu vou filtrar por textura. E isso mostrará todos os arquivos de textura dentro de todas essas pastas. E então o que eu posso fazer é selecionar isso. Isso mostra que estamos filtrando por textura. By the way, eu vou selecionar esse arquivo e eu vou manter a tecla shift
pressionada e selecionar este último arquivo. Então pegamos todos eles. Agora com todos estes selecionados, vou clicar com o botão direito do mouse em qualquer um deles. Amarelo representa o seu selecionado. Vou clicar com o botão direito do mouse e, em seguida, o meu menu de Tenho ações de ativos, edições em massa. Onde é edição em massa via matriz de propriedade não em massa, Exportação, edição em massa via matriz de propriedade. Vá em frente e selecione isso. E quando o fizeres, vais trazer esta conta aqui mesmo. Agora. Isso não abriu na parte superior que é abas não abriu em cima. Esta é outra questão que quero mudar para fins de qualidade de vida. Gosto quando abre abas por cima. E o que poderíamos fazer aqui é no nosso grupo de texturas aqui, todos eles já estão selecionados. Estamos procurando mudar uma propriedade,
desculpe, não o grupo de textura. Quero entrar no grupo de nível de detalhe. Queremos alterar a configuração do grupo de textura aqui do mundo para a interface do usuário. Agora com isso feito, vamos ficar sob arquivo. Vamos salvar tudo enquanto estamos aqui. Vamos salvar tudo, cada ácido que adicionamos ao nosso projeto até agora. E agora, quando voltamos ao nosso navegador de conteúdo, você pode ver que todos eles têm o fundo do tabuleiro de xadrez. Aqueles que devem ter o fundo do tabuleiro de xadrez. Alguns deles não o fizeram. Mas porque eles não têm um fundo transparente, mas todos esses outros têm, e é isso que queremos. Isso vai ser uma coisa de qualidade de vida que vai te manter sã. Porque muitas pessoas são enlouquecidas pelo fato de que eles são como, isso deve ser transparente lá atrás, mas não parece que é transparente. Então eu vou desligar este filtro de textura agora mesmo. Então agora vemos todas as nossas pastas dentro de nossa pasta Texturas. Agora, mais algumas informações antes de
embrulharmos este vídeo aqui em nossa pasta Texturas, eu tenho algumas pastas que não vamos realmente fazer uso neste curso, a habilidade conta como pasta, alguns ícones nele. Não vamos usar o personagem da Condessa. Além disso, o personagem escolhe uma pasta de retrato. Eu não estou realmente esperando que vamos fazer uso desses ativos. Por que eles estão aqui? Bem, era uma vez, eu ia fazer uso deles. Mas decidi que bastava, mas decidi deixar o ácido aqui. Então, no caso de você querer usá-los, você é mais do que bem-vindo para fazê-lo. Agora, mais alguns trechos de informação. Primeiro, esses ícones estão todos aparecendo um pouco pequenos aqui, você pode aumentar o tamanho dessas imagens em miniatura mantendo
pressionada a tecla Control e rolando a roda do mouse para aumentar o tamanho dessas imagens em miniatura, o que eu gosto de fazer. Outra dica rápida para você. Tudo o que você percebe antes que quando eu clica duas vezes em um ativo de textura, ele não o abriu imediatamente ao longo da aba superior, ao longo da parte superior da
nossa janela de editor aqui. E acho isso irritante. Se você quiser aliviar esse problema,
o que você pode fazer é entrar em suas preferências do editor. Temos aqui uma guia de preferências do editor. No entanto, se isso sumiu, vamos apenas dizer que a guia não estava lá por padrão, poderíamos vir sob Editar preferências do editor. Aqui é onde você pode encontrar suas preferências de editor. E então aqui na seção de aparência geral, temos este editor ácido aberto locais atualmente definidos como padrão. Você pode escolher onde, como ele se abre. E eu vou escolher para esta, a janela principal, que é dizer aqui em cima é a janela principal. Então, estudando isso para a janela principal, e não há nenhum botão de salvar ou ouvir, ouvir qualquer coisa. Ele só se lembra disso. Agora, se eu tivesse que clicar duas vezes sobre este retrato, condessa ativo vai abrir essa aba ao longo do topo em vez abri-lo algo como este, onde é basicamente uma aba que você tem que pairar em cima. Acho que isso é uma boa economia de tempo em geral. Então deixe-me sair de lá rápido. Mais uma última informação. Eu tenho uma pasta de fontes aqui, e nós vamos estar fazendo uso de alguns desses tipos de fonte diferentes. Talvez você não goste desses tipos de fonte. Então, onde você pode ir para encontrar o seu próprio para importar? Bem, se você for para o Google, eu gostaria de encontrar fontes gratuitas de font.com e 11000 fontes gratuitas. Portanto, há alguns bons sites para encontrar fontes de seu gosto. Muito bem pessoal, isso deve fazer tudo para este vídeo, agora
temos uma série de arquivos de textura e fonte para usar para criar nossa interface de usuário de personagem. Vemo-nos na próxima.
7. Criação de Blueprint de Widget: Bem-vindos de volta a todos. Neste vídeo, nosso
objetivo é criar um tipo de ácido conhecido como
Widget Blueprint. Agora, vai ser que o tipo de ácido funcionará na maior parte desse curso. É aqui que
faremos o layout da interface de usuário do nosso personagem Também
faremos o roteiro, a
maior parte do roteiro, o revestimento da tela
da interface do usuário do nosso
personagem, revestimento da tela
da interface do usuário do nosso
personagem dentro desta ativo. Agora, porém, vamos
começar simplesmente criando esse
ativo do Widget Blueprint e falando sobre as diferentes áreas internas com as quais você
deseja se familiarizar. Este será um curso
rápido e intensivo. Não vamos nos aprofundar muito
em nada agora. Tudo bem, aqui embaixo,
nosso navegador de conteúdo, espero que você veja
todas as suas pastas no lado esquerdo. Se você não fizer isso, novamente, clique neste
pequeno botão aqui para mostrar ou ocultar
o painel de fontes. Vamos
garantir que nossa pasta de interface de
personagem seja
selecionada aqui. E eu vou criar
uma pasta totalmente nova. Então, vou
clicar com o botão direito aqui. Vamos
criar uma nova pasta, e eu vou simplesmente
chamar isso de widgets. E como esta é uma pasta
com a qual vou trabalhar, vou clicar com o botão direito do mouse sobre essa cor definida e
deixá-la amarela. Eu só gosto de colorir todas as pastas nas quais
estou trabalhando. Em seguida, no
lado direito, aqui, vou clicar com o mouse nele, clico com o
botão direito do mouse no menu. Está me dando opções para criar todos os tipos de ativos diferentes. E o que eu quero
criar está categoria de interface
do usuário. E, em seguida, no pequeno
menu suspenso,
queremos criar plantas de widget. Então, quando o fizermos, isso nos
levará a dar um nome a ele. E eu vou chamar esse caractere de sublinhado do
WPP UI e pressionar Enter. Em seguida, vou clicar duas vezes
sobre isso para abri-lo. Tudo bem, então este é o nosso editor de
Widget Blueprint. Bem aqui, bem no meio
da tela, toda
essa área de linha pontilhada, isso é essencialmente
nosso espaço de trabalho. Pense nisso como
sua tela visível que vamos criar. Nossa interface de usuário de personagens. Vamos criar
um monte de textos e imagens, botões e outras coisas. E tudo vai
acontecer nesta área, aqui,
no
canto superior direito
, temos dois modos diferentes em que os projetos de widgets podem ser, e esse é o nosso modo de designer. É aqui que, novamente,
definimos visualmente a aparência de nossa tela
. E então temos esse modo de edição de
gráficos. É aqui que fazemos todos
os scripts para adicionar as várias funcionalidades
à nossa tela. Tudo bem, vamos voltar ao nosso modo de designer e
começar a falar
sobre algumas dessas diferentes
guias que vemos aqui. No canto superior esquerdo, temos o que é conhecido como guia
da paleta. É aqui que você pode encontrar
os vários widgets para arrastar e soltar em sua visualização de
designer aqui. Vamos clicar com o botão esquerdo
e arrastar um botão. E você pode ver como
podemos mover esse botão e
redimensioná-lo, etc. A propósito, estou apenas
usando a roda do mouse aqui para entrar e sair. E aqui estão
vários widgets comumente
usados. Você tem
widgets de imagem, caixa de seleção, barras de
progresso são como medidores, deslizadores de texto são muito comuns. Na verdade, vamos clicar com o botão esquerdo do mouse
e arrastar um widget de texto sobre nossos botões que
temos onde está escrito bloco de texto
em cima do botão. E você tem várias categorias
diferentes de widgets para adicionar ao seu layout de
designer aqui Vamos explorar
muitas delas, mas não todas elas. E você pode ver que eles estão listados em várias categorias aqui. A categoria
de painel tem muitas que usaremos
ao longo deste curso. Agora, abaixo da nossa guia de paleta, aqui temos a hierarquia. Isso mostra a relação
dos widgets entre si. Então, por padrão, quando criamos
esse Widget Blueprint, ele veio com algo conhecido
como widget de painel de tela. Agora, o
widget do painel de tela é essencialmente apenas uma folha em branco onde você pode adicionar outros widgets em cima dela. Agora, o que adicionamos em cima
desse painel de tela, que era um botão, está anexado ao
nosso painel de tela, daí o recuo aqui. E anexado ao nosso
widget de botão está um bloco de texto. Assim, você pode ver que sempre que
há uma indentação, ela mostra um
relacionamento ocorrendo. O bloco de texto está anexado
ao botão. O botão está anexado ao
nosso painel de tela. Agora, abaixo da nossa
hierarquia, aqui temos nossa guia de animação. Isso, em conjunto com
nossa guia Linha do tempo, é onde podemos criar
várias animações de widgets
, como ter textos
piscando em uma tela. Ou talvez você tenha uma imagem
que se move da esquerda para a direita. Ou talvez você tenha uma pontuação que cresce em tamanho ou
oscila muito rápido, esse tipo de coisa,
esse tipo de
coisa pode ser feito nessa região. Editor e
faremos um pouco disso mais tarde no curso. Agora, no
lado direito,
temos algo conhecido
como painel de detalhes. Agora, ele contém todas
as variáveis diferentes que você pode editar sobre qualquer um dos widgets
selecionados aqui. E observe que, ao selecionar widgets
diferentes
aqui na Hierarquia, estou alterando os diferentes
parâmetros que
posso alterar porque todos eles têm seus próprios parâmetros
exclusivos. Agora eu tenho
meu widget de bloco de texto. Selecione-o e você
verá que posso mudar meu texto aqui para ser outra
coisa. Na verdade, vamos mudar isso
para outra coisa. Agora vemos os textos, outra
coisa aparece aqui. Se eu selecionar o botão, posso mudar várias
coisas sobre ele, como seu estilo. Vamos mudar o estilo. Tonalidade normal. Vamos usar um botão amarelo, claro, porque os
botões amarelos são legais. Agora, algo a observar aqui
é que há algumas coisas que você pode editar
imediatamente aqui em nossa guia Designer aqui, como a posição
do nosso botão Posso clicar com o botão esquerdo e
arrastá-lo dessa maneira. No entanto, também posso
mudar sua posição. Aqui embaixo do
meu painel de detalhes
, está mostrando que eu
selecionei o botão. Eu posso mudar a posição. Eu posso
codificar um número aqui, não codificar, mas
definir um número. Vamos colocá-lo em 750. E quando eu pressiono Enter, você pode ver que ele o moveu um pouco
para a direita. Também posso clicar com o botão esquerdo aqui e arrastar para a esquerda e
para a direita para alterar a posição. Assim, muitas
propriedades diferentes podem ser alteradas em
relação a determinados widgets aqui
no painel Detalhes. Agora, no topo, há algumas coisas para as quais
quero chamar sua atenção. E, novamente, não vou
falar sobre todos eles. Um deles é o tamanho da tela. Então, atualmente, temos essencialmente nosso layout de
tamanho de monitor aqui. Na verdade, na parte superior, você
pode ver que isso está em pixels. Então, começando do zero aqui em
cima, indo até quase 2000. Então, isso vai
ser essencialmente 1920 por 1080
de um layout aqui. E você pode ver
que também tem algumas unidades no
lado esquerdo. Se você mover
isso até o fim, verá que o
cursor do meu mouse não é perfeito, mas lá em cima está
exibindo alguns números. Então, cerca de 1080. Na verdade, é 1080. No entanto, você pode alterar o
layout do tamanho da tela porque, novamente, os
jogos são feitos para
diferentes plataformas. Telefones, iPads, monitores, jogos de
computador também. Assim, você pode alterar o tamanho da
tela aqui e terá diferentes layouts de
telefone. Iphone ten, se é para isso que
você está desenvolvendo, você pode ver como é
mais uma paisagem, uma
espécie de layout aqui. Você pode ver que a
proporção aqui embaixo mudou. No entanto, para este, vamos usar
televisores 1080. E você pode ver que nossa
proporção é de 16 por 91920 por 1080. Excelência. Outra coisa que eu só
queria destacar aqui. Novamente, você pode usar
o cursor do mouse para aumentar e diminuir o zoom dessa forma. Se você perder seu lugar e não
tiver ideia de onde está, clique neste botão
aqui
para ampliar e caber, e isso o
levará de volta ao centro. Além disso, quando você está movendo
seus widgets por aqui, deixe-me rolar até o topo aqui você pode
ver minha posição x se mover um pouco enquanto
eu a movo para a esquerda
e para a direita, etc. Podemos definir o
quanto esses widgets quando os
movemos,
mover com esses dois caras
direto para o topo. Isso ativará ou desativará encaixe da grade ao
arrastar objetos. Então, basicamente, isso
vai dizer que sim, eu quero movê-lo para um
determinado número de unidades. Quando eu o movo, arraste-o. Laranja significa ligado. Essa
cor esbranquiçada acinzentada significa desligado. Então, agora está ligado. Em vez de quatro unidades. Vou tornar isso um
pouco mais drástico e dizer 25 unidades. Agora, quando eu mudar isso, primeiro, deixe-me definir isso para
um número fixo como 900. Será mais fácil dizer. Agora, quando eu arrasto isso, você pode ver no painel
Detalhes que ele está movendo 25 unidades por vez. Então aí está. Um
rápido curso intensivo sobre o Widget Blueprint, os diferentes modos, as diferentes guias nas quais trabalhar, etc. Vamos seguir em frente e salvar isso. Queremos salvar essa largura, um botão adicionado ao nosso
Widget Blueprint. Isso não precisa ser
nada sofisticado agora. Você pode dimensioná-lo para ser
o que quiser agora. Basta ter um botão com alguns textos porque queremos ter algo para
mostrar em breve aqui. Então, mais uma vez, vá
em frente e economize. E isso vai bastar para esse pessoal, vamos salvar
nosso projeto geral
voltando à nossa guia de mapa em
terceira pessoa aqui. E se você estiver em
Arquivo, Salvar tudo, isso garantirá que todo o
seu projeto,
em todos os ativos, seja salvo. Tudo bem,
isso bastará para tudo isso. Nos vemos na próxima.
8. Exibição de Blueprint: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é fazer com que nosso Widget Blueprint seja exibido em nossa tela sempre que apertamos o botão Reproduzir aqui em nosso editor. Ou seja, queremos que este botão gigante que diz outra
coisa apareça na tela apenas para mostrar que temos algo com o qual estamos trabalhando. Agora, a fim de fazer isso, vamos saltar de volta para o meu exemplo de terceira pessoa, guia de mapa. Eu poderia fazer isso usando este mapa de exemplo que já está preparado para nós. No entanto, sempre que eu estou trabalhando em qualquer tipo de nova funcionalidade, eu geralmente gosto de criar meu próprio nível de teste, então eu vou fazer isso e eu vou
encorajá-lo a ter o hábito de fazer isso sozinho. Então, em primeiro lugar, vou criar uma nova pasta aqui no Navegador de Conteúdo. Então eu vou selecionar nossa pasta de interface do usuário de personagem porque eu queria viver dentro daqui. Vou clicar com o botão direito do mouse em Nova pasta e eu simplesmente vou chamar isso de níveis. E então eu vou colorir aqui clicando com o botão direito do mouse sobre ele. Setcolor. E eu vou fazer isso amarelo é bem, tudo bem, aqui está nossos níveis de interface de usuário de conteúdo caminho. Não temos nada nesta pasta. Vamos mudar isso rapidamente. Então eu vou entrar no menu Arquivo bem aqui no canto superior esquerdo. Vamos criar um novo nível. E quando clicarmos
nisso, ele nos dará a opção de criar alguns tipos diferentes de nível. Hora padrão de Dave, VR, nível básico, vazio. Vou escolher este padrão. Não preciso de nada chique aqui. Eu só quero andar em alguma área para correr por aí. E isso terá alguns desses atores lá para nós, um céu e apenas uma pequena área para correr. E agora temos um nível sem título. Precisamos salvar isso em algum lugar. Então, vou clicar em Salvar atual aqui. E ele vai perguntar, onde você gostaria de guardar isso? Então eu vou navegar para aquela pasta que acabamos de criar, níveis de interface do usuário de caracteres. Podemos ver que não conseguimos nada aqui. E se eu encolher isso só um pouquinho. Então você pode ver que temos a mesma pasta aqui que nós selecionamos aqui em baixo. E eu vou mudar o nome disso para ser LV,
abreviação de personagem de nível UI. E nós vamos salvar isso. E agora o que você vê aqui em baixo é que nós temos caráter, você se deita aqui salvo, assim
como este outro recurso que precisa estar aqui também. Isso é bom. Este é o que realmente diz respeito a um personagem de nível de currículo UI. E você pode ver aqui que o nome da nossa guia mudou para a interface do personagem de nível. Agora, uma coisa que quero fazer aqui, se fechássemos o editor e saltássemos de volta aqui, não nos abriríamos a este nível. Começaria de volta
naquele nível de terceira pessoa que vimos quando criamos o projeto pela primeira vez. Quero mudar isso para que sempre que abrirmos nosso projeto de backup, saltemos direto para este nível. E podemos fazer isso entrando em nosso menu de configurações aqui. Vindo sob as configurações do projeto. E dentro de nossas configurações de projeto, temos essa opção aqui para Mapas e modos. E este mapa de inicialização do editor é o que queríamos que queremos mudar. Este é o mapa que se abrirá sempre que abrirmos no real. Atualmente ele está definido como mapa de exemplo de terceira pessoa. Vamos mudar isso para o nosso novo que é simplesmente chamado, vamos fazer uma busca por ele. Caractere sublinhado Lv. Você. Agora observo que as alterações no mapa
de inicialização do editor não são alteradas para o editor ou um mapa padrão do jogo. E esqueça de fazê-lo para o mapa de inicialização do editor. Você quer configurá-lo para os dois. Isso é bom. Isto é mais para quando ele tem um projeto de pacote bem aqui. O mapa de inicialização do editor é aquele que nos preocupa por enquanto. Então não há nenhum botão de salvamento aqui, qualquer coisa assim. Então, podemos simplesmente fechar fora desta guia. Então, agora, se fôssemos fechar o nosso projeto e abri-lo de volta, ele iria saltar para este script de nível, a fim de fazer nosso Widget Blueprint aparecer na tela assim que apertamos nosso botão Play aqui em cima. A fim de fazer isso, nós vamos criar este script dentro do nosso nível, plantas a vir sob o botão blueprints aqui em cima, clique sobre isso. E aqui você vai abrir um plano de nível. Agora, quando fizermos isso, você verá uma nova guia aparecer aqui na parte superior. Ele também vai dizer nível de caractere sublinhado UI. E tem este pequeno símbolo aqui para mostrar que este é o Plano de Nível. Esta é a área onde podemos conectar alguns nós juntos para fazer alguma funcionalidade aconteceu que é específica para este nível particular. E você pode ver aqui embaixo, isso ajuda a lembrar que você está trabalhando dentro do Level Blueprint. Agora, a fim de fazer isso aparecer na tela, vamos fazer algo muito rápido aqui. Vou clicar com o botão esquerdo do mouse e arrastar em torno deste evento. Vamos apertar a tecla “delete”. Não precisamos disso. Quem quer que estejamos construindo a partir deste nó Begin Play existente aqui. E se você apagou acidentalmente, o que eu vou fazer, você pode manter pressionada a tecla P, P como na tecla Paul e clique com o botão esquerdo para adicionar esse evento começar a jogar. Além disso, se excluíssemos o botão direito do mouse, você poderia encontrá-lo no menu do botão direito do mouse simplesmente digitando Begin Play e há Event Begin Play. Então é assim que você pode encontrar esse nó. Em seguida, vamos arrastar um fio de execução para fora desta versão clique com o botão esquerdo e vamos fazer uma pesquisa para criar widgets. Esse é o cara que estamos procurando. E vai dizer “não construa nenhum “agora. Isso mudará assim que dissermos qual widget criar. Então, se eu clicar aqui, podemos encontrar nossa UI personagem W BP. Então agora ele vai dizer criar Widget WPP personagem UI. No entanto, isso não é suficiente. Precisamos arrastar o nosso valor de retorno aqui. Isto está essencialmente dizendo, OK, o que você quer fazer com seu widget de interface do usuário de personagem? Solte o clique esquerdo e digite add to viewport. Então esta é a função que irá adicionar algo à janela de exibição. Bem, vai adicionar o alvo? Isso é retornar o Widget Blueprint e dizer, hey, essa é a coisa que é um alvo, que é a coisa que queremos adicionar à nossa viewport. Então, se pressionarmos este botão de compilação aqui em cima, isso vai verificar para ter certeza de que nosso script vai ficar bem aqui. Marca de verificação verde significa sim, é bom para ir. Eu iria clicar no botão Salvar bem aqui ao lado para salvar nosso pouco de trabalho aqui. E agora eu poderia clicar no botão de jogo aqui para disparar um jogo. Ou eu poderia saltar de volta para o nosso nível principal aqui clicando no botão play. E o que você verá quando eu fizer isso é certo o suficiente que podemos correr por aí com o nosso personagem e eles estão em nossa tela ou visor, vemos algo mais que o botão aparecer. Agora, algumas coisas que eu quero mudar. Eu vou acertar a fuga para saltar para fora daqui. Nas minhas opções de jogo aqui, há esta pequena lista suspensa. Atualmente eu vou jogar no meu viewport selecionado, que é esta área bem aqui. No entanto, eu gosto de jogar em uma nova janela do editor. Então, se eu verificar que lá podemos ver temos esta nova janela do editor que podemos rodar em torno de. E há o nosso Widget Blueprint mostrando esse texto outra coisa. Agora, isso é tudo para fins acadêmicos agora apenas para fazer isso aparecer na tela outros o caminho certo para obter esta tela exibida durante um jogo. E há uma maneira rápida por enquanto. Escolhemos a maneira rápida, já que tudo o que nos
preocupa neste momento é trabalhar no layout da nossa tela. Agora, mais tarde no curso, vamos nos concentrar em fazer com que esta tela apareça em um momento mais adequado. Diga como quando pressionamos um botão para pausar o jogo, a fim de ver informações sobre o nosso personagem. Então esta é uma maneira rápida de nos ajudar a ver o que estamos prestes a construir. Caras que vão fazer tudo por este vídeo, nos
vemos no próximo.
9. Layout de personagens: Bem-vindos de volta a todos. Bem, estamos a ver as coisas boas agora. Temos o nosso Widget Blueprint aparecendo na tela. Então, vamos realmente começar a definir nossa interface de usuário de personagem. Vamos começar colocando nossa
imagem de personagens e ter seu nome aparecer também. Então vamos entrar em nosso navegador de conteúdo. Encontre sua pasta de widgets, clique duas vezes na interface do usuário do personagem WEP para abri-lo. Se ainda não estiver aberto, eu tenho o meu aberto ao longo do topo aqui, então eu vou navegar até ele. Agora. Temos este botão aqui só para que apareça alguma coisa. Agora. Isto não é algo que quero manter a longo prazo, por isso vou destruir isto. Então, com este botão aqui selecionado e eu estou movendo-o, eu só vou apertar a tecla delete. Boom, se foi, tchau. Nós não vemos isso aqui em nossa visão de designer, e nós não vemos isso aqui em nossa hierarquia também. Vou alterar minhas configurações aqui,
minhas configurações de snap de volta para o padrão aqui de quatro. Só porque isso vai me levar a Betty. Tudo bem, primeiro as coisas, vamos em frente e adicionar uma imagem ao nosso fundo aqui queremos ter algo mais interessante. Então, chegando sob nossa aba de paletas, vamos em frente e arrastar uma imagem como esta para o nosso painel de tela. Você pode ver bem aqui na hierarquia que adicionamos uma imagem e ela está anexada ao nosso painel de tela. Nossos painéis de lona é um contorno azul que você vê bem ali. Agora vou renomear essa imagem, então vou selecioná-la e pressionar F2. Você pode renomeá-lo dessa forma ou com a opção selecionada. Você pode mudar o nome dele aqui em cima também. E eu vou mudar isso para ser imagem sublinhado background. Agora eu quero que esta imagem para preencher todo este espaço de tela aqui. Então, há uma maneira fácil de fazer isso é se eu ficar sob minhas âncoras aqui. E vamos falar mais sobre âncoras daqui a pouco. Vou escolher esta opção de tela cheia. E essas pequenas pétalas de flores, se você mostrar nossos pontos de ancoragem, isso está mostrando que está ancorado na tela cheia, mas esta imagem realmente não parece que ele está ocupado em nossa tela cheia. Mas, no entanto, se mudarmos nossos deslocamentos aqui para ser 0000, já
estamos dizendo essencialmente que queremos que esta imagem ocupe toda a nossa tela, compensando por 0 na esquerda, superior, direita e botão. E novamente, nosso ponto de ancoragem aqui era essa opção de tela cheia. Então essa é uma maneira muito rápida e prática de obter uma imagem para
ocupar todo o seu espaço na tela aqui. Agora esta não é a imagem que eu quero aparecer aqui. Eu não quero algo que é apenas branco plano, então eu vou entrar em nossa seção de aparência. Clique neste pequeno subpincel de triângulo suspenso. E eu tenho uma imagem em mente aqui. Então, se entrarmos nesta categoria de freiras aqui onde não diz nada, você pode clicar neste pequeno menu suspenso. E na nossa Área de Navegação. Vou digitar t sublinhar milhões de telha de fumaça. Agora, se eu passar o mouse sobre isso um minuto, ele mostra o caminho onde esse arquivo de textura em particular é encontrado. Encontra-se no Pentágono reverente conjunto de pastas. E quando eu selecionar isso, você verá algo um pouco mais interessante. Tomar o lugar do que tínhamos aqui antes. Obviamente, isso não parece ótimo agora, mas está tudo bem. Vamos enfeitar. Lá está ele. Está se mostrando muito mais bem agora. Meio branco defumado. E escolhi esta imagem por uma razão. Você vê onde está tudo branco aqui na fumaça. Um pouco mais tarde na linha aqui, nós vamos ser capazes de mudá-lo para que qualquer cor que escolhermos, que será a cor que preenche esta área esfumaçada. Então nem sempre tem que ser branco. Pode ser amarelo, pode ser verde, etc. Então, se você pensar nesta imagem de textura particular como
uma espécie de folha de papel onde preto significa que não podemos ver nada através dela. No entanto, se colocarmos uma folha de papel amarela atrás dela, veríamos amarelo através de todas as áreas de branco. Isso é essencialmente o que vamos procurar. Então pense nisso como um pedaço de papel que colocaríamos em cima
de outra folha de
papel colorida onde todas as áreas de branco aqui representam os buracos que um pedaço de papel colorido seria capaz de mostrar através. Certo, então eu gosto dessa imagem esfumaçada de fundo, muito bem. Basta adicionar um pouco de sabor. Em seguida, vamos adicionar nossa imagem de personagem. Para fazer isso, vou adicionar uma imagem ao nosso designer aqui. No entanto, eu vou fazer isso de uma maneira diferente antes de apenas arrastar e soltar na nossa guia de designer aqui. No entanto, eu vou arrastar e soltar este em cima do nosso painel de tela aqui em nossa hierarquia. E você vê aquela caixa amarela em um painel de lona circulando. Isso significa que esse é o problema. Outro widget que estamos tentando arrastar e soltar isso sobre. Então, quando eu solto meu clique esquerdo, ele mostra que ele adicionou ao painel de tela. Então, mostrando duas maneiras diferentes aqui que você pode adicionar widgets à sua tela aqui. De um jeito, é um arrasto e solte. A outra maneira é arrastá-lo e soltá-lo em outros widgets aqui na sua hierarquia. Agora, é representado por este pequeno quadrado no canto superior esquerdo. No entanto, vamos mudar isso em um momento. As primeiras coisas primeiro. Então vou renomear isso. Neste caso, vou renomeá-lo aqui para imagem de personagem. E esta pequena flor novamente representa um ponto de ancoragem. E novamente, vou descrever isso com mais detalhes aqui em apenas um pouco. Por enquanto, vou mudar meu ponto de ancoragem aqui para ser esse cara aqui, essencialmente essa borda direita da tela. Então, observe como a pétala de flor agora salta para aquela borda da tela. Agora essas posições serão relativas a esses pontos de ancoragem. Então eu vou definir minha posição x, que é a distância esquerda ou direita aqui para ser negativo 900. E eu vou pedir-lhe para jogar junto com esses valores apenas por agora. Você pode mexer com isso mais tarde. A posição y, eu vou mudar para ser cinco dezesseis negativos. Agora, como eu inventei esses valores? Será que estes são valores que eu determinei antes do tempo. Em seguida, eu vou vir sob a nossa imagem de pincel bem aqui. Vou clicar neste menu suspenso. E o trunfo que vou deixar aqui por enquanto é não sublinhar a ressonância. Agora há muitas opções diferentes aqui. O que eu estou procurando é apenas t sublinhar as receitas já que nem todos esses chapéus e outras coisas. E eu não consigo encontrá-lo aqui, então está tudo bem. Vou mostrar-lhe outra maneira fácil de localizar isto e demonstrar como podemos encaixar isto. Então eu vou saltar de volta para a minha guia de interface do personagem de nível. O que eu estou procurando está sob caráter, escolha a pasta completa. Então podemos vir aqui em um navegador de conteúdo. Podemos encontrar o T Full. Esse é o meu erro. Tem a palavra cheia. T. Regressado completo. Vamos nos certificar de que fomos selecionados aqui. E com ele selecionado em amarelo. Vou voltar para o meu Widget Blueprint. E se eu selecionar minha imagem aqui, bem aqui no painel Detalhes, agora
posso clicar neste pequeno botão de seta. Ele usará o ativo que selecionamos no Navegador de conteúdo. Então, clicando nisso, boom, agora temos nosso reverente, personagem
Revenant mostrando no entanto, ele parece tão pequeno, esmagado lá em cima. Isso ocorre porque o nosso tamanho desta imagem em particular é definido para ser um x de 100. Então 100 pixels esquerda e direita no tamanho Y, que é para cima e para baixo de 30 pixels. Isto não é o que queremos. Eu quero dimensionar esta textura em particular para ser o tamanho do nosso ácido real por si só. Se eu saltar de volta para o nosso navegador de conteúdo e passar o mouse sobre isso, você pode ver em minhas ferramentas aparência como as dimensões deste deve ser novecentos, onze cem. E agora, se eu voltar para o meu personagem WPP UI, você vai notar que há esse tamanho para marcar o tamanho da caixa de seleção para conteúdo caixa de seleção. Se eu marcar isso, ele irá agora definir esta imagem para ser o tamanho que esta imagem realmente é 900 por 1100. Portanto, ele está ignorando nosso tamanho x e nossos valores de tamanho Y aqui, e está respeitando o tamanho real que este ativo é. Então, novamente, eu tinha minha posição x e y definido em relação ao meu ponto de ancoragem bem aqui antes do tempo, tentando nos poupar um pouco de tempo. Vamos em frente e salvar isso imediatamente. E agora quero apontar uma coisa antes de avançarmos. Novamente, meu ponto de ancoragem é essa borda direita da tela. Então, agora, se eu clicar em jogar lá, podemos ver nossa janela de jogo. Agora, se você notar, você pode realmente redimensionar janela. Então, se eu meio que agarrei bem aqui, redimensionar, você pode ver como essa imagem está essencialmente ficando ancorada no lado direito da tela, não importa como esmaguemos e esticamos. Está dizendo ancorado ao lado direito da tela. Agora, vou sair daqui. Se eu fosse definir nosso ponto de ancoragem para ser, digamos o lado esquerdo da tela. Você pode ver como esse pequeno ícone de flor é trocado aqui vai agora vamos jogar. Agora, o que acontece se eu mover a borda desta tela? Você pode ver que ele está ancorado na borda esquerda da tela. Mas se eu diminuir esta janela, ele vai embora. Então, é melhor em sua ancoragem para ancorar nesses vários widgets mais próximos da borda da tela onde eles realmente devem viver, onde você quer que eles morem. Então, neste caso, eu quero que o ponto de ancoragem do meu personagem aqui seja esse cara. E novamente, as posições são relativas a esse ponto de ancoragem. Mude para a nossa tela aqui. Então eu vou entrar na seção de paleta, encontrar um widget de texto. Eu sei que queria viver em algum lugar nesta região, então vamos arrastar e soltar em algum lugar por aqui. E só diz que manda Bach bloquear por enquanto. Então vamos em frente e corrigir um monte de detalhes para isso. Começando com, eu quero renomear isso, indo para vir sob o painel Detalhes aqui. E eu vou simplesmente mudar isso para ser o nome sublinhado do texto. E você pode ver como ele está mudando isso na hierarquia também. E eu também vou mudar o texto que aparece aqui em baixo em vez de textblock. Quero que este seja o Regresso. Agora, isso é obviamente muito pequeno em desinteressante. Então vamos mudar um monte de coisas sobre isso para torná-lo mais estilizado em apenas um momento. Mas, em primeiro lugar, o que quero mudar é o ponto de ancoragem. Atualmente, o ponto de ancoragem é o canto superior esquerdo. Quero ancorar isto no canto inferior direito. Então, sob âncoras, vamos escolher essa opção inferior direita. E agora a posição que eu vou estar ancorando, isso vai ser relativo a isso. Esta é essencialmente a posição 00 para estes pontos de ancoragem. Então posição x aqui, eu vou definir isso para ser negativo 390. Então isso é essencialmente negativo 390 a partir deste ponto zero. Então, em vez de x, z, estamos dizendo x negativo 390 negativos não é direção esquerda. E nossa posição y, eu vou definir para ser negativo 145. Novamente, eu predeterminei estes antes do tempo. E eu também vou ter esse tamanho para o conteúdo. Então eu estou dimensionando o conteúdo, que
significa que ele não vai mais respeitar nosso tamanho x e tamanho de y. Está ignorando esses vales. Na verdade, podemos clicar nessas pequenas setas amarelas ou amarelas aqui para definir isso de volta para o padrão, mas não está respeitando estas, ele vai para o tamanho para o conteúdo. Agora, nosso alinhamento aqui, eu vou definir isso para ser 0,5 no X e 0,5 no y. Agora, por que eu estou fazendo isso? Não poderia ter posicionado isso dessa forma? Bem, definindo isso para ser um alinhamento de 0.5.5. Por quê? Mais tarde, o curso, quando permitimos que o usuário altere esse nome, vai garantir que nosso nome permaneça centrado aqui, como centrado quase diretamente em linha com nosso corpo de imagens de personagem. Ok, então isso é tudo bem e bom. Queremos enfeitar o aspecto disto um pouco. Então vamos entrar na seção de aparências aqui. Temos um monte de coisas diferentes com as quais você pode brincar. Vou começar com as fontes. Agora. A font-família aqui eu vou escolher fontes grossas paragon. Este é um que importamos alguns vídeos atrás. O tamanho que eu vou mudar para ser um 135, algo bonito e grande assim. Agora vou adicionar um esboço a isso. Então, sob nossas configurações de contornos, clique no pequeno tamanho do contorno suspenso. Vamos definir isto para três. Agora você pode ver um pouco de um contorno preto em torno dele e você pode mudar a cor do contorno aqui. Então, se você não gosta de preto, você pode clicar sobre isso e mudar para escolher outra cor. Preto é bom para mim. E, em seguida, abaixo, temos algumas, algumas configurações de sombras. Então Shadow se compensa. Clique nesta pequena seta suspensa aqui. Vou definir o deslocamento de sombra para ser deslocado no x por sete. Quando eu acertar
isso, vai mudar as coisas um pouco para a direita. E no Y, eu vou mudar isso para sete. E ele viu que ele muda um pouco, mas nós realmente não vemos nenhuma sombra. Por que não? Bem, isso é porque se clicarmos nesta pequena opção Cor de Sombra, este é um valor de 0, esse é o valor alfa. 0 significa que você não pode vê-lo, é completamente transparente. O valor de um significa que é completamente opaco. Você pode ver que é um, eu posso ver como nossa sombra é deslocada sete pixels para a direita no plano x e sete pixels para baixo no y, o plano y. Então novamente, se você quisesse tornar este semitransparente, você poderia definir isso para um valor de algo como 0,2. E posso ver que está muito gritado. Mal dá para ver. Então um significa que você pode vê-lo na íntegra. 0 significa que você não pode ver nada. Algum valor entre aqui para o a vai
determinar o quão transparente essa sombra realmente é. Tudo bem, então isso está parecendo muito bom agora, novamente, há um monte de configurações que você pode mudar aqui e é realmente fácil se perder com todas as suas diferentes opções aqui. Isto é só para sua informação. Se você vier por baixo deste pequeno ícone de globo ocular aqui, clique bem aqui. Você pode verificar aqui para mostrar apenas propriedades modificadas. E, em seguida, até o painel Detalhes. Ele só vai mostrar as propriedades que você editou. Isso é útil se você quiser apenas ver as propriedades que você realmente afetou. No entanto, no entanto, vou mudar isso de volta para ser descontrolado por enquanto. Além disso, eu queria salientar que aqui na hierarquia, você tem um par de opções para bloquear um determinado widget, bem como para mostrar ou ocultá-lo. Esta será a cena mais fácil se eu selecionar o nosso personagem de imagem aqui. Então, se eu trancar esse personagem e tentar movê-los da esquerda para a direita, eu não posso fazer isso. Em vez disso, peguei meu fundo lá. Deixe-me destrancá-lo. E também com eu tenho este pequeno ícone de globo ocular para alternar a visibilidade de que ligado e desligado. Vamos em frente e salvar isso rapidamente implorou para ver o que vemos. E lá vamos nós. Se eu fosse em tela cheia
isso, é o que temos até agora. Então não é um mau começo e vai acertar fuga para fechar fora daqui. Pessoal, então vai fazer tudo por este vídeo, nos vemos no próximo.
10. Layout de papel de personagem: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar o layout para a seção de funções de nossa interface de usuário de personagem, que é essa área no canto superior esquerdo. E ao fazer isso, vamos aprender a usar outros widgets comuns, que é o widget de caixa horizontal. Agora, novamente, o que você está vendo na sua frente é essencialmente a nossa tela final. Estou no meu projeto de rascunho de interface do usuário. Este é o projeto que eu fiz em preparação para este curso. Então, apenas dando a vocês os rolamentos sobre onde estamos atualmente, nós temos uma imagem, nós temos nosso plano de fundo e nós temos um nome. Então, esta é a área em que vamos estar focando o próximo papel. E você vai notar que enquanto eu estou passando o mouse sobre este pequeno ícone aqui, vemos uma pequena dica de ferramenta nos dizendo o que é esse ícone, o que ele significa essencialmente. Agora, observe qual papel você deseja exibir para o seu jogo. Agora, novamente, poderíamos estar criando este tipo de interface para um RPG jogos, jogos esportivos, jogo de estratégia. E talvez se estivéssemos criando um jogo de RPG, poderíamos ter um papel em alguns ícones para coisas como guerreiro, mago ou ladrão. Pense em um jogo de esportes. Poderíamos ter o papel da palavra aqui e talvez
tenhamos ícones para um quarterback ou um grande receptor ou um kicker. E agora talvez em vez da palavra papel aqui, talvez queiramos ter a palavra facção. Se estamos trabalhando em um jogo de estratégia. E talvez pudéssemos ter ícones para coisas como aliados, nazistas, romanos, alienígenas, o que for. Então isso é muito flexível no que vou mostrar a vocês. E você poderia encaixá-lo para caber em qualquer jogo que você está olhando para fazer. Tudo bem, eu vou sair daqui e eu vou voltar para o nosso projeto. E aqui estamos de volta em nosso projeto de interface do usuário de personagem. Então vamos voltar ao nosso Widget Blueprint e você pode encontrar que
na pasta de widgets de interface de usuário de conteúdo aqui em baixo, clique duas vezes sobre esse cara para abri-lo de volta para
levá-lo de volta ao ponto onde paramos no último vídeo. Agora queríamos adicionar um widget de caixa horizontal que vai atuar como um contêiner para nossos textos de função, bem como o ícone. E queríamos viver nesta área de nossas telas. Então, se olharmos em nossa aba paladar aqui sob a seção comum, não
vemos nada para caixa horizontal. Pode procurar aqui em cima. Vamos apenas digitar na horizontal e você pode ver que está sob a categoria de painel. Então, vamos apenas clicar com o botão esquerdo e arrastar isso para nossa exibição de designer aparecer. E eu quero que isso viva em algum lugar neste pescoço da floresta, então eu vou arrastar e soltar aqui mesmo. Você pode ver que tem o contorno colorido bem ali. E está atualmente ancorado no canto superior esquerdo da tela. É aí que queremos ancorá-lo. Então isso é tudo bem e dandy, vamos em frente e mudar o nome deste widget imediatamente. Vou mudá-lo no painel Detalhes. E eu vou simplesmente mudá-lo para caixa H, sublinhado, rolo, algo assim. E eu tenho algumas coordenadas posicionais que eu quero que isso viva. Vou para a posição x de 20. E, novamente, isso é relativo aos meus pontos de ancoragem. Então ele vai ser 20 pixels, essencialmente da borda esquerda para a direita aqui, movendo-se para fora mais de 20 pixels e a posição y, eu vou definir isso para ser 20 também. Então é 20 pixels sobre o x positivo e 20 pixels para baixo no y. bom. Tudo bem, nós também vamos querer marcar esta caixa para tamanho para conteúdo. A razão pela qual vamos querer marcar esta caixa é porque vamos
adicionar dois widgets dentro desta caixa. Isso vai atuar como o contêiner. E queríamos dimensionar dinamicamente com base nos dois widgets que vamos adicionar a isso em apenas um pouco. Então vá em frente e verifique este tamanho para caixa de conteúdo. Vai torná-lo muito pequeno por enquanto. Mas não se preocupe com isso. Isso vai mudar daqui a pouco. Tudo bem, virando minha página de notas, vamos adicionar um widget de texto a seguir. E obviamente para cima e para o painel do paladar aqui não vemos nada porque estamos procurando por toda a retaguarda. Vamos limpar essa busca. Sob a seção comum, temos um widget de texto. Agora é muito difícil para nós arrastar e soltar isso nesta pequena caixa horizontal. Então, outra maneira que podemos fazer isso é simplesmente arrastá-lo e
soltá-lo em cima de nossa Caixa Horizontal. Antes de fazer isso, quero voltar para a seção do painel
aqui e passar o mouse sobre uma caixa horizontal por apenas um segundo. Porque ele diz com esta dica de ferramenta que este widget, o widget caixa horizontal, permite que muitos filhos. Ou seja, podemos colocar muitos widgets diferentes dentro dele. Muitos, alguns widgets só permitem que você coloque um, alguns permitem muitos. Nós, neste caso, eu só quero adicionar dois, começando com um widget de texto. Então é assim que vamos adicioná-lo. Vamos clicar com o botão esquerdo e arrastá-lo. E vamos arrastá-lo até aqui em nossa hierarquia até que a caixa amarela esteja cercando o rolo da caixa H. Não pode ser assim, só uma fala. Deve estar em torno dele que vai arrastá-lo e soltá-lo e colocá-lo em cima, neste caso, dentro de nossa caixa horizontal. Então eu vou liberar o clique esquerdo agora. E lá podemos ver que está ocupado algum espaço dentro da nossa Caixa Horizontal e não seria,
você sabe, a nossa caixa horizontal dimensionada para o conteúdo. Lembre-se que temos esta caixa de seleção aqui, dimensionar o conteúdo, então ele está atualmente encapsulando nossos textos inteiros. Vamos mudar o nome do nosso widget de texto aqui. Vou fazer isso no painel Detalhes. E eu vou chamar esse papel de sublinhado de texto. Agora isso só mudou o nome do widget. Ele não alterou o texto que é exibido que é alterado aqui onde é textos de conteúdo. Então vamos mudar isso aqui para dizer rolar. Pressione Enter. Certo, e a próxima coisa que quero fazer é mudar o alinhamento vertical. Por aqui. Você pode ver que tem objetos diferentes. Não vamos mudar o alinhamento vertical. Sim, vamos deixar isso em paz por enquanto. Nós só vamos mudar o nome aqui e
vamos mudar algumas áreas nos painéis de aparência. Então vamos mudar a família de fontes imediatamente. Vamos mudar isso para ser. Paragon, fonte grossa. De fato. Em seguida, vamos mudar o tamanho disto para não ser mais de 100, mas 50. Agora isso, você pode obviamente fazer o que quiser. Mas se você quiser jogar exatamente como eu estou fazendo, aqui estão os números que estou colocando em. Eu vou mudar o tamanho do contorno aqui para três porque eu quero ter um traço escuro em torno desse texto. E eu também vou adicionar a sombra a isso. Agora, novamente, se eu fosse perfurar alguns números aqui para o deslocamento de sombra, nós não o veríamos porque nossa cor de sombra atualmente tem um valor alfa de 0, que
significa que vai ser completamente transparente. Vou definir isto para ser ganho imediatamente. E agora, se eu definir um deslocamento de sombra para ser sete no x sete e entrar, você pode ver como ele adiciona uma sombra lá. E então eu vou fazer sete no y.
você pode ver como ele está desativando assim e você não quer
isso,é um pouco demais no Y você pode ver como ele está desativando assim e você não quer
isso, . Eu vou mudar isso de volta para vamos tentar quatro. Sim, algo assim. Gosto de um pouco mais. Também. Vou colorir essa tela inteira do Regresso como nosso espaço reservado. Eventualmente nós vamos fazer isso toda dinâmica para que possamos trocar imagens, nomes, e o que não apenas para fins padrão aqui eu vou mudar isso para ser uma cor avermelhada. Poderíamos escolher a cor aqui. Caso contrário, aqui embaixo sob a cor
da sombra, o valor r significa vermelho. Deixe-me ampliar isso pelo mouse disposto em. Vou mudar meu valor r aqui para um. Lá temos algumas sombras vermelhas para que você possa ver a diferença entre a cor da sombra e o contorno. Tudo bem, virando minha página de notas e a próxima coisa que eu quero fazer é adicionar um widget ou um widget de imagem para ir direito ao lado disso, não apenas qualquer widget no widget de imagem. Então, novamente aqui também, queremos este widget de imagem bem aqui em nossa paleta comum. Queremos que isto entre na nossa Caixa Horizontal. Então, a maneira como vamos fazer isso é clicar com o botão esquerdo e arrastá-lo para
cima da nossa caixa horizontal, assim que o contorno amarelo tem que estar em torno dele. Vou liberar o clique esquerdo. E agora você pode ver uma caixa branca aparecer aqui. Isso é porque ainda não conseguimos uma imagem. Primeiro, vamos selecionar esta imagem e mudar o nome dela. E eu vou mudar isso para ser o papel de sublinhado da imagem. E então o que eu vou fazer é encaixar em uma imagem real. Então, vamos rolar para cima aqui no painel Detalhes em, sob a seção Pincel de aparência. Aqui temos a nossa imagem e eu vou estar à procura um que tem o lutador de texto dentro É agora que importamos quando importamos um monte de texturas. Então vamos em frente e importar isso. E isso é mais ou menos o que parece. Agora, uma coisa que você vai notar aqui é que nosso tamanho de imagem aqui não está realmente alinhado com o nosso papel. Então, o que podemos fazer aqui? Vamos em frente e selecionar nossa função mais uma vez. E nós temos algumas opções de alinhamento vertical aqui. Atualmente ele está configurado para preencher verticalmente para cima e para baixo, apenas indo para preencher o espaço como ele quiser, mas você pode escolher o fundo alinhado verticalmente. Então, se eu escolher
isso , vai abaixar um pouco. O meio vai pô-lo bem ali. E, obviamente, o topo vai colocá-lo em direção ao topo. Agora, eu gosto do fundo alinhado verticalmente para isso porque na verdade eu acho que é um pouco mais direto do que o quinto ícone lá. Agora, você deve ter notado, são lembrados que quando nós realmente vimos o produto final aqui, nós fomos capazes de passar o mouse sobre esta imagem e ver uma dica de ferramenta aparecer, e ele disse um lutador. Então, como podemos fazer isso? Bem, com esta imagem em particular selecionada, se entrarmos no painel Detalhes abaixo de onde diz comportamento, podemos realmente perfurar alguns textos de dicas de ferramenta. Então vou ler isto como lutador. E agora eu só quero terminar este vídeo falando sobre algumas coisas gerais relacionadas ao trabalho com caixas horizontais porque estes são um uso de widget muito comum em blueprints de widget. Número um, observe nosso relacionamento aqui na hierarquia, temos uma caixa horizontal com dois widgets filhos no sinal dele, você pode ver esse recuo ali. Se eu escondesse essa caixa horizontal em particular, ela esconderia tudo o que está preso dentro desta caixa. Da mesma forma, posso mover a caixa inteira atualmente em que tenho a caixa selecionada. Se eu movi isso clicando com o botão esquerdo e arrastando, ele move o conteúdo para o lado dele. Vou colocar isso de volta para onde eu tinha. Eu tinha na posição x de 20 e posição y de 20. Tudo bem, então isso é algo mais a notar. No entanto, você também pode ocultar coisas individuais, como se você só quisesse esconder o papel da Palavra dentro de lá, você também pode fazer isso. Outras coisas a observar aqui é que os widgets filho dentro deles. Existem alguns parâmetros apenas para eles. O que eu quero dizer com isso? Bem, se eu selecionar papel aqui, vamos olhar sobre o painel Detalhes. E nós temos este slot, Horizontal Box, slot conjunto de opções. Estas são opções específicas para algo que é entalhado dentro desta caixa horizontal. Então vamos explorar isso um pouco aqui. Se eu fosse expandir nosso ano de preenchimento, veja o que acontece aqui. Se eu perfurar em um valor para r preenchimento esquerda, digamos um soco e um valor de 50, e depois pressione enter. Como isso tem preenchido 50 pixels de espaço vazio à esquerda do nosso papel de palavra aqui, você poderia fazer isso ao longo do fundo bem e obter alguns resultados realmente funky aqui, 100. E você pode ver como você está começando a movê-lo como você acha melhor. Mas o hobby principal que você quer, clicar nesses botões amarelos aqui vai redefinir isso de volta ao padrão, como eu quero fazer. Então isso é uma coisa a saber. Outra coisa a saber aqui é que você tem esta opção de tamanho embaixo do seu conjunto de opções de caixa horizontal aqui. Agora, atualmente, ele está definido como auto, que significa que ele está indo apenas como uma dica de ferramenta diz, ele só vai solicitar a quantidade de espaço que ele precisa com base nos widgets desejados, um tamanho baseado em como nós dimensioná-lo aqui em baixo, por exemplo, você pode escolher esta opção de preenchimento e, de fato, vou demonstrar isso. Vamos escolher falhar por isso. E então eu vou escolher nosso pequeno ícone aqui e eu vou escolher preencher para isso. Estão programados para ser 1. A inscrição está definida como 1 também. Porque temos dois desses. Se você definir cada um desses de tal forma que eles somam ser 1, isso é essencialmente como
definir uma porcentagem de quanto espaço ele vai ocupar aqui. Então, se eu definir o papel aqui para ser, vamos fazer 0.9. E eu coloquei nosso punho aqui para 0,1. Isso é essencialmente dizer que não estamos olhando para o texto aqui, mas sim as caixas que cercam esses diferentes widgets papel vai essencialmente ocupar cerca de 90% do espaço aqui. Onde está o nosso quinto ano? Este ícone vai ocupar cerca de 10% do espaço. Agora, isso fica um pouco mais complexo. Se você tem mais de dois widgets aqui, ele vai tentar preencher é muito baseado em quão grande este valor é. Mas saiba que por causa da simplicidade, você provavelmente vai querer ir com auto mais frequentemente do que não. Agora outra coisa que eu quero notar aqui é que com este widget específico selecionado, nós temos rolagem selecionada, e aqui eu tenho o ícone selecionado. Você tem algumas flechas para a esquerda e para a direita. Se você quiser trocar em torno da ordem destes dentro da caixa, você pode simplesmente clicar na seta e notar como ele trocou a ordem dele aqui na hierarquia, certo? Então, obviamente, se eu pressionar para a direita aqui, não
há, nada mais aqui para trocá-lo, mas essa é uma maneira muito rápida de trocar em torno itens que você tem dentro de sua caixa horizontal. Noite são Widget Blueprint aqui. Vamos tocar isto para ver o que podemos ver. E eu vou olhar para lá nós temos no canto superior esquerdo, nós temos a palavra papel. Temos este pequeno ícone de peixe. E ao passar o mouse sobre ele, temos a dica de ferramenta que diz que um lutador, Excelente, eu vou apertar a tecla Escape para saltar para fora disso. Vamos continuar rolando. No próximo vídeo, nos vemos lá.
11. Criação de widgets personalizado: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar um widget personalizado. Agora widgets personalizados são ótimos para criar quando você tem algum tipo de elemento de interface do usuário, como um botão, como uma sobreposição, como um ícone que você deseja utilizar em muitas áreas ao longo de seus menus. E bem na sua frente aqui você vê como um estilo de botão que alguém projetou. E talvez isso seja algo que você gostaria de usar de novo e novo em todas as suas interfaces de usuário, suas telas de menu, etc. Você não quer ter que recriar essa coisa uma e outra vez. E é aí que widgets personalizados realmente vêm a calhar. Você apenas meio que constrói a coisa uma vez e então você pode usá-lo em todo o seu sistema de menu. Agora, a razão pela qual temos esse vídeo antes de criarmos nosso layout de afinidades é porque nós vamos criar uma espécie de borda de ícones, se você preferir. E isso vai ser usado na criação de nossas afinidades de caráter estabelecidas. Então bom tempo aqui para mostrar como criar e usar um widget personalizado. Tudo bem, aqui estamos de volta em nosso projeto de interface do personagem. E as primeiras coisas primeiro, vamos entrar em nossa pasta de widgets de interface do usuário de conteúdo. E antes de criarmos um novo ácido aqui, eu quero saltar de volta para a nossa UI personagem WPP muito rapidamente aqui porque eu notei este último vídeo e ele estava me deixando um pouco louco. Percebe como temos essa fumaça branca no fundo agora. Agora isso faz com que seja muito difícil ver nossos textos e nosso ícone aqui. Então isso vai ser muito rápido e simples. Vamos selecionar o fundo da imagem aqui. E mais no painel Detalhes, vamos matizar esta área esfumaçada bem aqui sob a tonalidade de pincel. Vamos escolher este pequeno seletor de cores aqui. E vamos definir isso todo o caminho até vermelho para que você possa meio que matizado para cima e para baixo assim. Vou clicar em OK. E agora isso vai fazer com que este texto e seu ícone se destacem. Muito mais fácil, simples o suficiente, vamos em frente e salvar isso. Agora vamos voltar ao nosso navegador de conteúdo. Aqui estamos novamente em conteúdo UI personagem e widgets. E nós vamos criar um novo widget, blueprints um clique com o botão direito do mouse. Sob o menu do botão direito, temos a interface do usuário na parte inferior. E no menu suspenso, vamos escolher Widget Blueprint. E este, vamos nomear W BP para Widget Blueprint sublinhado afinidade. Vou chamá-lo de botão de afinidade. Mesmo que ele não vai realmente ser botão, você sabe o que eu vou chamar ícone de afinidade. Claro, vamos com isso. Afinidade Wpp Icahn. Tudo bem. E a próxima coisa que vamos fazer é clicar duas vezes sobre isso para abri-lo. Agora você deve ter notado que desde a última vez que criamos um Widget Blueprint, que quando criamos um desses Widget Blueprint, ele vem automaticamente com um widget de painel de tela. Neste caso, nós realmente não queremos um desses, então nós vamos selecionar isso e vamos explodi-lo daqui. Agora, novamente, nosso objetivo aqui é criar algum tipo de widget que pode ser usado uma e outra vez em todas as nossas telas de menu. Eu só vou estar usando isso em nossa interface de usuário de personagem, mas essa é a idéia aqui é que nós estamos apenas criando um layout que não é destinado a ocupar toda a tela. Podemos usar todo esse espaço de tela de aspas aqui. Mas ele vai realmente ocupar apenas é maior do que a área em nossa interface do personagem como queremos que ele. Então vamos voltar para o nosso ícone de afinidade WPP aqui. E a primeira coisa que vamos adicionar é um widget de borda. Está sob a seção comum da paleta, e eu vou apenas arrastá-lo e soltá-lo bem no meio da nossa guia Designer aqui. Ok, boom, ocupa
cada pouco de espaço aqui. O nome Border vai ficar bem. E agora o que vamos querer fazer a seguir é explorar isso um pouco, mas ele vem sob os Detalhes. E na verdade você não vai. Vou ajustar o nome aqui em vez da fronteira 391. Só vou apagar isso. Isso só vai me enlouquecer aqui. Sob a seção de aparência, vamos vir underbrush e vamos explorar isso um pouco mais. Sob a área da imagem. Vamos passar por baixo deste pequeno menu suspenso e eu
vou digitar na verdade, é bem no topo aqui. Quero usar esta textura cinzenta de um a sete. Tudo bem? Normalmente, quando você está usando um widget de borda, eles normalmente se parecem com isso. Agora tudo isso vai ser temporário. Você não tem que continuar com isso porque eu vou destruir isso em apenas um momento. Vamos desenhar isto não como uma imagem, mas como uma fronteira. Agora tudo parece desaparecer. Mas isso é porque a nossa margem aqui está toda definida para dois zeros em toda a linha. Se eu fosse definir isso para algo como 0,2, ele vai definir isso para um valor de 0,2 em toda a linha. Então imagine que agora temos uma espécie de borda Button aqui, e que este é um widget que poderíamos realmente usar dentro de nossa UI personagem w BP. E novamente, ele não necessariamente ocuparia todo este espaço de tela aqui. Poderia ocupar um espaço pequeno se o dimensionássemos assim. Vamos voltar ao nosso ícone de afinidade WPP aqui. Agora, novamente, eu não quero manter este longo prazo, então eu vou apenas destruir tudo o que acabamos de fazer aqui. Então vou começar com a nossa imagem. E em vez de um a sete cinza, vou clicar neste pequeno menu suspenso. E o que eu realmente quero encaixar é t sublinhado ícone. Se eu posso soletrar ícone direito, sublinhar borda. Vai ser este diamante em forma de um. Agora ele está aparecendo como uma série de diamantes em todo o perímetro porque eu tenho que desenhar como borda neste caso, eu realmente quero desenhar isso como uma imagem. Vai parecer um pouco esticado agora, mas tudo bem. Podemos redimensionar isso. O que mais eu quero mudar aqui? Os dois fazem, eu quero mudar as opções de preenchimento? E eu vou mudar isso para um valor de cinco em toda a linha, e isso está sob a área de Conteúdo. Então, se eu digitar cinco anos e pressionar Enter, parece que nada aconteceu aqui, mas eu vou voltar a este em
outro tempo de vídeos para mostrar exatamente o que isso faz. Essencialmente, quando temos isso exibindo um ícone de afinidade, isso vai fornecer o preenchimento branco. Vamos ter um ícone dentro daqui. E este preenchimento de cinco vai essencialmente definir
a área de borda entre a borda de seu diamante e onde o ícone mostra votos para definir isso como 20, nós teríamos uma borda mais espessa. E novamente, vou mostrar isso no próximo vídeo. Agora note, widgets de borda são ótimos não só para adicionar uma borda em torno de algo como uma imagem, eles também nos permitem definir um widget filho no lado dele, que estaremos fazendo quando adicionarmos uma imagem dentro deste no próximo vídeo. Agora, como é que eu sei disto? Se eu colocar o cursor do mouse sobre este widget de borda, ele diz na dica de ferramenta que ele pode conter um único filho. Agora, podemos tornar isso um pouco mais dinâmico não apenas adicionando uma imagem aqui, mas adicionando algo chamado widget de slot de nome. Então eu vou fazer isso agora mesmo aqui sob a seção comum, nós temos este slot nomeado bem aqui. E nós vamos arrastar e soltar isso em cima do nosso widget de fronteira. Agora, este widget em particular atua como uma espécie de widget curinga. O que ele vai fazer é nos habilitar a incorporar outro tipo
de widget dentro deste slot de nome quando fazemos uso dele aqui em nossa UI personagem WPP. E eu sei que isso soa muito confuso e isso realmente não faz muito sentido para você agora, mas eu prometo que vamos pelo menos demonstrar o que isso pode fazer no próximo vídeo. Por enquanto, é tudo o que precisamos. Então vamos em frente e salvar isso. Vamos manter esta aba aberta porque voltaremos a isso no próximo vídeo. Mas pessoal, isso vai fazer tudo por este vídeo. Vamos vê-lo no próximo onde vamos fazer uso deste ícone de afinidade WPP. Vejo você lá.
12. Layout de Affinities de personagem: Bem-vindos de volta a todos. Aqui estou eu no meu rascunho de interface do usuário. Mais uma vez, este é o projeto que eu criei em preparação para este curso para mostrar nosso layout de afinidades. Nosso objetivo neste vídeo é criar esse layout para a nossa versão do projeto. Agora, enquanto isso é um pouco semelhante ao nosso personagem Roll Layout aqui, em que ele usa uma caixa horizontal. Nós estaremos fazendo uso do nosso widget personalizado aqui que fizemos no último vídeo. Muito bem, vamos voltar à nossa versão deste projecto e criar isto. E aqui estamos de volta em nosso projeto de interface do usuário de personagem. Vamos nos certificar de que estamos todos na mesma página vindo sob nossa interface do usuário do personagem de conteúdo, pasta widgets. Eu teria ambos abertos para este vídeo, ícone de afinidade
WPP e UI personagem WPP. Vamos começar na UI de caracteres WEP. Clique duas vezes naquele cara. E vamos pegar um atalho para adicionar um layout de afinidades bem aqui. Agora, antes mesmo de chegarmos a isso, vamos pensar nisso agora. Talvez você não queira exibir afinidades em seu jogo dependendo do gênero de jogo que você está fazendo, talvez você queira exibir outra coisa. Bem, estas podem ser afinidades elementares ou resistências, ou podem ser forças elementares ou fraquezas. Quero dizer, você pode transformar isso como quiser só porque estamos chamando de afinidades, pode
significar outra coisa para o seu jogo. Agora vamos pegar um atalho aqui. Vamos passar por baixo da nossa caixa, rolar bem aqui. E novamente, vamos usar uma Caixa Horizontal para nossa camada de afinidades bem aqui. Então vamos duplicar parte do trabalho que já fizemos aqui em nosso papel de caixa de idade. Bem, podemos fazer é clicar com o botão direito. E vamos duplicar isto. E você pode ver que há uma tecla de atalho, seu controle mais W. Então, ao duplicar isso, você verá que temos caixa H rolar bem aqui. Vamos renomear isso imediatamente. Dois, eu vou bater F2 nisso para renomeá-lo, eu vou chamá-lo de afinidades caixa H. E queremos manter este texto aqui em baixo, mas não esta imagem. Então eu vou pegar essa imagem aqui e apertar excluir. Vamos cortar isso para fora. Vamos lidar com este texto em apenas um pouco, mas vamos escolher nossas afinidades h box porque agora é meio que se sobrepõe a uma regra. Então vamos definir algumas coisas sobre isso. Eu gostei do ponto de ancoragem no canto superior esquerdo, isso é bom e elegante, no entanto, a posição tem que mudar. Vamos mudar a exposição. Posição X para ser 530. Vamos mudar a posição y para 20. Queremos que este tamanho dois conteúdos também. Atualmente não parece estar em linha, mas não se preocupe com isso. Nós vamos, isso vai chegar por aqui até o final. Agora, nós também queremos mudar nosso ano de textos porque atualmente ele diz papel e isso não é confuso. Ele também selecionar o seu widget de texto aqui em baixo. Primeiro, vamos mudar o nome do próprio widget, não o texto real que é exibido, mas o nome do próprio widget. Podemos fazer isso aqui no painel Detalhes. Vamos chamar-lhe afinidades de texto, assim. E agora podemos alterar o texto real que é exibido. Então vamos mudar isso para ser afinidades. Acha que soletrei certo? Sim. Sim. E agora todas as nossas configurações aqui sob a aparência foram copiadas do nosso papel. Então não há nada que precisemos mudar lá. Então esse é o benefício de duplicar parte do trabalho que você já fez. Agora, nós queremos ter alguns ícones aqui, mas eu quero adicionar algum espaço entre nossas afinidades e nossos ícones que são exibidos aqui. Portanto, há algo realmente chamado um widget espaçador que podemos adicionar. Então, sob nosso painel de paladar, vamos realmente procurar por esse espaçador. Lá está sob a categoria primitiva. E eu vou clicar com o botão esquerdo e eu vou arrastar isso para cima de nossas afinidades caixa H. Quero que vivamos dentro da nossa Caixa Horizontal. Então boom, lá está listado como espaçador. Vamos em frente e selecionar isso imediatamente. E é um pequeno pedaço de verde bem ali, verde-azul, o que você quiser chamar, dependendo de quão daltônico como eu você possa ser. E depois vamos chamar isto. Vamos definir o tamanho aqui sob o painel Detalhes para seus espaçadores, você pode definir o tamanho ou o tamanho y. Agora os tamanhos y sendo determinados agora pelo tamanho da própria caixa horizontal, o tamanho x, vamos mudar isso para dez. E assim que eu apertei Enter aqui, note que ele adicionou um pouco de espaço bem ali. E novamente, podemos clicar nestas setas para trocar o posicionamento dos nossos textos aqui e do nosso espaçador. Mas quero que seja assim por enquanto. Em seguida, vamos fazer uso do nosso ícone de afinidade w BP, esse widget personalizado que criamos no último vídeo. Então, onde encontramos isso? Bem, vamos passar por baixo do nosso painel de paleta aqui. E se eu rolar para baixo até a parte inferior, sob uma rolagem criada pelo usuário para baixo, lá vamos nós, W BP, ícone de afinidade. Então vamos arrastar e soltar isso em cima da nossa caixa horizontal também. botão esquerdo. Arraste-o por cima. Certifique-se de que você tem toda aquela caixa amarela em torno de suas afinidades caixa h. Largue bem ali assim. E lá temos o ícone de afinidade WPP. Agora eu quero renomear isso. Vamos adicionar dois dos EUA. Então eu vou renomear isso para ser ícone de afinidade sublinhado 01 e, em seguida, pressione enter seu slot bem abaixo aqui. E eu não vejo isso. Então o que isso significa é que temos que voltar ao nosso ícone de afinidade WEP aqui. E precisamos compilar isso. Depois de compilar, vamos salvá-lo mais uma vez e, em seguida, voltar para a nossa interface de usuário do personagem WPP. Agora podemos ver que temos essa pequena seta suspensa sob W, ícone de afinidade
BP, um um. Se eu expandir isso para fora, agora eu posso ver que temos esse nome é widget slot, então eu esqueci de compilar ícone de afinidade WPP. Trata-se de um passo importante. Note que eu sou myset No último vídeo compilar isso. Salve-o e, em seguida, uma vez que você adicionar ícone de afinidade WPP, nosso widget personalizado aqui, então você vai encontrar o seu slot nomeado. Então olhe para aqui. Temos esse pequeno tipo de borda de diamante que
criamos aqui em nosso ícone de afinidade WPP. Certo? Agora o que podemos fazer é encaixar
alguns, algum outro widget aqui neste slot chamado. E especificamente o que queremos encaixar aqui é um widget de imagem. Mas só para mostrar que poderíamos encaixar e outras coisas, vamos demonstrar outras coisas que você poderia resolvê-lo e você pode encaixar na caixa de seleção. Vamos arrastar e soltar isso em cima do nosso espaço de nomes. Agora você tem uma pequena caixa de seleção aí. Está um pouco desbotada para ver. Vamos apagar isso. Você não tem que seguir junto com isso. Só estou demonstrando. Você poderia pegar algumas mensagens e deixá-las no espaço do nome. E agora você tem algumas mensagens, está sobrepondo tudo isso. Então vamos apagar isso. E o que eu quero realmente colocar neste slot de nome vai ser uma imagem. Então vamos arrastar e soltar uma imagem em cima deste slot de nome. E agora temos quadrado esbranquiçado sobre r, fundo em forma de diamante. E isso é porque nós não temos realmente encaixado no InImage. Primeiras coisas primeiro, vamos, vamos realmente nomear esta imagem. Venha abaixo do painel Detalhes. É bom ser organizado aqui e eu vou chamar essa imagem de sublinhado de finidade. Sublinhado não mais sublinhado 01, assim. E, em seguida, em nosso painel de detalhes sob a seção de aparência, pincel aparência, Vamos clicar neste pequeno drop-down e eu estou procurando t, sublinhado de crescimento de finidade. Você pode encaixá-lo em qualquer um desses que você realmente quiser. Eu vou com as gravações de crescimento. Eu também vou descer aqui um pouco. E sob nosso texto de dica de ferramenta de comportamento, vamos realmente digitar a palavra crescimento, assim. E então o que vamos fazer é duplicar isso. Nós vamos dizer que ele tem duas afinidades aqui, então o crescimento vai ser uma. E vamos facilitar as coisas para si mesma aqui. Nós vamos primeiro duplicar nosso espaçador aqui porque nós vamos querer ter um pouco de espaço entre esses dois ícones. Então eu vou selecionar isso e, em seguida, fazer controle mais W. Você se lembra que é como duplicar controle mais W. Então dentro de controle amarelo mais W vai adicionar um espaçador, mas este não é onde eu quero que ele esteja. Então aqui em nosso layout, eu posso simplesmente dizer, ei, vamos mover isso para a direita. Então, e você pode ver na hierarquia como ele o espaçamento também. Tudo bem, vamos duplicar este ícone de afinidade WPP. Desta vez, eu vou realmente clicar com o botão direito sobre ele. Vamos duplicar isto. E vemos outro ícone aparecer aqui, embora queiramos fazer algumas alterações. Então, primeiro mudar, vamos renomear isso para ícone de afinidade, sublinhado 02. E de novo, é bom ser, bom nomear a sua coisa, algo que você vai se lembrar deles. Este, vamos chamá-lo de imagem de afinidade sublinhado 02. Só para este ícone aqui. Vamos rolar para cima. Vou mudá-lo de crescimento de afinidade para ser, vamos fazer afinidade universal. E, claro, isso significa que vamos querer mudar nossos textos de dica aqui de crescimento para universal. Ok, agora eu queria voltar para nosso ícone de afinidade W BP aqui muito rápido porque você deve se lembrar que nós tínhamos este preenchimento de borda e atualmente é dito ser cinco em toda a linha. Se eu mudasse nosso estofamento aqui para dizer 20. E depois guarde isto. Agora vamos voltar para B,
a para o nosso personagem WPP UI. E eigen precisa compilar e salvar isso. Agora, se eu voltar para o nosso personagem WPP UI, você vai ver como temos uma borda mais espessa. Então era isso que a configuração de preenchimento estava fazendo. Vamos voltar para W, ícone de afinidade BP mais
uma vez porque eu não quero que essa espessura de uma borda. E eu vou ajustá-lo de volta para cinco. Vamos compilar. Vamos salvar. E voltando ao nosso personagem WPP UI, nossa fronteira está de volta ao normal. Agora você vai notar que uma vez que nós temos
nossos, nossos widgets aqui, ícones, tudo está agora em linha apropriadamente no início deste vídeo, afinidades não estavam bem alinhadas horizontalmente ou verticalmente, devo dizer com função. Agora é, tudo bem pessoal, estamos fazendo um excelente, excelente progresso do projeto aqui. Vamos em frente e salvar nossa UI personagem WPP, e vamos manter o impulso rolando. No próximo vídeo, nos vemos lá.
13. Layout de status de personagem: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar o layout para a seção de status de nossa UI de personagem, que é nosso nível, nossa quantidade de dinheiro aqui, que é suposto ser um ícone de pouco dinheiro, bem como quantos pontos de experiência você tem ao longo desta barra de progresso aqui até chegar ao próximo nível. E, eventualmente, vamos ser capazes de exibir isso para vários personagens como esse. Mas tudo isso é feito atualmente no meu personagem, você projecto. Este é um projeto que fiz em preparação para este curso. Sei que quer saber como fazer isso. Vamos fazer isso em nosso próprio projeto. Veja, eles estão bem, aqui estamos de volta em nosso projeto de interface do personagem. Vamos nos certificar de que estamos na mesma página que vem sob nossa interface do usuário do personagem de conteúdo, pasta widgets. Vamos nos certificar de que você tem seu Widget UI personagem WPP aberto. E mais uma vez, vamos colocar para fora a nossa estatística de caráter está aqui em cima no canto superior direito. Agora vale a pena perguntar, neste momento, quais coisas de status você gostaria de exibir para o seu jogo? Talvez coisas como nível, pontos de experiência, dinheiro, talvez buffs ou enfermeira que estão atualmente presentes em seu personagem também. Vamos mantê-lo muito alto nível aqui e mantê-lo para as coisas mais comuns de nível de personagem, pontos de
experiência e dinheiro. E eu vou tentar me mover um pouco mais rápido
neste vídeo porque há muito para cobrir. Você tem o benefício da pausa e você deve começar a ficar um pouco confortável com o que alguns desses widgets têm em termos dos diferentes parâmetros que você pode ajustar. Vamos começar as coisas aqui adicionando um widget de caixa vertical para o canto superior direito aqui. Isso pode ser encontrado simplesmente procurando por ele na caixa vertical do painel de paleta. Vamos arrastá-lo e soltá-lo na parte superior direita da nossa tela. Agora, para o nosso ponto de ancoragem, queremos ancorar isso no canto superior esquerdo da tela com o canto superior direito. Então vamos mudar nosso ponto de ancoragem aqui para ser este canto superior direito, um bem aqui. E eu também quero mudar o nome deste widget para ser status de sublinhado caixa v. Aperte Enter ali. Agora, também vale a pena mencionar aqui que este widget está tecnicamente anexado ao nosso painel de tela. Tudo bem? Novamente, a hierarquia está mostrando a relação com tudo. A caixa v está anexada à nossa largura do painel de lona aqui, então eu poderia ter arrastado e soltado em cima de lá é, bem, tudo bem, vamos definir alguns dos detalhes para a nossa caixa vertical aqui, começando com a posição x e y. Então, exposição, eu vou estar ajustando para 20 negativos. Deixe-me ampliar aqui rolando com a roda do mouse. Botão direito do mouse permitirá que você faça isso por sinal. E eu vou definir a posição y aqui para 20. Tamanho x, eu vou definir para ser 270. E tamanho Y, vou definir para 45. Agora eu inventei esses números antes do tempo. Agora, você pode estar dizendo, espere um minuto aqui, o que está acontecendo? Isto está tecnicamente fora do limite da nossa tela aqui. Um usuário nunca verá isso. Bem, ainda não terminei. Novamente, estas posições são todas relativas a este ponto aqui, isto é considerado, são. Posição X, posição y de 00, e isso está posicionado atualmente em relação a isso. Vou definir o meu alinhamento aqui para o meu valor x ser um. Agora veja o que acontece quando eu apertar Enter aqui. De repente, vai mudar isso todo o caminho para a esquerda. Se eu fosse definir isso para 0,5, eu essencialmente estaria dividindo a diferença lá. Um valor de um vai mover isso todo o caminho para a esquerda. Se eu definir isso como 0, então ele realmente vai respeitar minhas posições x e y. Então saiba que você pode empurrá-lo para a esquerda e para a direita com as configurações de alinhamento, apenas mostrando algumas funcionalidades diferentes aqui. Agora eu não quero dimensionar para o conteúdo desta vez. Quero que a minha caixa vertical seja um tamanho definido. Isto é porque eu vou adicionar uma barra de progresso que é um metro nesta caixa em breve. E eu não quero que este medidor esteja sempre mudando de tamanho devido
à dinâmica de nossas informações de status como o nível de valores monetários mudando. Portanto, há uma razão específica pela qual eu não estou dimensionando para o conteúdo. Tudo bem, agora dentro da nossa caixa vertical, eu realmente quero adicionar uma caixa horizontal. Então vamos procurar uma caixa horizontal. Vou clicar com o botão esquerdo e arrastar isso em cima do nosso status de caixa v. E eu vou selecionar isso, aperte F2. E eu vou nomear este nível de sublinhado caixa h horizontalmente. Quero expor as informações do meu nível, como viu no último. Agora há um monte de coisas que vamos querer adicionar dentro da nossa caixa horizontal aqui. Não há detalhes que eu queira mudar sobre isso por enquanto, mas vou colocar um monte de coisas no lado daqui. Então vamos voltar para nossas paletas. A primeira coisa que vamos adicionar é um widget de texto. Vamos nos dar um pouco mais de espaço aqui. Arraste e solte um widget de texto no topo do nosso nível de caixa h. Vamos selecionar isso e vamos mudar o nome deste widget para ser o nome do
sublinhado do nível do sublinhado do texto . E eu realmente vou mudar o texto aqui para ser nivelado. Agora vamos adicionar todos os widgets aqui primeiro. Então eu vou voltar e ajustar algumas das aparências e outras coisas. Ok, então isso é bom o suficiente para isso. Vamos em frente e adicionar um widget espaçador. Próximo, espaçador. Eu vou arrastar e soltar isso em cima de cada nível de caixa, assim. Ok, então eu quero adicionar um, outro widget de texto em cima do nosso nível de caixa h. Este, eu vou simplesmente vir sob o painel Detalhes e os textos de chamada sublinham um valor de sublinhado de nível. E sob a área de texto real, eu vou mudar isso de texto para o número um, nível um, desculpe. Em seguida, vamos adicionar um widget de imagem. Vamos clicar com o botão esquerdo e arrastar isso para cima do nível da caixa H. Assim, nós vamos selecionar esse cara e vamos nomear sua imagem sublinhado dinheiro. Esta vai eventualmente ser a nossa imagem de dinheiro, embora pareça uma caixa branca agora. Então vamos adicionar um novo widget espaçador. Procure por ele e coloque-o no nível superior da caixa R H. E nós estamos realmente ficando sem espaço aqui, mas isso é uma direita ainda uma barra de rolagem que aparece aqui quando você começa a ficar sem espaço. E então vamos adicionar mais um widget de texto. Clique com o botão esquerdo do mouse, arraste isso sobre cada nível de caixa. Selecione isto. Isso será chamado de textos. Sublinhado. Dinheiro, sublinhe um valor. E vamos mudar os textos reais aqui de blocos de texto para ser algum valor fictício como 999999. Certo, então temos nosso layout lá. Agora vamos ajustar algumas dessas configurações para cada um desses widgets diferentes, começando com o nosso nome de nível de texto aqui, vamos ter certeza que temos esse cara selecioná-lo e sobre ele no painel Detalhes, ele já diz nível, então isso é tudo bem e dandy, mas sob o puro a área da fonte, vamos mudar a família da fonte irá mantê-lo para um barco a remos ou rubato. Não sei como dizer esse tipo de iscas. Vamos mudar isso para ser leve. Quero que seja um pouco mais fino. Esse tamanho. Vamos mudar isto para 20. E você pode ver como isso está se formando. Vou dar um zoom nisso um pouco para termos uma visão melhor disso. Em seguida, vamos selecionar meu widget espaçador aqui em baixo. E eu vou mudar o tamanho para ser 15 em um pouco mais de espaçamento entre o nível eo número real aqui. O tamanho y novamente é determinado pela altura real lá, o y da nossa caixa. Então é por isso que o único não está realmente mostrando realmente esmagado. Muito bem, a seguir vamos escolher o nosso valor de nível de texto. E para isso vamos mudar a família de fontes. Vamos deixar isso como Roberto ou embora o topo, o tipo de cara que vamos mudar para luz, assim. O tamanho também será 20 aqui. Agora, para a imagem para o nosso dinheiro, bem aqui, vamos em frente e selecionar aquele cara aqui no painel Detalhes que está sob a nossa área de imagem. Clique ali e nós estamos indo para procurar o ícone t sublinhado, sublinhado dinheiro. Esse será o ícone do nosso dinheiro. Ou seja, obviamente está mostrando um gigantesco. Então vamos mudar o tamanho da imagem aqui. Vamos mudar para X.25. E por que de 25? Sim, você pode ajustá-lo manualmente aqui. Vamos definir um pouco de almofada. Não se encaixa aí. Coil como eu queria. Então vamos colocar um pouco de estofamento aqui. Eu vou definir o estofamento superior para ser, tipo de empurrar
para baixo apenas um pouquinho. E o estofamento inferior, eu vou definir para dois também. Tipo de empurrar isso de baixo um pouco. Além disso, o que vou fazer é mudar o nosso tamanho aqui para não ser auto. Vou encher isto. E ele vai tentar preencher isso com ganância como ele gosta de dizer, para tentar preencher toda a caixa horizontal. E então o que eu vou fazer é mudar isso para ser certo, justificado, assim. Então está preenchendo, mas certo, justificou o que aconteceu lá. E quero que fique confortável contra este mesmo lado. Então é assim que eu quero que ele seja colocado abaixo. Eu vou mudar a dica de ferramenta para esta dica de comportamento para realmente ler dinheiro, dinheiro, dinheiro, assim. Certo, a seguir, precisamos colocar nosso espaçador aqui embaixo. Selecione aquele cara. Nós também vamos definir o tamanho para este 11 é muito pouco, então vamos definir para ser 15. Isso vai empurrá-lo para a esquerda um pouco mais, criando um pouco mais de uma lacuna. Isso é bom. Vamos selecionar nosso último valor de dinheiro de texto aqui, e vamos mudar o tipo de letra para que nossas fontes sejam leves também. E vamos mudar o tamanho para 20. E isso está começando a parecer muito bom. Em seguida, vamos adicionar nosso widget barra de progresso aqui em nossa caixa vertical. Então vamos entrar sob nosso paladar savvier. Vamos clicar com o botão esquerdo e arrastar uma barra de progresso para cima da nossa caixa vertical. Agora note aqui, ele vai colocá-lo aqui em baixo. E reparem no que temos. Temos uma caixa vertical que consiste em uma caixa horizontal. E abaixo da caixa horizontal está uma barra de progresso que é um metro de tipos. Vamos em frente e selecionar isso, e vamos renomeá-lo barra de progresso XP. E então vamos ajustar algumas coisas sobre esse cara. Vamos começar com um pouco do estilo. Então vamos expandir esta área de estilo aqui. Há uma série de coisas que você pode estilizar sobre isso. Mas o importante por agora será esta imagem de fundo. Imagem de fundo. Não queremos que sejam estas tendas. Queríamos que fosse negro. Indo para o botão esquerdo do mouse aqui e arraste isso todo o caminho para baixo. Black vai refletir a parte EMT dos nossos medidores. Isso vai ser o pano de fundo. Clique em OK lá. Agora, se nós rolarmos para baixo até onde ele diz Progresso atualmente ele mostra porcentagem como 0. Se eu mudasse isso para 0,75, você verá como ele agora enche três quartos do caminho. Agora, se você clicar com o botão esquerdo aqui e mover isso para a esquerda e para a direita, você pode ver que ele está enchendo da esquerda para a direita. Se você quiser que ele encha de outra forma, você pode mudar seu tipo Barfield aqui da esquerda para a direita, da
direita para a esquerda, se você quiser. E você pode ver como ele está preenchendo dessa maneira. Eu, pessoalmente, gosto da esquerda para a direita, isso faz mais sentido. Em um valor presente de 0,75 é um lugar muito bom titular. Vamos também mudar nossos textos de dica de ferramenta aqui para ler. Barra de Xp quando preenchido níveis de
personagem para cima. Simples o suficiente. Agora, só para mostrar, eu sou eu, esta é a maneira que eu quero que este medidor fique, só para mostrar como você pode personalizar a aparência desta barra de progresso. Vou dar-lhe uma demonstração aqui rapidamente. Vamos mudar temporariamente nossa imagem de fundo de uma cor para uma imagem real. Vamos passar por baixo da nossa pequena queda aqui embaixo da imagem. E eu vou fazer é procurar por t, sublinhar estilo barra de progresso. E você pode ver agora que nós temos esse tipo de preto, eu não sei o que você quer chamá-lo Inc. Splatter. Eu usei isso em outro curso e deixe-me realmente descascar o percentual aqui para que você possa ver como nosso fundo parece agora. E se eu mudasse nossa imagem de preenchimento, isso é essencialmente com que imagem queremos que isso
preencha para aquele mesmo gráfico ali. T sublinhar o estilo da barra de progresso. Você pode ver como agora temos algo um pouco mais estilizado para uma barra de progresso. Agora uma coisa que eu queria mencionar aqui rapidamente é que notar que essas imagens são brancas. Isso é realmente incrível porque nos permite personalizar a cor
que realmente queremos mostrar quando estamos enchendo uma barra de progresso aqui. Na verdade, se rolarmos aqui em baixo, a razão pela qual isso está mostrando azul é porque quando isso é branco bem aqui, quando nossa imagem de preenchimento é branca, exatamente assim, ele respeitará o que for cor e opacidade está aqui embaixo. Então, se eu fosse mudar isso para ser o valor B de um e um g que é o valor verde de um. Você pode ver como ele muda isso de acordo. Então isso é apenas um FYI, desde que a sua imagem de preenchimento aqui seja branca, ela respeitará esta cor de preenchimento e cor de opacidade que você definiu lá embaixo. Agora, eu quero voltar a ser como eu tinha. Eu realmente não quero este medidor estilizado, mas é assim que você pode adicionar um medidor estilizado lá, mudar sua imagem de fundo e sua imagem de preenchimento para ser exatamente o mesmo arquivo de textura. Eu vou clicar aqui e clicar aqui para mudar isso de volta para o medidor como eu tinha antes. Muito bem, pessoal, lá vamos nós. Temos um layout de status de personagem. Vamos salvar isso rapidamente mais uma vez e vamos tentar jogar nosso jogo para ver o que vemos. Não vem muito mal. Temos dicas de ferramentas aparecendo para nossos vários ícones. Doce, vamos escapar de lá. E pessoal, vamos manter o impulso rolando. No próximo vídeo, nos vemos lá.
14. Layout de mudança de personagem: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar o layout para a interface de mudança de personagem. Essa é esta área no canto inferior direito aqui em nossa interface de usuário personagem estará fazendo uso de ambas as caixas verticais e horizontais neste, bem como widgets de texto, imagem e espaçador também. Agora estou na minha versão do curso que criei em preparação para este curso. Então isto é o que vamos criar aqui em baixo. Agora note, o que estamos fazendo aqui é essencialmente apenas em exibição instrucional, queremos torná-lo de modo que, eventualmente, quando pressionamos alguns botões, neste caso, o gatilho esquerdo ou o gatilho direito e irá vinculá-los a um par de teclas de teclado, bem como nós vamos estar alternando qual personagem nós exibimos. Então podemos fazer tipo, então. Observe que não precisamos ter essas instruções explicitamente exibidas, mas muitas vezes ao fazer algum tipo de tela de menu ou interface, essas coisas são úteis para torná-las mais amigáveis. Tudo bem, então agora você vê como o produto acabado aqui vai se parecer. Vamos pular para a nossa versão do projeto e começar a criar isso. Muito bem, aqui estamos de volta ao nosso projeto de interface do personagem. Agora vamos nos certificar de que estamos todos na mesma página que vem sob a pasta de widgets de interface do usuário de caracteres continentes. Clique duas vezes na interface do usuário do personagem WEP se ainda não tiver feito isso. E novamente, vamos trabalhar na parte inferior direita do nosso layout de tela aqui. E a primeira coisa que queremos adicionar é uma caixa vertical. Então, novamente, eu poderia procurá-lo em nossa lista de categorias aqui. E eu sei que está sob a categoria de painel bem ali. Mas se você não sabia onde estava, você sabe, lista de categorias, você poderia procurá-la aqui em cima. Vou clicar com o botão esquerdo e arrastar isto para a nossa vista de designer aqui. E eu vou definir alguns detalhes sobre isso imediatamente, começando pelo nome. Então, sob o painel Detalhes, vamos renomear isso para ser sublinhado v. Box, alterar caractere. Isso é bom. Nome, vamos escolher um ponto de ancoragem para isso imediatamente porque eu não quero que ele esteja no canto superior esquerdo, eu quero que ele esteja no canto inferior direito. Então, ponto de ancoragem, inferior à direita. Você pode ver que o nosso pequeno ícone de flor lá é movido para o canto inferior direito. E agora a nossa posição x e a nossa posição y serão relativas a este ponto de ancoragem. Você pode pensar neste ponto de ancoragem como sendo definido em x 0, y 0. E a localização atual aqui é relativa a esse ponto de ancoragem, x sendo esquerda e direita, y sendo para cima e para baixo, x
positivo para a direita, x
negativo para a esquerda, y
positivo para baixo, negativo y subindo a partir desse ponto. Ok, a posição aqui que tenho em mente é a exposição de 605 negativos. A posição y vai ser negativa 70. E eu vou querer dimensionar para o conteúdo aqui. Então eu vou verificar isso imediatamente. E quando eu fizer isso, você verá essa caixa se tornar um tamanho incrivelmente pequeno. Agora isso vai tornar difícil para nós arrastar e soltar widgets no lado de lá, mas isso é bom aqui em nossa hierarquia, podemos adicionar objetos dentro daqui também arrastando outros widgets em cima disso. E é isso que vamos fazer aqui em um momento. Então a próxima coisa que vamos adicionar é um widget de imagem para o interior deste, eu vou aparecer sob a minha área comum. Vamos encontrar uma imagem. Vou clicar com o botão esquerdo, arraste isso em cima da nossa mudança de personagem caixa v. Tens de ver aquele contorno amarelo à volta da coisa toda. Em seguida, você pode soltar o botão esquerdo do mouse. E eu não consegui chegar lá. Tão boa demonstração quanto ao que podemos fazer aqui. Eu não entendi bem. Vamos clicar com o botão esquerdo do mouse e soltá-lo novamente lá. E agora parece que conseguimos. Estou ficando sem espaço aqui. Então lá vamos nós. Deixe-me apenas renomear isso imediatamente na imagem da PSU. Vou chamar esta linha de topo sublinhar a mudança do mar. Mudança de mar para mudança de personagem. Agora isso é essencialmente apenas vai ser uma linha de tipos, uma fina linha branca. Então eu vou mudar o tamanho da imagem aqui na aparência. Deixa-me só armar isto. Botão direito do mouse fará assim. Sob a seção de pincel de aparência, eu não quero nenhuma imagem, eu só quero uma linha branca, então eu tenho uma lata branca aqui. O tamanho da imagem vai ser 400 no x. e para o y, eu quero que este seja três. Eu quero que isso seja bom e fino, assim, para que haja uma fina linha branca. Agora é tudo o que eu quero por isso. Mas eu quero ter uma linha branca no topo e depois uma linha branca na parte inferior. Então o que eu vou fazer é vir aqui e duplicar essa imagem de alta linha de mudança do mar. Agora, algumas maneiras de duplicar isso. Uma maneira é clicar com o botão direito do mouse sobre ele e escolher duplicar. Outra maneira é com isso destacado em amarelo. Quando é destacado em amarelo, você pode realmente fazer controle mais w. Eu só vou selecionar Duplicar aqui. E eu vou mudar esse nome imediatamente e eu vou mudar o nome aqui só para mostrar algo diferente. Para ser a linha de fundo. vez, com um desses widgets selecionados pressionando F2 permitirá que você edite o nome. E em vez de sublinhar o antigo, vou remover isso, livrar-me dele. Aperte Enter para dizer, sim, gosto desse nome. E então eu vou definir isso. Para onde eu quero definir isso? Você não quer que eu realmente vou deixar este aqui por enquanto. Eu vou adicionar mais alguns widgets e, em seguida, eu vou corrigir estes todos para ser exatamente espaçados como eu quero que eles. Então, entre a nossa linha superior e a nossa linha inferior aqui, eu quero adicionar uma caixa horizontal. Agora você deve se lembrar de quando eu mostrei a versão final disso,
nós tínhamos um ícone de botão esquerdo, então nós tínhamos alguns textos, e então nós tínhamos um ícone de botão de gatilho direito. E então havia alguns espaços entre o texto do botão e o botão. Então, vamos adicionar uma caixa horizontal dentro da nossa caixa vertical. Em seguida, vindo sob a paleta, Sob a seção do painel, vamos encontrar uma caixa horizontal. Vou arrastar e soltar isso para ir direto entre o topo da imagem. No fundo da nossa imagem, você vê aquela linha ali. Se você estiver, se você soltar seu clique esquerdo aqui, ele vai colocar a caixa horizontal bem no meio ali. As coisas estão parecendo um pouco estranhas agora, mas não se preocupe, isso vai ficar moldado aqui em um pouco. Vamos em frente e renomear nossa caixa horizontal aqui para ser caixa h. Sublinhar, mudar de cuidado. Rick XHR. Tudo bem, agora eu vou apenas jogar alguns outros widgets dentro da nossa Caixa Horizontal e então eu vou definir os detalhes para tudo isso. Então, o que eu quero? Eu quero ter uma imagem entrar aqui, clique com o botão esquerdo e arraste e solte uma imagem em cima do nosso personagem de mudança de caixa h. Primeira imagem vai perder a minha colocá-lo dentro de seu clique esquerdo arrastar no topo mais uma vez, esta primeira imagem vai ser para o botão de gatilho esquerdo. Vou renomear isso imediatamente para ser o gatilho L sublinhado de imagem. E eu sei que vou precisar de outra imagem aqui, então eu vou selecionar que ela é em amarelo e eu
vou apenas fazer controle mais w. Você pode fazer isso quando estiver destacado em amarelo. E agora eu tenho outro aqui, e eu vou renomear isso pressionando F2 nisso. E eu vou chamar essa imagem de nosso gatilho. E mais uma vez, vou definir os detalhes para estes em um pouco. Em seguida, eu quero adicionar um widget de texto. Clique com o botão esquerdo. Vamos arrastar e soltar isso entre nossas duas imagens aqui porque queremos textos para como mudar personagens viveram entre essas imagens. Lá vamos nós. E vamos definir isso para ser texto. Sublinhado. Mudança de caráter, assim. E eu estou bem com o mesmo bloco de texto por enquanto, mudar isso mais tarde. E agora eu quero adicionar algum espaço ou widgets para ir entre tudo isso. Então vamos encontrar um widget espaçador. Vamos procurar por ele. Espaçador. Lá vamos nós. Vou clicar com o botão esquerdo, colocar isto entre a minha imagem e os meus textos. Vê aquela linha amarela ali. Em seguida, você pode soltar o botão esquerdo do mouse. Aí está o nosso widget espaçador. E então eu tenho um pequeno espaço estão bem ali novamente, eu vou definir os detalhes para isso em apenas um momento. E eu estou realmente indo para clicar com o botão direito e duplicar este espaçador. E lugares próximos espaçadores bem aqui, certo? Por isso, reparem no que temos. Temos imagem. Há realmente, deixe-me realmente selecionado aqui na hierarquia imagem, espaçador, texto, espaçador, imagem. Tudo isso vive dentro da nossa caixa horizontal. E dentro de nossa caixa vertical, temos uma linha branca,
uma caixa horizontal, e, em seguida, na parte inferior, outra imagem. E agora com todos os nossos widgets no lugar, vamos passar pelos detalhes de todos estes com bastante rapidez. Você tem o benefício da pausa. Então vamos chicotear através destes. Eu tenho cada caixa selecionada aqui no painel Detalhes abaixo do preenchimento, eu quero definir um pouco de preenchimento. Top estofamento vai ser cinco e ver o que acontece enquanto eu faço isso, nós criamos um pouco de separação lá entre a linha superior e nossa caixa horizontal. E eu também vou definir o nosso estofamento inferior aqui para ser cinco e pressionar Enter. E eu também quero definir o nosso alinhamento horizontal aqui para ser centros. E agora nós temos que está centrado entre a nossa linha de topo lá em nossa linha de fundo. Em seguida, vamos selecionar o gatilho esquerdo da imagem. Simplificando, precisamos encaixar uma imagem aqui. Então vamos selecionar esta lista suspensa e procurar t sublinhado L. Trigger. Lá está ele. Agora isso é obviamente muito grande, então vamos ajustar manualmente o tamanho. Eu vou mudar o tamanho da imagem para 75 no X, 40 no y. e porque nós definimos uma imagem aqui, vamos em frente e selecionar esta imagem bem aqui. E, novamente, você pode selecioná-lo aqui ou na hierarquia. Então nós temos a imagem, nosso gatilho selecionado. Vamos simplesmente entrar sob a imagem do pincel. Farei uma busca pelo nosso gatilho, não gatilho, gatilho. Lá vamos nós. Vamos trazer esse cara. Vai ser enorme. Então vamos definir o tamanho da imagem para baixo para 75 por 40. Isso está começando a se moldar um pouco aqui. Agora vamos definir nossos tamanhos espaçadores. Vamos selecionar nosso primeiro espaçador aqui. Só queremos que o espaço seja 25. E novamente, o Y não importa aqui porque determinado pelo tamanho da nossa caixa horizontal aqui, então vamos selecionar nosso outro espaçador aqui em baixo. E também vamos definir o espaçamento para 25. Então, por último, mas não menos importante, temos o nosso bloco de texto aqui. Vamos em frente e selecionar isso. Vamos mudar o texto para ser, mudar, caracterizar, entrar. E vamos estilizar isso um pouco entrando em nossa seção de aparência, família de fontes. Nós vamos mudar isso para ser fontes finas de paragon. Vou mudar o tamanho para 24. Sim, e queremos que seja 24. Vamos ver se há mais alguma coisa aqui. Eu quero mudar. E sim, a última coisa que quero mudar aqui é o alinhamento vertical no topo. Isto não parece que se encaixe muito bem entre os botões. Então eu vou mudar nosso alinhamento vertical aqui para ser esse cara. Alinhe o fundo e agora parece bastante centrado entre lá. Então isso está parecendo muito bom. Mouse disposto para trás, usando o botão direito do mouse para rolar ao redor. Isso está parecendo muito bom. Caras. Vamos em frente e salvar isso rapidamente. - Trabalho. Bem feito. Isso vai fazer tudo por este. Vemo-nos na próxima.
15. Layout de categoria de personagens: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar uma exibição de categorias sobre nosso personagem. Essa é a parte da nossa interface do usuário do personagem. Queremos exibir coisas como atributos e habilidades do nosso personagem, coisas que podemos eventualmente alternar entre como. Então. Agora vamos conseguir isso criando um par de botões selecionáveis. Isso é o que esses widgets são, nossos botões selecionáveis. Você pode pensar neles como guias selecionáveis que você vê com
tanta frequência nas telas de perfil de personagem. Agora este é o produto acabado aqui que eu tenho no meu projeto de rascunho de interface do usuário do personagem. Vamos passar para a nossa versão
do projeto em que estamos trabalhando e recriar isso agora. Tudo bem, e aqui estamos nós no nosso projeto de interface do personagem. Vamos mais uma vez abrir nossa UI de caractere W BP encontrada neste diretório. E então aqui temos nossa mudança de personagem tudo pronto lugar em nossa interface de usuário de personagem. Queremos categorias de personagens aqui em cima e vai parecer bastante semelhante. Então, em vez de reinventar a roda, tal
emprestarmos, redefinimos o que construímos no último vídeo. Vamos pegar um atalho. Devemos? Descascamos. Primeiro de tudo, você pode notar que nossa hierarquia aqui está começando a parecer um pouco desordenada. Há muita coisa acontecendo, então vamos recolher algumas dessas categorias aqui. E se você pressionar esses pequenos triângulos assim, você pode colapsar todos um pouco e torná-los mais gerenciáveis. Agora, a coisa que queremos duplicar para nos dar um pouco de vantagem aqui é o nosso personagem de mudança de caixa B. Isso é esse agrupamento de widgets bem aqui em baixo. Então vamos em frente e clique com o botão direito sobre isso. Vamos duplicar isto. E então vamos fazer algumas mudanças sobre a sua vai duplicar não só a caixa v, mas tudo à vista de lá também. Então, começando com a nossa caixa v aqui que nós apenas duplicado mais, vamos mudar o nome do que para ser mudança categoria ou como cachos v categorias caixa. Isso vai ser um pouco mais fácil. Categorias. E também copiamos sobre o ponto de ancoragem. Então vamos em frente e mudar isso imediatamente. Isso vai ser ancorado no canto superior esquerdo porque ele vai ser mais próximo daquela parte da tela. Então, com categoria caixa v é selecionado, Vamos definir o ponto de ancoragem para ser o canto superior esquerdo. E então vamos definir alguns detalhes para
isso imediatamente para que ele esteja mais ou menos na posição certa. Assim, com nosso ponto de ancoragem no canto superior esquerdo, novamente, isso é considerado x 0, y 0. Agora, para o ponto de ancoragem, nossas posições serão relativas a isso. Então eu vou definir nosso ponto de ancoragem para ser 20. E nossa âncora y aponta para B ou uma posição y, eu deveria dizer não ponto de ancoragem para ser 145. Então estamos deslocamento 20 no x, e estamos deslocamento 145 no y, cima e para baixo. Tudo bem. Suspiros, o conteúdo ainda está checado. Isso é tudo muito bom. Agora aqui em categorias de caixa V, certifique-se de que é categorias de caixa V e não mudar de personagem. Vamos mudar o nome de alguns desses widgets para não ser confuso. Primeiro, vamos mudar. Vou derrubar esta caixa aqui. Vamos mudar a nossa imagem. A mudança de personagem de linha superior é simplesmente b. Vamos apenas mudá-la para a linha de topo da imagem. Simples o suficiente. E mudança de caractere de linha inferior da imagem. Vamos simplesmente mudar isso para ser imagem de resultado final. E em vez de h caixa alterar caractere, vamos mudar isso para categoria caixa idade. Direi componentes da categoria. Claro, isso é muito bom. Tudo bem, agora precisamos alterar o conteúdo da nossa caixa horizontal um pouco porque vamos ter algumas abas selecionáveis aqui. Na verdade, eles vão ser botões selecionáveis, mas eles vão olhar como guia selecionável. Então vamos expandir nossos componentes de categoria de caixa h aqui. E queremos manter nossa imagem L gatilho aqui. Bem, nós realmente vamos mudar o nome disso porque não vai ser um gatilho L, vamos mudá-lo para um pára-choques L. Então primeiro as coisas, vamos mudar o nome imagem L. pára-choques. Enquanto estamos nisso aqui, vamos apenas ir em frente e mudar a imagem em si não vai ser L gatilho vai ser L pára-choques. E isso é gigante, enorme. Para que tínhamos lá? tamanho da imagem vai trapacear. É 75 por 40. Talvez queiramos mudar isso no final. E vamos mudar nossa imagem. Nosso gatilho aqui para ser imagem são pára-choques. E é claro que não queremos o gatilho r aqui se for um pára-choques. Então, deixe-nos ir o nosso pára-choques para a busca. E mais uma vez, isso vai parecer enorme. Vamos mudar o tamanho da imagem para 75 por 40. Ok, então nós temos uma imagem, um espaçador, e então nós vamos querer adicionar um botão, nós textos. Na verdade, vamos nos livrar desse texto aqui onde diz “mudar de personagem”. Vamos apagar isso. E aqui em nossa paleta, vamos encontrar um botão sob a seção comum. O botão é o que estamos procurando e vamos clicar com o botão esquerdo. E vamos arrastar isto para baixo entre os nossos espaçadores assim. Boom. Em seguida, vamos selecionar isso, renomear isso imediatamente para ser Botão categoria sublinhado 01. E então nós vamos querer algumas mensagens para ir em cima deste botão. Então, como vamos fazer isso é na nossa área do paladar, vamos encontrar algumas mensagens. E isso podemos realmente arrastar e soltar em cima do nosso botão para que ele será anexado ao nosso botão. Então vamos arrastar e soltar aqui. E vamos renomear os widgets. O widget, não o texto real por enquanto, vai ser texto. Categoria sublinhado. Sublinhado 01. E claro, só para tornar isso mais fácil por enquanto, vou colocar o texto como habilidades. Hit Enter irá definir algumas destas outras configurações um pouco mais tarde. E nós vamos realmente querer um segundo botão aqui. Vou selecionar este botão, categoria um. E quando é destacado em amarelo como este, podemos fazer o controle mais W para duplicá-lo. E aí está. E queremos que isso, no entanto, tenha um espaçador entre ele. Então vamos adicionar um espaçador entre isso em apenas um momento. Mas vamos renomear isso para ser Botão categoria sublinhado 02. E eu vou mudar nossa categoria de texto para ser texto categoria sublinhado 02 também. E para não ser confuso, vou mudar o texto aqui no botão para ser atributos. Certo, então temos um botão e um botão. Queremos um espaço ou ir bem no meio daqui. Então deixe-me encontrar outro espaçador lá em cima. Vou clicar com o botão esquerdo e arrastar isso e colocá-lo entre esses dois botões ali. Então vamos selecionar as categorias de caixa lá. E isso é olhar. Embora esteja faltando uma coisa. Não, não estou desaparecido. Nós temos as categorias de caixa de idade bem ali. Ok. Então é isso que todos temos acontecendo aqui. Eu vou selecionar à direita há categorias caixa v. E então eu vou clicar com o botão esquerdo ou manter a tecla Shift pressionada e clicar com o botão esquerdo. E isto é o que todos construímos até agora. Então você pode pausar o vídeo se precisar escrever aqui, isso é o que construímos até agora. Temos categorias de caixa V. Temos imagem top line anexada a isso. Também anexado à nossa caixa vertical, temos componentes da categoria H. E então dentro de nossa caixa horizontal temos uma imagem,
um espaçador, um botão com algum texto anexado a ela, um espaço de Entre os Botões. Outro botão com um pouco de sexo ligado a ele, um espaçador. E então temos um pára-choques de imagem bem ali. E isso é praticamente o e, em seguida, na linha de fundo da imagem também. Então, isso deve fazer isso para todos os widgets. Agora só precisamos moldar alguns dos detalhes porque queremos que isso estenda mais detalhes rapidamente aqui, já que você tem o benefício da pausa. Então vamos começar com a nossa imagem, linha
superior e linha de fundo porque queremos que eles se estendam por aqui. E a razão pela qual não está se estendendo até aqui é porque não nos ajustamos. Vamos selecionar nossa linha de topo da imagem primeiro. R x está atualmente estendendo apenas 400 pixels. Dessa forma, queremos mudar isso para ser, vamos 1020. E você pode ver que ele estende a linha de fundo até tão longe também. Mas só para ser simpático. Vamos selecionar nossa imagem inferior, e também vamos estender isso para 1020. Visualmente, não vai parecer diferente eu sou DDA assim. Vamos entender o que aconteceu, certo? Existem categorias caixa v. Se eu selecionar
isso, é um tamanho. Este contorno aqui, o contorno colorido, ele está dimensionando para envolver todos esses outros widgets pelo conteúdo que estão no lado dele, dimensionando para o conteúdo no lado dele. Uma vez que eu ajustei o tamanho x deste, ele decidiu expandir tudo isso para
fora, para esta borda externa aqui. Tudo bem, isso é tudo bem e bom são os botões aqui estão parecendo bem. Quero ajustar nosso espaçador aqui no meio. Vamos mudar isso para x de 30. E temos o nosso espaçador à esquerda e à direita, vamos definir todos para 30. Eu tenho um que eu acidentalmente disse 30 para um desses fora de vídeo aqui. Vamos mudar outro para 30 também. Então, todos os nossos espaços vão ter um espaçamento x de 30 apenas para jogar bem. A próxima coisa que quero ajustar é o tamanho do botão. Você não é a mensagem. Vamos selecionar uma de nossas categorias de botões. E atualmente o tamanho disso está sendo determinado pelo conteúdo interno. Com isso, quero dizer, é, ele está dimensionando para caber bem em torno do nosso tamanho do texto. Então você pode ver como o nosso botão de atributos é realmente um pouco maior do que nosso botão de habilidades porque a palavra atributos é um pouco mais largo. Bem, podemos fazer é uma vez que queremos que estes sejam os mesmos, vamos mudar o nosso tamanho de categoria botão aqui de auto para preencher por auto só vai pedir muito espaço como ele precisa com base no que está anexado a este neste, desta forma, estamos falando sobre as habilidades dos textos. Ao mudar isso de auto para preenchimento, podemos decidir quanto espaço vai encher ao longo desta área horizontal aqui. Vou mudar isto para 0,5. E eu não vi nada mudar ainda, mas você vai ouvir em um momento. E então eu vou selecionar meu botão categoria O2 e mudar isso de auto para preenchimento. E vou mudar isto para 0,5. E novamente, você não vê muita mudança aqui ainda. Agora vou selecionar meus componentes de categoria de caixa de idade. E com esse cara selecionado, deixe-me virar as anotações da minha página vai querer ter certeza que eu tenho todas essas configurações definidas apropriadamente. Eu vou mudar de um alinhamento horizontal de estar no meio aqui para ser este preenchimento. O que significa que uma vez que eu colocar
isso aqui, ele vai tentar preencher todos esses widgets ao longo de todo este comprimento aqui. Então veja o que acontece quando eu clico nisso. Boom. Agora nosso botão de habilidades e nosso botão de atributos. Ocupa todo este espaço. Agora, se eu fosse selecionar meu botão de atributos mais uma vez aqui e escolher auto, você veria que ele é encolher para ocupar apenas tanto espaço quanto ele precisa para ajustar os atributos da palavra. Mas mudando isso para preencher e 0,5, estou essencialmente dizendo, hey, ocupar 50% do espaço aqui. O botão Habilidades vai ocupar os outros 50% do espaço disponível. Eu posso ajustar isso, por exemplo, eu poderia mudar habilidades aqui para b pontos
para e, em seguida, atributos que eu poderia ser alterado para ser 0.8. E eu gosto de pensar em termos de 100%. Então agora, essencialmente, isso está ocupando 80% da sala e habilidades como ocupando 20%. Vamos mudar isso de volta para 0,5 para cada um desses. E então vamos em frente e ajustar um pouco do estilo para isso. Então, para o botão Categoria 01, eu vou vir e me trocar. Vamos descer, descer. Onde é que está aqui em baixo? Aqui está, The Press som e os sons pairados. Então eu quero mudar nosso som pressionado. Podemos realmente determinar quais efeitos sonoros são reproduzidos quando pressionamos isso ou quando passamos o mouse sobre isso, eu vou mudar o som para ser doca Hubble janela aberta. E se eu passar o mouse sobre
isso, ele diz que isso está no caminho do conteúdo do motor. Agora, se você não ver isso, eu vou apenas clicar nisso para colocar isso aqui. Se você não vir isso em Opções de exibição, você pode certificar-se de que o conteúdo show engine está ativado enquanto isso estiver ativado, você encontrará essas janelas duplas abertas como uma opção disponível. Ok. Agora, para o som pairado, eu quero mudar isso para ser descartado item do navegador de conteúdo. E novamente, se eu passar o mouse sobre isso, a dica de ferramenta também diz que isso está nas pastas de conteúdo do mecanismo. E novamente, se você não sabe onde acessá-los, se você não tem isso disponível para você em Opções de visualização,
você pode alterar isso para ser show engine content e, em seguida, esse efeito de som aparecerá. Então eu quero fazer isso por ambos. Então, sob o botão de atributos, eu vou definir isso para ser o mesmo. Um problema que deveríamos ter esperado para duplicar o botão assim que eu tivesse todos esses detalhes definidos. Mas, oh, bem, então o som da imprensa vai ser dedutível, janela aberta. E o som do Hubbard vai ser uma queda do navegador de conteúdo. Estes botões. Então eu vou começar selecionando nosso texto de habilidades bem aqui. E no painel Detalhes, uma coisa que eu quero definir é
ter certeza de que nosso alinhamento horizontal, sim, bem ali. Alinhamento vertical. Talvez eu queira mexer com isso depois de dizer algumas dessas outras coisas. Então vamos mudar a família de fontes aqui para paragon, fonte fina. O tamanho de 24 está ótimo. A cor. Vamos mudar isso para ser preto. te mostrar para que eu vou selecionar nosso seletor de cores bem ali. Ir como aquele drag é todo o caminho até o preto. Ok? E você pode ver que está um pouco acima no botão. Então eu vou mudar o nosso alinhamento vertical aqui para estar na parte inferior e isso vai centrá-lo um pouco mais ou pelo menos dar os deslocamentos de sombra aparência. Vamos definir um deslocamento de sombra para isso. Mas primeiro antes de fazermos é desligado definido, vamos definir nossa cor de sombra para ter o valor a b um para que possamos realmente ver uma sombra sendo adicionada. E vamos definir nosso deslocamento de sombra para 1.51.5. E vamos definir nossa cor de sombra para ser vermelho, porque esse é o tipo de tema que se foi agora. Então eu vou definir o valor r para ser um. E isso está começando a parecer muito legal. Então vamos fazer o mesmo com os atributos sexo aqui. Vamos ver se me lembro de tudo isso. Então, com atributos, textos selecionados, eu vou definir nossa família de fontes mais uma vez para ser um modelo. Fino. O tamanho está bom. Vou definir a cor para ser preta. Eu vou definir esse alinhamento vertical aqui para ser uma linha inferior apenas para definir isso um pouco para baixo. E eu vou mudar nossa cor de sombra aqui. Vamos definir o valor para ser um para que possamos ver uma
cor de sombra vai definir esses deslocamento de sombra para ser 1.51.5. E é claro que eu quero sentar essa cor de sombra para ser o nosso valor de um, ou
seja, 100% vermelho. Agora algo que eu queria anotar rapidamente aqui antes encerrarmos isso porque isso está muito bom, é que você tem a capacidade de mudar seus estilos de botão aqui. Então, se eu fosse selecionar botão categoria O1 e vir sob a seção de aparência, você tem botões para baixo, estilos que você pode definir para o normal. É assim que parece quando você não está interagindo com tudo isso. Passado o mouse, que é quando você está pairando sobre o cursor do mouse pressionado é a aparência dele quando você está realmente pressionando ou clicando nele. Desativado é quando o botão está desativado. E vamos definir um desses rapidamente e você não tem que fazer isso. Isto é apenas para fins de demonstração aqui. Se eu fosse definir o meu estilo de botão normal em vez de uma cor reta para uma imagem
como o botão HUD móvel um off. Você pode ver como ele muda o estilo assim. E se você quiser fazer algo assim, você vai querer ter certeza de que você meio que manter esse estilo para o seu pairado e você está pressionado e talvez você está incapacitado também. Você pode colorir esses botões como quiser. Mas eu não quero ir com isso. Então eu vou redefinir isso de volta para o padrão. E por que ele não o definiu de volta para o padrão? Eu não sei. Mas eu vou descobrir que entre os vídeos aqui, rapazes, ambos os botões devem parecer com o meu bem aqui. Pensado, eu voltaria ao normal. Deixe-me clicar neste botão aqui. Isso ainda fez. Eu vou descobrir isso entre o vídeo, mas pessoal, isso vai fazer tudo por este vídeo. Vemo-nos na próxima.
16. Estruturas de personagens: Bem-vindos de volta a todos. Bem, nós temos um layout áspero indo para a nossa interface do personagem. Agora vamos fazer uma pausa disso e vamos nos concentrar em reunir alguns
dos aspectos de dados que nosso projeto aqui vai precisar. E vamos começar juntando algo conhecido como Estruturas de Dados. Aqui está essencialmente o que vamos filmar. Precisamos que nossa tela aqui esteja puxando dados de
uma tabela de dados para que possamos preencher diferentes áreas da nossa tela dinamicamente. Com isso quero dizer que queremos preencher nosso nome dinamicamente. Queremos preencher nossas afinidades dinamicamente. Queremos preencher nossas diferentes habilidades aqui o nome, a descrição, algumas informações sobre isso. Queremos que tudo isso seja preenchido dinamicamente dependendo de qual personagem estamos visualizando. Você vê como algumas das informações mudam à medida que estamos mudando personagens, Nível, Dinheiro, pontos experientes, et cetera, et cetera. E isso vale não só para nossas habilidades, mas para nossos atributos também. Mariel tem 75 pontos de sucesso jogando tante um se foi o que eu disse, ele também, assim por diante e assim por diante. Então, como criamos essas tabelas de dados? Bem, a fim de criar as tabelas de dados, precisamos criar algo conhecido como estruturas de dados. E é isso que esses caras são aqui em nosso navegador de conteúdo. E só para abrir os dois ao longo do nosso topo aqui, isto é essencialmente o que essas estruturas vão consistir. Sua estrutura é essencialmente um recipiente que contém um monte de diferentes tipos de informação, variáveis diferentes. E cada variável vai determinar coisas como o texto que queremos exibir sobre algo, a descrição que queremos exibir sobre algo, pequenos trechos de informação. Agora, esta é a versão finalizada do que estamos prestes a criar. Então vamos pular fora do meu rascunho de personagem aqui, apenas dando uma olhada do que sucumbir. Vamos saltar para a nossa versão do projeto para criar essas duas estruturas. Tudo bem, então aqui estamos de volta em nosso projeto de interface do personagem. Vamos navegar para a pasta adequada em nosso navegador de conteúdo onde queremos que esses novos ativos residam. Então vamos vir sob UI de caracteres, e precisamos criar uma nova pasta aqui chamada dados. Então, vou clicar com o botão direito do mouse na interface do usuário do personagem, criar uma nova pasta, chamá-la de dados. Vamos clicar com o botão direito sobre isso novamente e colorir esta pasta de amarelo. Então ele se destaca. Este filtro aqui para texturas está desativado no momento, mas eu posso clicar com o botão direito do mouse sobre isso e removê-lo apenas para que você não se confunda com quaisquer filtros que estão ligados ou desligados. Certo, vamos criar esses dois ativos de estrutura. Do jeito que podemos fazer isso com o botão direito do mouse, vamos ficar sob as plantas. E sob o menu de arquivos aqui estamos procurando uma estrutura. E vamos chamar isso de STR, habilidade de caractere sublinhado. Vamos criar uma estrutura que é uma espécie de contêiner para conter todas as informações relativas às nossas diferentes habilidades de personagens. Agora precisamos criar este 1 primeiro, e você verá por que, em um pouco, quando criarmos nossa segunda estrutura de caracteres, vamos clicar duas vezes sobre isso. Tenho que abrir. E agora, novamente, a maneira como isso funciona é pensar em uma estrutura atingida para abreviar é um contêiner que vai conter um monte de variáveis diferentes. E as variáveis não são nada mais do que um tipo de dados de algum tipo que contém outro pedaço de informação. E eu vou tentar passar por isso um pouco rápido para o interesse do tempo, mas eu vou tentar falar do meu caminho através disso enquanto eu estou passando por isso rápido. Então, dizendo que tipo de variáveis você gostaria de adicionar? Então o primeiro que eu vou chamar nome, e eu quero que esta seja uma variável de texto. Eu posso clicar aqui nesta pequena lista suspensa e escolher o texto. Porque o nosso nome vai consistir em texto. Podemos criar outra variável aqui e clique neste novo botão variável. Este vai se chamar ICANN. E o tipo de dados aqui, o que vamos criar não está aqui nesta lista, mas podemos encontrá-lo em alguns desses drop-down ou procurá-lo. Isto vai ser um pincel de ardósia, escova de escravos. Pense essencialmente como uma imagem. Certo, o próximo que vamos fazer é uma nova variável. Este vai ser chamado de roteiro Shin. Isso também vai ser uma variável de texto. Assim, você pode ver que o padrão é qualquer que seja o último tipo de variável. Isso vai ser um texto. E como podem ver, estou adicionando novas variáveis aqui. Está adicionando todas essas áreas aqui embaixo. Nós somos, nós podemos definir alguns valores padrão se assim quisermos. Vou adicionar uma nova variável. Este vai ser chamado de nome da propriedade. Oh, um. Esta será da variedade de texto, nova variável. Este vai ser chamado de propriedade de valor um. E vamos fazer isso cinco vezes por cada um deles. Então nova variável, eu vou selecionar o nome da propriedade, vai fazer controle c, controle v. Isso vai ser a versão dois. Em seguida, outra nova variável. Este vai ser o valor de propriedade O2. Então controle C para copiar isso. Controle V para colar. Dois. Estas serão todas variáveis de texto. Outra nova variável, nome da propriedade, cópia, Control-C, Control-V para colar. Isso vai ser 03. Outra nova variável aqui. Isto vai ser o controle de valor de propriedade C, controle V. Mude para 03. Eu realmente deveria parar de dizer, oh três, porque isso é 03. Outra nova variável. Vamos copiar o valor da propriedade Control-C, Control-V. E isso vai ser versão para outra nova variável. Nós vamos copiar o controle de valor de propriedade C, controle V. E isso vai ser o número não cinco ainda, mas para, ah, estragar isso. Controle V, isto vai ser o valor da propriedade 4. E estraguei tudo. Este, este é suposto ser o nome da propriedade para realmente fácil de se perder assim. Este vai ser o valor da propriedade para outra nova variável, indo para copiar nome da propriedade, controle de
cópia C, controle V, Isso vai ser 05. E então outra nova variável. Vamos copiar o controle de valor C, controle V, e isso vai ser o valor cinco. Então devemos ter o nome da propriedade O1, valor da propriedade 01, nome da propriedade O2, valor O2, nome, O3, valor O3, nome 0-4, valor 0 para nome 0-5, valor 05. Excelente. Mais um par aqui para encerrar este, vamos adicionar uma nova variável. Isto vai ser a habilidade V0. V0 é abreviação de voz sobre linha. E eu vou mudar isso para ser um sinal de som. A fila de som é um tipo de ácido de áudio. Então eu vou procurar pela fila de som. E quando você selecionar isso, você vai ter este pequeno menu de panfletos. Queremos que isto seja uma referência de objeto. E depois mais uma nova variável. E nem sei se vamos usar este no curso,
mas vou adicioná-lo de qualquer maneira, se estivermos sentindo salsicha, animação de habilidade. E para o nosso tipo de dados aqui, vamos clicar aqui e mudar isso para ser dados de reprodução de animação única novamente, eu não tenho certeza se vamos adicionar esse, mas eu quero incluí-lo aqui de qualquer maneira. Tudo bem, nós poderíamos adicionar alguns valores padrão aqui, mas eu quero que todos eles fiquem em branco por enquanto para que você possa pausar o vídeo aqui, ter
certeza que você tem todas essas variáveis aqui. Vamos nos certificar de salvar isso. E então podemos voltar ao nosso navegador de conteúdo e criar nossa próxima estrutura. Tudo bem, estrutura número dois, vamos criar aqui dentro da nossa pasta de dados da interface do usuário do personagem. Vamos clicar com o botão direito. E no nosso menu de clique com o botão direito sob a estrutura de esquemas, vamos nomear este STR para abreviação de dados de caracteres sublinhados. Vamos abrir esse cara. Nesta estrutura em particular, isso vai atuar como um contêiner
que vai conter muitos dados sobre o nosso personagem. Não é um bom nome? Tudo bem, e no interesse do tempo, eu vou mudar isso. Você pode ver como eu posso clicar com o botão esquerdo aqui para meio mover isso para cima no interesse do tempo, eu vou tentar mover um pouco de ano rápido,
a fim de ter certeza que nós encaixamos isso em menos de 20 minutos aqui. Certo, a primeira variável será chamada de nome do personagem. Esta vai ser a variedade de texto. Próxima variável que estamos indo para criar vai ser ícone rolo. Isto vai ser um clique bem aqui. Faça uma busca pelo pincel de ardósia. vez, isso é uma espécie de, uma imagem de tipo que vamos mostrar. Agora, se você está confuso sobre como eu sei quais tipos de dados eu quero aqui, mais tarde no curso, eu vou revelar a maneira fácil de identificar quais tipos de variáveis você deseja definir esses n. Isso não deve ser algum tipo de ciência obscura. Agora, eu sei por experiência própria o que eu quero aqui, mas há uma maneira fácil de identificar quais tipos de variáveis você quer para isso. E eu vou rever o fora mais tarde no curso se isso é confuso agora, não se preocupe, eu vou explicar isso mais tarde. Vamos adicionar uma nova variável. Escolha um retrato. E a razão pela qual eu não estou explicando isso agora é porque uma vez que chegamos a esse ponto no curso, ele vai se tornar muito mais aparente. Isto também vai ser um pincel de escravos. Outra nova variável. Este nós vamos chamar de escolha completa. Eu não estou pretendendo usar este retrato picareta, mas eu estou incluindo-o aqui no caso de as pessoas mais tarde no curso, queremos usá-lo a propósito, escolher completo, estaremos usando nova variável. Isto vai ser uma barbatana, C 01. Queríamos ser um pincel de ardósia contra vai ser a imagem, o ícone para a afinidade dos nossos personagens. E estamos listando até duas afinidades. Então vamos fazer afinidade 02 para o próximo aqui, pequenas escovas o que queremos nova variável. Este vai ser nivelado. Nós estamos indo para mudar o tipo de variável para ser um inteiro. E inteiro é um número inteiro. Agora, inteiro 64 é um pouco mais de um inteiro limitado. Poderíamos usá-lo para isso, mas só para manter isso simples, vou colocá-los todos como um inteiro. Isso permite que você coloque um número inteiro que varia de um grande número negativo. E não me lembro do número exato de Tom à frente de um grande número positivo. Mas tão grande quanto você poderia querer. Próximo vamos adicionar aqui uma nova variável. Este vai ser XP. Isso também vai ser uma variável inteira que é um número inteiro. Próxima nova variável. Vamos chamar isso de dinheiro, dinheiro, dinheiro. Isso também vai ser uma variável inteira. Outra nova variável aqui, esta vai ser chamada Auto move. Vou colocar um ponto de interrogação no final disto. Esta vai ser uma variável booleana que é verdadeira ou falsa. Dados é o que isso contém. E nós vamos fazê-lo para que o nosso personagem pode auto, locomote em todo o nível ou não baseado em se esta variável é verdadeira ou falsa. E se tivermos uma variável de movimento automático, vamos adicionar outra nova aqui. E eu vou chamar isso de velocidade de movimento automático. Então, se nosso personagem pode se mover automaticamente, que tipo de velocidade queremos que eles viajem para manter essa informação? Não queremos uma variável booleana verdadeira e falsa. Queremos uma variável flutuante que é um número com um ponto decimal. Próxima variável. Isto vai ser saúde. Você pode representar isso com um float ou um inteiro. Eu vou mantê-lo como um tipo de variável flutuante porque vai ser muito fácil de ligar a um widget barra de progresso em nossa tela. Próxima variável, Valores da região de Saúde. Quanta saúde vamos regenerar? Vou deixar isto como um carro alegórico também. Nova variável. Taxas de regiões de saúde. Esta vai ser a quantidade de tempo em segundos que regeneramos um pouco de saúde, vou deixar isso como um flutuador. Então pode ser algo como 2,5 segundos. Outra nova variável aqui. Vamos definir isso para ser provocações, provocações plurais. Vou definir isto para ser uma onda sonora. Novamente, essa é uma certa onda sonora do tipo de áudio. E eu estou procurando uma onda sonora bem aqui, a referência do objeto. E agora queremos ser capazes de escolher até três provocações diferentes. Então eu não quero que isso seja apenas uma variável singular. Quero que isto seja escolhido de uma lista de variáveis. E, a fim de criar uma lista de variáveis, queremos clicar aqui para mudar isso de uma única variável para uma matriz. Então, uma matriz é essencialmente uma lista deste tipo de variável. E vamos querer uma lista de até três provocações. Próxima uma nova variável, sequência de provocação. E isso não vai ser um tipo de array. Vou clicar aqui mesmo. E vamos definir isso para ser uma única variável. É aí que podemos mudar isso de uma única variável para array int. E eu vou mudar o tipo de variável para ser uma string. E a razão pela qual isso vai ser uma corda vai se tornar mais aparente à medida que entrarmos. Por que não um SMS? Mais uma vez, revelarei isso mais tarde, então confie em mim por enquanto. Próxima variável, esta vai ser uma cor. Queremos ser capazes de escolher a cor do fundo da interface do usuário do personagem. Então isso vai ser do tipo variável, cor
linear, bem aqui, cor linear. E temos mais cinco. Vamos adicionar aqui uma nova variável. Isto vai ser uma Babilidade 01. E para este, vamos definir nosso tipo de dados aqui para
ser a estrutura que acabamos de criar no último vídeo. Então eu vou digitar a habilidade STR, e ela já está começando a reduzir nossa habilidade de estrutura de caráter. Então vamos entender que estamos acontecendo aqui. Estamos basicamente dizendo que queremos criar uma variável que consiste todos os dados que estão contidos nesta estrutura. Então esta variável aqui, habilidade ou uma vai nos permitir acessar todos esses dados aqui em nossa habilidade de estrutura de caracteres. Certo, então temos essa habilidade ou uma. Vamos criar isso mais quatro vezes. Então, podemos ter a habilidade de nova variável 03, nova habilidade variável, 0-4, e última foi a habilidade de Ali 05. Agora você pode pausar o vídeo aqui se você quiser
ganhar um último pico em tudo isso para ter certeza de que você tem tudo o que eu faço, certifique-se de que você salvar este recurso de estrutura aqui. Poderíamos definir alguns padrões aqui, mas eu não quero definir nenhum padrão por enquanto. Agora, com essas estruturas no lugar, seremos capazes de realmente criar os ativos da tabela de dados que precisaremos para puxar esses dados em nossa tela de caracteres. Isso vai aparecer no próximo vídeo criando essas tabelas de dados. Então, estamos prontos para fazer isso. Certifique-se de que você tem ambos salvos e veremos todos vocês no próximo vídeo.
17. Tabela de dados de personagens: Bem-vindos de volta a todos. Neste vídeo, vamos criar
uma tabela de dados para que tenhamos um local centralizado a partir do qual extrair todos os dados sobre
nossos personagens, a fim de preencher nossa tela de interface do usuário do personagem, estou falando de coisas como o nome, o nível, a quantidade de dinheiro que eles têm, suas diferentes habilidades, as descrições, até mesmo seus atributos, coisas como saúde, o valor real para sua saúde, saúde regenerar, assim por diante e assim por diante. Agora, estou no meu projeto de rascunho de interface do usuário do personagem. Este é o que eu criei antes do tempo só para mostrar o que está por vir. Agora, você pode estar dizendo para si mesmo, espere um minuto, espere um minuto. Para que precisamos de uma tabela de dados? Não acabamos de criar esses dados de caracteres STR, essa estrutura para manter todos os nossos dados de caracteres não é aquela coisa que vai preencher nossa interface de usuário de personagem aqui. Bem, eu tenho uma analogia aqui que espero vai deixar isso um pouco mais claro sobre por que precisamos e queremos uma tabela de dados. Eu vou para a internet aqui. E o que você vê na sua frente é algo com que muitos americanos estão familiarizados. Este é um depósito aqui na América, temos coisas demais e muitas vezes as pessoas armazenam o excesso em um depósito. Você pode pensar em um depósito como este struct que acabamos de criar no último vídeo. Vou abrir nossa estrutura aqui para nossos dados de caráter. Imagine que isto é um depósito, e dentro deste armário vai haver caixas individuais. E cada caixa aqui representa uma variável. Ele pode armazenar uma coisa e apenas uma coisa. Então esta caixa pode, como está o nome do nosso personagem? Essa caixa talvez, como está nossa afinidade de personagens? Esta caixa aqui pode ser como é a imagem de nossos personagens, assim por diante e assim por diante. Cada caixa contém apenas uma coisa. Então, voltando ao nosso projeto aqui. Aqui temos nosso depósito, nossa estrutura, e cada um desses pedaços de informação aqui é armazenado em sua própria caixa dentro desse armário. Isso está tudo bem e elegante para um personagem. No entanto, e se tivermos vários caracteres? Nesse caso, precisamos de um armazém inteiro. Porque cada armário vai manter todas
as informações sobre um personagem em particular. Neste caso, nossa instalação de armazenamento vai conter três armários porque vamos exibir informações sobre três caracteres diferentes, 123. Agora, nossa instalação de armazenamento pode ser comparada a uma tabela de dados. Este é o ativo da tabela de dados que vamos criar aqui em breve. Mas só para trazer esta analogia, oferecer círculo completo aqui nesta tabela de dados, eu tenho o armário 0, um no armário para cada uma dessas linhas representa um armário de armazenamento. Cada uma dessas colunas representa uma caixa dentro do armário. A caixa do nome do personagem está no armário
do Revenant e no armário do material, no armário do OG de verão e tudo isso. Contém é apenas os nomes dos caracteres. Há também uma caixa para um ícone de função, assim por diante e assim por diante. Cada uma dessas linhas representa um armário de armazenamento dentro dessa unidade de armazenamento, nossa tabela de dados aqui. Então, espero que essa analogia faça algum sentido. Tudo bem, aqui estamos de volta em nosso projeto de interface do usuário do personagem e você deve se
certificar de que você está na pasta de dados da interface do usuário do personagem de conteúdo, porque esta é a pasta que vamos criar esta tabela de dados em. Agora, no último vídeo, nós criamos um par de estruturas. E nós precisávamos, porque para criar uma tabela de dados, você precisa dizer a ela qual estrutura usar e você verá o porquê aqui em apenas um pouco. Vou clicar com o botão direito do mouse em algum espaço vazio aqui, vamos entrar na categoria Diversos. E no menu suspenso, há a nossa opção de adicionar uma tabela de dados. Então, vamos selecionar isso. E quando o fizermos, você vai ter este pequeno pop-up aqui pedindo para escolher a estrutura de papéis. E quando clicarmos neste menu suspenso, ele vai dizer qual estrutura você quer usar? Agora temos algumas estruturas aqui,
STR, habilidade de personagem e dados de caracteres. Queremos dados de caracteres e não capacidade. Por que está mostrando dois, eu não tenho certeza. Então eu sou, eu acho que isso é apenas um inseto. Vou escolher os dados dos personagens. Novamente, muito importante que você escolha dados de caracteres e não capacidade de caracteres. Então, selecionamos isso e, em seguida, vamos clicar em OK aqui. E agora temos que dar um nome à nossa tabela de dados. Então eu vou chamar isso de virar minha página de notas. Vamos chamar isso de DT para a lista de caracteres da tabela de dados. E então eu vou clicar duas vezes sobre este recurso para abri-lo. Novamente, o asterisco significa que ainda não foi salvo, não se preocupe. Vamos dizer isso aqui daqui a pouco. E com isso aberto, você pode ver no topo aqui temos diferentes colunas que são
nomeadas após nossos diferentes nomes de estrutura. Então, vamos dar uma olhada aqui. Nossa estrutura consistia de um nome de personagem, ele, ícone de
rolo, um retrato de porco, assim por diante e assim por diante. Aqui na nossa lista de personagens. Nome do personagem, ro, rolo, ícone, papel,
escolha, rolo de retrato e assim por diante e assim por diante. Então é por isso que precisávamos criar uma estrutura primeiro para saber como essa tabela de dados, essa planilha de dados, por assim dizer, vai ser definida. Atualmente, não temos fileiras aqui. Não temos entradas, nem armários de armazenamento no armazém, por assim dizer. Então precisamos ir em frente e adicionar um. E isso é simples o suficiente de fazer. Basta clicar neste botão add
no topo que diz adicionar uma nova linha para a tabela de dados. Então, vamos clicar nisso. E será obviamente a única linha adicionada à nossa tabela de dados. Então, uma vez que isso preencha aqui abaixo, nesta guia do editor de linhas, você será capaz de realmente editar os vários campos dentro dessa linha. Coisas como o nome do personagem, o ícone do papel, escolha completa, nível XP Money, todas essas coisas boas. Então vamos apenas editar um pouco disso agora no ponche sem nome de personagem, remanência. Escolha completa. Vamos em frente e colocar um desses imediatamente. Vamos sublinhar o Regresso completo. E você pode ver, nós podemos preencher todos esses campos individualmente. Agora, escolha touros, tem outros parâmetros que você pode mudar. Você pode, você pode realmente alterar o tamanho da imagem. Você pode matizar também, todo tipo de coisas. E você pode ver como preencher tudo isso pode levar muito tempo. Agora, você pode preenchê-lo aqui, e isso é perfeitamente legítimo e você é capaz de fazer isso. No entanto, nos próximos vídeos, vou mostrar como você pode exportar essa tabela de dados, editá-la em uma planilha e depois importá-la novamente. Essa provavelmente vai ser a maneira mais fácil de você fazer isso. Agora temos um depósito em R para armazenamento, por assim dizer. Vamos adicionar outro. Isto é mostrado atualmente como sendo selecionado neste colorido ficou aqui. Então vamos duplicar isso e adicionar um segundo. E você pode ver agora nós temos nu rho e nu rho 0. Agora, atualmente, porque nós duplicamos, eles são os mesmos, mas vamos mudar esta nova linha 0 realmente rapidamente aqui. Vou mudar o texto para ser material. E então vamos mudar a imagem também. T, milagre total. Agora podem ver que temos o Regresso e o material. E se você quiser alternar qual linha você está editando, você pode selecionar aqui. Deseja editar a nova linha 0 ou nu rho? Battle trocá-lo ao redor. Isso vale a pena mencionar, já que estamos aqui. Se você clicar com o botão direito do mouse em qualquer uma dessas linhas aqui, você pode inserir uma linha, você pode inserir uma nova linha acima ou abaixo. Você pode mover uma linha para o topo ou para baixo. Então você tem algumas opções diferentes aqui. Com esses caras, eu vou continuar e salvá-lo. Agora eu sei que ainda não adicionamos uma terceira fila aqui. Nós iríamos ter três caracteres, mas eu estou intencionalmente deixando um em branco porque eu quero adicionar isso quando nós exportamos esta tabela de dados e, em seguida, reimportá-la para dentro. Então, caras que vão fazer isso fora deste. Certifique-se de salvar isso. E se você fizer, voltando para a nossa guia principal, você está vindo em Arquivo, Salvar tudo ou mudar de controle em S, Isso salvará todos os ativos e seu projeto ampliar. Pessoal, isso vai fazer tudo por este. Vemo-nos na próxima.
18. Tabela de dados de exportação: Bem-vindos de volta a todos neste vídeo. Nosso objetivo é aprender como podemos exportar nossa tabela de dados aqui para um arquivo csv ponto externo que é um arquivo de valores separados por vírgula. Para que tenhamos os meios, a capacidade de fazer edições em nossos dados de forma mais eficiente em termos de tempo. Estamos falando da capacidade de visualizar e editar seus dados em programas como o Microsoft Excel ou o Google Sheets. Observe que a exportação e importação de uma tabela de dados que vamos discutir nos próximos dois vídeos aqui não é essencial. Podemos funcionar sem fazer isso trabalhando exclusivamente em irreal. Ou seja, editando exclusivamente esta tabela de dados. Embora, novamente, isso é super valioso para saber se pretende
modificar um monte de dados de forma rápida e fácil, apenas para mais uma vez, você pode trabalhar exclusivamente aqui e atingindo todos esses campos um de cada vez. Isso é com você, maneira perfeitamente válida de fazer as coisas. No entanto, se você estiver trabalhando com muitos dados, muitos caracteres aqui,
você pode querer exportar uma tabela de dados e seguida, editá-la em uma planilha e, em seguida, importá-la de volta. Então este vai mostrar-lhe como exportá-lo. Vamos voltar para o nosso editor principal aqui e aqui em nossa pasta de dados de interface do usuário de conteúdo. Vamos nos certificar de que temos nossa lista de personagens DT localizada e clicar com o botão direito do mouse nesse cara. E no topo estão as ações data.table nos permitem exportar para um arquivo CSV. Agora, muito rapidamente, CSV mais uma vez representa valores separados por vírgula. E se eu saltar para a minha aba de lista de personagens aberta de DT aqui, você pode ver que para algo como a categoria cheia de fotos, na verdade consiste em muitos dados na imagem,
no tamanho da imagem, uma tonalidade, etc. E todos os dados sob pick full são separados por vírgulas. Tudo bem, então vamos voltar para o seu editor principal aqui. Vamos clicar com o botão direito do mouse no personagem DT Rosser, exportar como um CSV. Agora ele vai nos perguntar, para
onde queremos exportar isso só por simplicidade. Simplicidade, vou colocá-lo na minha área de trabalho. Agora eu tenho algo chamado dados de jogador DT que é para um estilo de futebol, um projeto em que estou trabalhando. Vou chamar essa lista de personagens DT sob pontuação. E podemos ir em frente e salvar isso como, salvar como tipo. Certamente. Vamos guardar isso. E então vamos localizar esse arquivo e abri-lo. Então eu vou para o meu explorador de arquivos que eu abri aqui. Vou para a minha área de trabalho e lá está a minha lista de personagens DT. Vou clicar duas vezes nesse cara para abrir. E vamos ver o que temos. Tudo bem, eu vou minimizá-lo aqui só um pouquinho. E eu quero ter minha lista de personagens DT aberta em segundo plano porque eu quero comparar e contrastar aqui. Vamos ver o que temos. Portanto, note que todos os cabeçalhos de coluna diferentes que estavam presentes na lista de caracteres RDT, como role_name, desculpe, nome do personagem e ícone de rolo, pick portrait, et cetera. Isso está tudo aqui. No entanto, role_name não é tão simplesmente listado como traço, traço, traço, mas apenas saiba que esse é o nome da linha. Uma coisa que não está incluída nesta planilha é o índice de cada linha. Então temos índice rho um e índice linha dois. Então isso é algo que não temos a capacidade de editar. Tudo bem, então com isso, não
há nada que eu queira editar aqui porque vamos guardar isso para o próximo vídeo. Mas eu quero mostrar como você pode fazer
upload disso para o Google Drive também. Então, vou minimizar isso. Vou minimizar isto. E eu vou abrir o Google. E eu realmente tenho uma pasta dentro do meu Google Drive que eu quero colocar isso dentro. Deixe-me realmente voltar para o Explorador de Arquivos, abrir essa cópia de segurança, ir para a minha área de trabalho. Aí está minha lista de personagens DT. Então, se eu quiser importar isso para o Google, eu posso simplesmente clicar com o botão esquerdo do mouse, arrastá-lo para dentro, e ele vai começar a carregá-lo. O upload está completo. Então eu vou apenas clicar nisso. E agora o que eu quero fazer aqui é clicar em Abrir com o Google Sheets, clicando sobre isso, isso irá mostrar-lhe como ele se parece nas folhas do Google, essencialmente a mesma coisa. Deixe-me colocar o Microsoft Excel de volta. Então eu tenho o Excel em primeiro plano aqui, folhas
do Google em segundo plano. E se você já trabalhou com qualquer um desses, você essencialmente sabe como trabalhar com planilhas. Você pode ver todos os mesmos cabeçalhos de categoria há os mesmos que antes. Todos os mesmos dados estão presentes em cada um deles. Vou minimizar isso. Vou voltar para o meu Google Drive por um momento. Pode clicar de volta aqui. E se eu rolar para baixo, há minha lista de personagens DT. Então, mais uma vez, eu poderia clicar duas vezes sobre isso. Isso é abre a mesma folha do Google que eu tenho mais nesta guia. Muito bem, pessoal, nada de edição neste. Vamos guardar isso para o próximo vídeo. Então é assim que você pode exportar sua tabela de dados em um Google sheets ou Microsoft Excel. Vou fazer ponto para este. Vemo-nos na próxima.
19. Tabela de dados de importar: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é modificar externamente nossa tabela de dados aqui em forma de
planilha e, em seguida, re-importar são modificados tabela de dados para Unreal. Agora eu vou estar editando minha lista de personagens DT no formulário de planilha do Google. Você pode fazer isso no Excel também, mas eu vou fazê-lo no formulário de folha e, em seguida, transformá-lo em arquivo CSV do
Microsoft Excel e, em seguida, importá-lo. Porque acho que é um caminho um pouco mais difícil. Certo, vamos dar uma olhada no que temos aqui. Temos um par de linhas e um monte de colunas de dados para preencher. Agora note, quando eu clicar em algumas dessas células, como o ícone de papel, escolher retrato, você pode ver todas as informações que esta célula está parecendo entediada. Então algo como imagens, provavelmente não é ótimo para editar aqui em forma de planilha. No entanto, coisas como nível, XP, dinheiro, velocidade automotiva, saúde, essas coisas que estão exigindo valores, estas provavelmente fazem muito sentido para editar aqui em forma de planilha. Imagine se tivesse uma lista de jogadores de beisebol ou futebol. Eu trabalhei uma vez em um jogo de beisebol da liga principal. Editando. Todos os atributos de caractere na forma de planilha é melhor e mais eficiente em tempo. Vamos editar apenas algumas das propriedades agora para que possamos ver nossas edições quando reimportarmos isso de volta para um trilho. Então, esta primeira linha aqui, temos o nome do personagem de Revenant. Vou mudar o nível dele para ser um. E novamente, esses valores que coloquei não importam muito. Xp, eu vou, não sei. 2 mil dinheiro, 10 mil com certeza. Saúde. Dou-lhe 100 dólares. E a nossa próxima fileira aqui em baixo, vou editar o mesmo para o nosso personagem Meriel. Então nível, eu vou, eu não sei, 17 x b. Estou apenas digitando alguns números aleatórios. Dinheiro. Yada, blá, saúde vai dizer que você tem 50 de saúde, etc. Também podemos renomear nossas linhas aqui. Eu realmente não gosto do nome nova linha, então eu estou realmente indo para renomear a linha após a remanência do personagem. Muriel. Agora nós realmente queremos ter uma terceira linha de caracteres aqui, e isso vai ser para vários Rogge. Eu poderia clicar com o botão direito sobre esta cópia e colar esta linha aqui embaixo. Eu poderia. No entanto, eu vou simplesmente adicionar o nome vários Rog aqui mesmo. E eu vou deixar o resto destas entradas completamente em branco. Bem, isso vai resultar em é que quando tentarmos importar isso para o Unreal, vamos receber um erro e vamos ver como lidamos com esse erro e o que acontece quando tentamos importá-lo com esse erro? Tudo bem, então esta é todas as edições que eu quero fazer. Então, o que faremos a seguir? Bem, aqui em cima nós temos arquivo, então vamos entrar em arquivo e depois baixar isso como não um Microsoft Excel. Queremos baixar isso como valores separados por vírgula,
não valores separados por vírgula do Excel. Então, vamos clicar nisso. No momento em que o fizermos, vai começar a baixar isto. Vamos ver em que pasta ele colocou, mostrar na pasta. E eu vou apenas clicar nessa pequena seta para cima lá para mostrar na pasta. Ok. E isso está listado atualmente como lista de caracteres DT. Roster de personagens DT. Então o que eu vou fazer aqui é eu vou voltar para minha área de trabalho. Eu tinha um formulário de planilha para isso na minha área de trabalho e eu vou bombardear isso quando Alice,
então novamente, esta não é a minha pasta de downloads. Vou para a minha área de trabalho. Aí está minha versão antiga disso que eu tinha exportado do Unreal. Indo para excluir isso, deixe-me entrar em meus downloads e eu vou renomear isso pressionando F2. E isso simplesmente vai ser a lista de personagens DT como era antes. Certo, agora como importamos isso de volta para o irreal? Bem, vamos ficar irreais na frente e no centro aqui, voltando para os meus projetos de interface do personagem, e vamos trazer essa pasta de volta. E tudo o que precisamos fazer aqui é simplesmente arrastar e soltar isso de volta em nosso navegador de conteúdo. E quando o fizermos, vamos ter esse erro que eu estava falando sobre isso, deixe-me minimizar isso. E diz que não consegue encontrar certos dados. Por isso eu estou falando, se eu voltar para o Google aqui, meu Google Sheets, ele diz, hey, você não tem nada em qualquer ano. Qual é o negócio? Bem, vamos voltar ao irreal. E vamos apenas dizer OK por enquanto e ver o que acontece. Então diz que reimportou com sucesso as fendas da lista de personagens DT. Clique duas vezes sobre isso agora. E agora podemos ver que temos uma terceira fila aqui chamada Sever OG. No entanto, precisamos nos dar, vamos dar um nome de personagem imediatamente. Isso não está certo sem um nome, você pode ver como nossos nomes de linha foram renomeados para ser nossos nomes de caracteres. Isso é meio legal. E você pode ver que todos esses campos vazios que
deixamos nos vários Rock and Roll receberam um valor padrão. Por exemplo, são armadilha tem um tamanho de imagem de 32 por 32. Defina algumas imagens completas para Revenant imperial de 900 por 1100. Então, agora vamos em frente e salvar isso, porque está tudo bem e bom. Você está em uma posição onde você pode editar esta tabela de dados, como quiser, você pode fazê-lo aqui em irreal. Você pode fazer isso de volta aqui no Planilhas Google. Você pode fazê-lo no Microsoft Excel. E então, quando você estiver feliz com ele, você pode importá-lo de volta para o Unreal. Agora a boa notícia é que se você não quer passar por todo esse tempo, esforço e energia, eu vou lhe dar um atalho. Eu tenho em minhas listas de ativos oferecidos para esta classe, uma lista de personagens DT completa. Esta é uma planilha que eu preenchi com todos os dados que você vai precisar e você não deve ter que fazer nenhum trabalho extra. No entanto, eu gostaria que você fosse em frente e criar sua própria planilha aqui apenas para meio que pegar o jeito e aprender seu caminho em torno das interfaces, assim por diante e assim por diante. Então, novamente, você pode encontrar isso em nosso personagem você i ativos, que é o arquivo zip que você descompactou alguns vídeos de volta. Você deve ter lembrado que aqui, nós importamos as fontes. Também importamos as texturas. E você deve ter se lembrado que eu lhe disse para adiar a importação desses dados. Nós vamos agora é o momento em que você pode trazê-lo para dentro Então eu vou estar trazendo aqui em um pouquinho. Deixe-me voltar ao irreal aqui rapidamente. E você sabe o que, na verdade, antes de eu trazer isso para dentro, deixe-me selecionar minha linha Muriel aqui. E você sabe, eu dei a isso um nível, XP e valor de dinheiro de volta na planilha. E aqui você pode ver isso refletido aqui. Eu só queria salientar que, que esses números que realmente mudamos na planilha, eles preencheram aqui quando reimportamos isso e fez para Revenant é bem, vamos voltar para a nossa guia principal aqui, conteúdo, interface do usuário do personagem, dados. E vamos tentar trazer esta lista de personagens DT completa ou eu vou clicar com o botão esquerdo. E novamente, isso deve estar disponível para você. Vamos clicar com o botão esquerdo e arrastá-lo aqui. E vai pedir-nos para escolher uma estrutura importadores David tabela de dados, qual estrutura? Vamos dar dados de caracteres SCR. Isso tem que ser nomeado exatamente o mesmo. Caso contrário, não vai funcionar para você. E quando tentei me candidatar, vamos ver o que acontece. Ops, recebi um erro para a coluna de cores não ser encontrada. Agora, eu notei que eu fiz algo alguns vídeos atrás. E aqui está o problema. Então eu estou bem com esta mensagem mostrando de volta na minha estrutura para dados de caracteres, eu tenho um erro que ela não pegou. Deixe-me clicar em OK aqui. Voltando ao meu eu estou realmente indo para excluir isso fora e tentei relatar re-importá-lo em tudo apropriado, como nós vamos excluir isso por enquanto. Vamos voltar aos meus dados de caracteres. E se eu selecionar meu campo de cor, que é o que ele estava reclamando quando eu tentei importar isso em select. Você vai notar que eu tenho um pouco de espaço em branco aqui, e eu não tinha isso na minha estrutura quando eu criei esta tabela de dados originalmente. Então eu tenho um backspace assim. Isso é o suficiente para causar aqui, clique em Salvar, e agora vamos tentar importar essa lista de personagens completa. Aqui vamos nós. Vamos trazê-lo de volta. Esse símbolo de adição mostra que deve ser bom para ir. Vamos minimizar isso porque atrás aqui e dizendo, ok, você deseja importar uma tabela de dados, escolha o tipo de linha da tabela de dados. Vamos escolher os dados do caractere da estrutura. Nós vamos nos candidatar. Lá está ele. Vamos abrir para ver o que temos. E isso parece que ele é totalmente desenvolvido com todos os ícones e o que não. Tem provocações aqui, etc., etc. E algum áudio tau1. Ele tem isso para material e sever OG é, bem, uma coisa que você vai notar aqui é que eu tenho meus nomes de linha, definir um pouco de diferença. Eles atualizaram recentemente a interface da tabela de dados aqui. Então é por isso que parece um pouco diferente do que antes. Eles, sim, eles não têm a coluna de adicionar aqui em cima que todas essas coisas aqui em cima são relativamente novas. Certo, pessoal, agora vocês têm um par de tabelas de dados para brincar. Vamos fazer mudança de controle e pediu para salvar tudo aqui ou vir sob arquivo e você pode salvar todos, e que irá salvar todos os seus ativos e seu projeto. Pessoal, isso vai fazer isso fora para este, nós vamos ver vocês no próximo.
20. Blueprint de instância de jogos: Bem-vindos de volta a todos. Bem, agora temos uma tabela de dados cheia de guloseimas sobre nossos vários personagens. Se eu abrir toda a nossa lista de personagens, se ele importou isso no último vídeo, você pode ver que temos coisas como nomes escritos aqui, imagens, você tem vários atributos, campo fora, etc, etc. Você tem arquivos ensinados. São todos arquivos de áudio, etc. Como podemos obter todos esses dados fora de nossa tabela de dados em,
em nossa interface de usuário de personagem. Bem, para fazer isso, precisamos criar um ativo conhecido como blueprints de instância de jogo. Agora, vamos nos concentrar em criar esses recursos neste vídeo em particular, mas vamos fazer uso extensivo
desse blueprint de instância de jogo ao longo do curso. Certo, então vamos criar essa coisa. Eu vou entrar na minha pasta de interface do personagem aqui,
e eu vou clicar com o botão direito do mouse. Vamos criar uma nova pasta e vou chamá-la de plantas. E então eu vou clicar com o botão direito e colorir amarelo imediatamente. E dentro desta pasta, vou criar um novo tipo de ativo clicando com o botão direito do mouse. Vai ser uma nova aula de plantas. E não vai ser uma dessas classes comuns. Nós vamos ter que vir sob esta área de todas as classes bem aqui. E vamos procurar, por exemplo. Na verdade, deixe-me fazer uma busca por incenso jogo para ser mais específico. Ok? Vamos selecionar a classe da instância do jogo e selecioná-la clicando neste botão verde aqui. Certo, precisamos dar um nome a isso. Então vamos chamar essa instância de jogo sublinhado BP Enter. E você pode ver se eu passar o mouse sobre isso, ele diz que a classe pai é uma classe de instância de jogo. Vamos salvar isso imediatamente clicando com o botão direito do mouse nele. Escolhendo Salvar. E então vamos apenas clicar duas vezes sobre isso muito rápido para abri-lo. Agora seu primeiro pensamento é provavelmente algo ao longo da linha de, não
há nada aqui como o que, que bom é isso? De que serve isso? Bem, o que é bom é que nós podemos criar coisas como funções, como variáveis, como script aqui e acessar isso de qualquer lugar em nossos projetos de jogos. Então não importa se dividimos nosso jogo em um nível, um mundo aberto gigante, ou talvez dez níveis, ou 1000 níveis. Enquanto nosso jogo estiver sendo executado, você pode acessar qualquer uma das funções, variáveis ou script em sua Instância de Jogo BP, o blueprint da instância do jogo estará sempre disponível para acessar funções, variáveis, script, você nomeá-lo assim enquanto o jogo está em execução, que nos torna um grande candidato para abrigar extração de nossas informações tabelas de dados. Tudo bem, vamos voltar ao nosso editor principal aqui. Ainda não terminamos. Precisamos atribuir este blueprint de instância de jogo ao nosso projeto agora nosso projeto não está fazendo uso disso em tudo. Para atribuir isso a um projeto, precisamos entrar em configurações. E nas configurações do projeto. No lado esquerdo, vamos escolher mapas, n modos. E bem aqui nós vamos escolher a classe de instância do jogo. Agora eu tinha este ranhurado como instância de jogo BP de antes em fazer uma execução de teste deste vídeo. Mas apenas certifique-se de uma longa história curta que você tem encaixado isso em como BP Game Instance vai começar assim por padrão. Certifique-se de trocar a sua pela instância do jogo
BP, porque todo o script que vamos escrever para extrair esses dados da nossa tabela de dados david ocorrerá dentro do nosso blueprint de instância do jogo BPA. Agora, não há nenhum botão de salvar ou qualquer coisa aqui, então você pode simplesmente fechar isso. Este é provavelmente um bom momento se você ainda não fez isso para salvar todo o seu projeto novamente, você pode vir e em Arquivo, Salvar Tudo ou Control Shift S fará isso também. Tudo bem, pessoal, isso é tudo o que queríamos fazer neste. Vemo-nos no próximo vídeo.
21. Obtenha a função de dados de personagens: Bem-vindos de volta a todos. Nesta série de vídeos, vamos criar uma função para nos permitir extrair alguns dados da nossa tabela de dados. E ao fazer isso, vamos ser capazes de vincular esses dados
a vários elementos de nossa interface do usuário do personagem aqui, isto é, para preencher dinamicamente O que é nossos personagens Level, Money amount, nome, afinidades, assim por diante e assim por diante. Agora, isso é tudo, eu acho que você poderia dizer, difícil aqui. Só colocamos as receitas do nome e
colocamos uma quantia em dólar e colocamos um nível. Mas queremos que tudo isto seja extraído da nossa tabela de dados. Neste vídeo são específicos. O objetivo é criar uma função no lado do nosso blueprint de instância do jogo que nos permitirá extrair todos os dados do personagem. Então vamos voltar ao nosso editor principal aqui. Venha nesta pasta,
conteúdo, blueprints de interface do usuário do personagem. Vamos trabalhar dentro da instância do jogo da BP. Agora o que queremos fazer aqui é criar uma função workhorse, por assim dizer, que nos permitirá extrair todos os dados que precisamos da nossa tabela de dados. Então vamos criar uma nova função. Podemos fazer isso aqui no painel “My Blueprint”. Vamos entrar sob funções. E para a direita. Quando passarmos o mouse sobre isso, temos o botão de função mais. Vamos clicar nisso. E nós vamos dar um nome a isso e eu vou chamar isso de dados de caracteres. Agora você vai notar que uma vez que eu clicar neste botão de função mais, ele abriu uma nova guia aqui que dizia que a nova função 0. E nós temos este pequeno nó assim que eu apertar entrar aqui. O nome desta função é definido, e isso é refletido aqui nesta guia, bem como neste nó inicial. Agora esta é essencialmente a entrada em nossa função que estamos prestes a criar um fio de execução no que queremos construir aqui. Ok, então o que queremos fazer com isso obtém função de dados de caracteres. Bem, eu vou arrastar um fio para fora daqui. Esta é uma execução onde você está indo para liberar o seu clique esquerdo e, em seguida, você vai fazer uma pesquisa para Obtém tabela de dados. E quando você apenas digita obter tabela de dados, temos três opções diferentes aqui. Queremos a linha da tabela de dados, esse cara aqui. E precisamos selecionar qual tabela de dados queremos extrair informações. Então eu vou selecionar aqui onde diz Select asset. Agora vou tirar isto da minha lista de personagens. Esta é a tabela de dados que tenho, todas as informações já preenchidas. Se você quiser vinculá-lo a alguma outra tabela de dados que você criou por conta própria. Você tem que adicionar. Agora, voltando para a nossa lista de personagens DT aqui, aqui está a minha lista de personagens. Eu tenho isso, você está no topo. Preciso especificar um nome de função. E aqui na nossa tabela de dados podemos ver que temos esta coluna para role_name 012. Então este nó de função aqui quer saber, hey, qual linha você deseja extrair dados? E você pode ver que é um jogo duro aqui para 01 ou dois. Essas eram as minhas opções. Eu posso definir duro aqui. E também eles são refletidos aqui na própria tabela de dados. Role_name é 01 ou dois, não esses índices, mas a linha nomeia 01 ou dois. Agora, eu quero construir uma variável aqui porque eu quero ser capaz de mudar isso eventualmente. Então o que vou fazer aqui é clicar com o botão direito do mouse neste nome da linha. E vamos promover isso a uma variável. E eu vou chamar essa variável de jogador selecionado. E eu vou colocar sublinhado ins t, então jogador selecionado em quatro, abreviação para instância do jogo, isso vai ser bom e bom. E agora esse aviso meio escondido lá embaixo. Então você pode ver que temos nossos detalhes variáveis aqui à direita. Este é o tipo de variável de uma variável de nome. Se eu compilar, agora posso definir um valor padrão de 01 ou dois, y 01 ou dois, porque de volta na minha lista de personagens, ele está mostrando que eu posso configurá-lo para ser 01 ou dois. Certo, a próxima coisa que queremos fazer é pegar alguns dados dessa linha. Então nós vamos puxar para fora deste outro pino de saída, clique com o botão esquerdo e arraste liberação. E você vai estar procurando por dados de caracteres STR de quebra. Então, se você simplesmente digitar em pausa, você pode encontrar este nó. E o que isso vai nos permitir fazer é divulgar todas
as informações dentro dessa fila. Você tem essa pequena seta suspensa aqui. Então, vamos clicar nisso. E então agora vamos entender o que temos acontecendo aqui. Eu tenho um jogador selecionado inst, caso
em que eu posso definir na minha lista de personagens, que linha eu quero falar? 01 ou dois. Atualmente, ele está definido como linha 0, que é minha linha Revenant. E então eu posso tirar dessa fila qualquer informação. Quero um nome de personagem, uma imagem, provocações, cores ,
etc., etc. Agora queremos devolver qualquer informação que quisermos aqui. Então o que eu preciso fazer é adicionar um nó de retorno. Vou clicar com o botão direito do mouse e algum espaço vazio e apenas digitar no nó de retorno e retorno. Agora, se esta linha for encontrada, nosso fluxo de execução fora desta linha get tabela de
dados continuará e podemos retornar algumas informações. Se não estiver vinculado. Digamos que temos em uma fila inválida aqui, digamos que eu coloquei o número dez aqui. Nós não temos dez entradas, modo que seria inválido, não encontrado. Poderíamos fazer outra coisa, mas vou deixar esta saída de execução vazia. Agora, este nó de retorno, precisamos adicionar um monte de saídas. Se quisermos retornar, digamos, o nome do personagem, precisamos ser capazes de conectar isso em nosso nó de retorno. Aqui estamos extraindo o nome do personagem do rho 0, mas não o devolvemos a lado nenhum. Então o que precisamos fazer é selecionar este nó de retorno e adicionar essas variáveis semelhantes a ele. Então, com o nó retornado selecionado no painel Detalhes sob saída, vou clicar neste botão de adição. E você pode ver que atualmente diz novo param e é um tipo booleano. E vemos isso refletido aqui. Vou selecionar aqui nas mudanças para ser o nome do personagem. Aperte enter. E eu quero mudar o tipo de variável para ser exatamente
o mesmo tipo de variável que eu tenho sobre este lado. Então, neste caso, passando o mouse sobre este pin, ele diz que é um texto variáveis. Vamos mudar isso de booleano para mensagens. E agora eu posso conectar este personagem chamado saída em nosso personagem ou nossa entrada de retorno. Então agora entenda, estamos dizendo que quando vamos chamar essa função, vamos descobrir, hey, qual linha de nossa tabela de dados você deseja extrair informações de O? Você deseja extraí-lo da linha 0. Essa é esta linha aqui, rho 0. Ok? Se encontrarmos essa linha, queremos retornar algumas informações. Neste caso, estamos retornando apenas o nome do personagem. Agora eu quero ser capaz de extrair qualquer tipo de informação aqui. Então eu preciso adicionar um monte de saídas aqui que correspondam a todas essas saídas bem aqui. Então eu só vou adicionar mais alguns que eu vou pausar o vídeo e deixar você chegar a ele. Com isso, quero dizer, vamos fazer isso. Vou adicionar uma saída novamente para o nosso nó retornado selecionado. Além disso, o próximo aqui em baixo é ícone rolar. Então eu vou digitar o ícone de rolo. Agora, qual deve nossa variável aqui, B-A. Vamos pairar sobre isso. Diz que queremos que seja um pincel de ardósia. Então eu vou mudar isso para ser pincel de ardósia. Lá está ele. E eu posso ligar isso agora. E vamos adicionar outra saída ao nosso nó retornado. Este vai ser chamado de picareta retrato. E isso também deve ser um pincel de ardósia, e já é. E deixe-me acrescentar, vamos tentar corda esticada aqui para ser um pouco diferente aqui. Novo parâmetro, eu vou dizer seqüência de provocação, pressione enter. Novamente. Este é o tipo de variável de uma string. E vamos conectar isso e assim por diante e assim por diante. E agora você vai ver como vamos ter um desses fósforos, um desses no lado esquerdo. Agora, algo a observar aqui, você pode reordenar sua lista de saídas aqui clicando nessas setas para cima ou para baixo. Se eu quisesse corda esticada para mover um para cima, eu posso simplesmente clicar aqui. E agora ele se moveu para cima. Mas é claro que eu não gosto desses fios cruzando, então eu vou movê-lo de volta para baixo. Tudo bem? Então você vai querer fazer isso para cada uma dessas várias saídas tipo de passando pelo processo que eu acabei de passar. Eu vou pausar o vídeo aqui e eu vou me juntar a você depois que eu ter construído tudo
isso fora e você tem que mostrar a você qual o seu resultado final deve ser. Tudo bem, finalmente terminei de adicionar todas as saídas aqui ao meu nó de retorno. Talvez seja uma boa hora para pausar o vídeo aqui só para ter
certeza de que você tem tudo o que eu tenho aqui. Apenas algumas notas aqui para a saída de provocações
garante que você tenha definido para um tipo de objeto de onda sonora. E que você tem este tipo definido aqui para uma matriz. Você pode clicar neste pequeno ícone aqui, basta configurá-lo para ser uma única variável ou uma matriz. Isto deve ser um array. Também tome nota aqui que para a nossa capacidade 12345 tipo, se eu passar o mouse sobre
isso, ele é definido para a nossa estrutura de habilidade personagem. Isso vai apontar todas as variáveis dentro de nossa estrutura de habilidades de caráter. Eu tenho isso aberto aqui. Coisas como os nomes de propriedades dos valores de propriedade,
os ícones e descrições. Você vai ver que mais na estrada voltando aqui para minha instância de jogo BP. Então é assim que nossa função se parece internamente. Qual é a aparência desta função quando arrastamos e soltamos em um gráfico de eventos. Bem, eu vou selecionar meu gráfico de eventos aqui. Isto não é realmente onde eu vou estar acessando esta função de dados de caracteres get. Vou fazer isso a partir de um plano diferente. Mas só para mostrar o que nós basicamente construímos, se eu arrastar e soltar isso em nosso gráfico de eventos. Você pode ver que agora temos saídas para todos os nossos vários bits de informação aqui que podemos querer acessar sobre o nosso personagem. Ótima. Vamos clicar em Excluir lá mais uma última informação que precisamos. Antes de encerrarmos este vídeo, você deve ter certeza que você tem todos os seus fios ligados aqui, cada um deles. E quando você terminar com isso, você quer compilar para ter certeza de que tudo que você construiu aqui é Bom. Você tem marca de verificação verde. Se for bom, você não terá uma marca de seleção verde se ele encontrou algum tipo de erro. E então você quer salvá-lo. Muito importante que você compilar e salvar aqui. Porque precisamos acessar essa função em nosso próximo vídeo. E se você não fizer isso, você não será capaz de acessar esta função. Muito bem, pessoal, nós construímos a função “workhorse” para o resto do nosso curso. Vamos colocá-lo para uso nos próximos vídeos. Te vejo lá.
22. Ligação de nomes de personagem: Bem-vindos de volta a todos. Bem, agora temos uma tabela de dados preenchida com todos os nossos dados de caracteres. No último vídeo, criamos uma função com a qual
podemos extrair dados de nossa tabela de dados. Neste vídeo e nos vídeos a seguir, vamos torná-lo de modo que nós vamos estar vinculando certos widgets aqui,
como nosso nome, Level, Money, afinidade, assim por diante e assim por diante. Dois dados que estão presentes em nossa tabela de dados. Como é que fazemos isso? Bem, em primeiro lugar, o que precisamos fazer é ter certeza que temos esse personagem da WEB que você abre. Então vamos nos certificar de que estamos todos na mesma página aqui e vindo sob um personagem de conteúdo widgets UI, vamos ter certeza de que você tem WEP personagem UI Open. Tudo bem, então neste vídeo nós queremos nos concentrar em vincular nosso nome aqui a alguns dados presentes em nossa tabela de dados. Agora, antes que possamos fazer isso, precisamos de uma referência à nossa instância de jogo do Blueprint. E para fazer isso, vamos saltar para fora da nossa guia Designer
aqui, para a guia gráfico. Então, mais na guia gráfico temos alguns eventos que estão aqui por padrão, eu vou me livrar deste evento tick clicando com o botão esquerdo,
arrastando, pressionando Excluir Evento pré-construído. Vou clicar com o botão esquerdo do mouse em arrastar e excluir. E eu quero essa construção de evento. Este evento vai disparar um sinal
assim que seu personagem UI é soma em aparecer na tela. Então o que eu quero fazer é arrastar o fio para fora disso, fazer uma busca, na verdade eu não quero arrastar um fio para fora disso. Em primeiro lugar, eu só quero clicar com o botão direito em algum espaço vazio aqui que eu quero fazer é procurar obter Instância de Jogo. E agora arrastando um fio para fora daqui. Eu quero fazer uma busca por elenco para ser uma instância de jogo PI. E nós queremos, nós queremos ligar em nosso evento construído aqui. Então isso é essencialmente o que temos até agora, é quando nossa interface aqui é construída, este evento será disparado. Então ele vai perguntar, hey, qual é o nosso blueprint de instância de jogo que estamos usando para este projeto é que são BP Game Instance. E se você se lembrar bem, nós definimos isso como a instância do jogo que nosso projeto aqui deve usar. Se isto for bem sucedido, vai disparar um sinal para fora daqui. Se falhasse, dispararia um sinal para fora daqui. Agora sei que vai ter sucesso. Então, vamos disparar para fora daqui. Então agora fora disso como instância do jogo BP, eu posso clicar com o botão direito sobre este pin de saída e promover isso para uma variável. Eu vou fazer isso. E
ao fazer isso, no lado esquerdo no painel Meu plano, temos uma variável que está sendo criada. No entanto, eu quero renomear isso e eu quero renomeá-lo como instância de jogo BP ref. Então vamos entender o que este script. Está fazendo agora. Assim que essa interface do usuário de personagem é construída, isto é, ela aparece na tela. Vai dizer, ei, você está usando o jogo, a Instância
do Jogo da BP? Se você estiver, vamos salvar esta instância do jogo em uma variável. Isso é o que está acontecendo com tudo isso. E basta clicar com o botão esquerdo e arrastar, toque no insight da tecla C estar em referência à Instância de Jogo BP. E eu vou colorir é preto. E podemos fazer isso com esta caixa de comentários. Só vou mudar a cor para preto só para tornar estes fios um pouco mais fáceis de ver. Agora, de que serve isso? Bem, quando tivermos uma referência à nossa instância do jogo, podemos falar com ela. Podemos extrair alguns dados do nosso blueprint de instância de jogo. E a razão pela qual estamos criando uma referência a ela é porque queremos
extrair essa função de lá, essa função de dados de caracteres get, porque uma vez que temos acesso a essa função, podemos acessar tudo isso vários dados sobre uma linha selecionada em nossa tabela de dados. Tudo bem, então vamos voltar para a nossa UI personagem WPP. Vamos compilar isso só para garantir que nosso script ouça bem. Compilar. Marca de verificação verde significa, sim, sem erros. Estamos prontos para ir lá. Agora vamos voltar para a nossa guia Designer. Agora, com o nome de nosso personagem selecionado aqui no painel Detalhes bem ao lado dele, temos esse pequeno vínculo descartado. Vamos em frente e clicar nisso. E vamos criar uma ligação. Então, clicamos nisso. Ele vai nos saltar para fora da guia Designer para a guia gráfico. E isso vai nos levar a criar uma função. E eu não gosto do nome dessa função, então nós vamos mexer com isso. Então, no painel My Blueprint, vamos rolar todo o caminho até a roupa interior nossas funções são, e esta é a função que acabou de criar aqui. Então eu vou selecionar isso, aperte F2. E eu vou renomear isso para ser Get Name. E nós vamos apertar enter lá e você vê o nome da
nossa mudança de guia, bem como este nó de entrada em nossa função aqui. E agora o que eu quero fazer? Bem, eu vou encontrar minha variável de instância de jogo aqui em baixo. O que acabei de criar uma referência para isso está aqui no nosso gráfico. Acabamos de criar esta referência à nossa instância do jogo. E então eu vou arrastar e soltar isso em nosso gráfico. Vamos colocar isso dentro de nossa função GetName. Então agora com esta referência, podemos extrair coisas dela. Vamos arrastar um fio para fora dele e fazer uma pesquisa para obter dados de caracteres. Então agora observe o que temos acontecendo aqui porque temos uma referência à nossa instância do jogo. Posso chamar a função, obter dados de caracteres de dentro dela. Vamos ligar isso assim. E agora que informação queremos tirar disto? Obter dados de caracteres. Neste caso, queremos obter o nome do personagem. Agora, aqui está uma coisa que eu quero anotar bem aqui. Olhe para o nó de retorno para esta ligação específica. Estamos vinculando nosso nome de personagem aqui. Então criamos uma função chamada getName. Ele de volta aqui na função que estamos criando dizendo, hey, ele está procurando um valor de retorno que é da variedade de textos. E você não sabe, nosso nome de personagem é da variedade de textos também. Isso não é engano. Quando estávamos criando nossa estrutura para dados de caracteres, eu sabia que tipo fazer todas essas várias variáveis dentro de nossos dados de caracteres estruturados. Devido aos valores de retorno que vai ser associado a cada uma dessas associações. Aqui está à procura de uma ligação de texto. Então aqui em meus dados de caractere struct, eu sabia fazer esse nome de caractere da variável de texto. Vou martelar esse ponto para casa enquanto continuamos. Certo, então agora devemos ter o nome do personagem. Agora, qual o nome do personagem? Porque temos na nossa lista de personagens cheia aqui, temos três fileiras diferentes. Fila 0, linha um e linha dois. Esse é o nome de nossas linhas, não os números de índice aqui, o nome de nossas linhas 01 em. Então, se eu olhar no meu personagem WPP UI, ok, qual nome é semelhante a retornar? Bem, vamos saltar para a nossa Instância de Jogo BPM. E dentro de nossa função aqui, estamos dizendo que queríamos puxar linhas 0, que é o nome da linha selecionada, rolar 0. Então, se olharmos para o nosso personagem Rosser completo, do
qual ele está tentando tirar essa fila. Estamos à procura de Rho 0, este nome de personagem bem aqui de ressonância. Então isso é tudo o que devemos precisar fazer aqui em nossa UI personagem WPP. Vamos em frente e compilar, salvar. E se jogarmos,
podemos ver o nome aparecendo na tela, mas realmente não sabemos se mudou porque
tínhamos escrito no texto Revenant lá de antemão. Como eu sei que isso está realmente funcionando? Como sabemos que isso está realmente puxando esse nome da tabela de dados enquanto eu estou indo para escapar aqui. E vamos tentar alguma coisa. Vamos fazer um teste. Vamos para a nossa instância de jogo bp aqui. E vamos mudar nossa instância de jogador selecionada. Não para ser rho 0, mas rho um em vez disso. Ok? E se olharmos em nossa lista de personagens DT cheia, que é a tabela de dados que estamos tentando retirar. Estamos dizendo que queremos puxar da linha nomeada os nomes de personagens devem ler material agora. Então vamos voltar para o nosso personagem BP WPP UI. Podemos clicar em jogar a partir daqui. E o que você percebe? O nome do personagem é mudado amanhã porque estamos dizendo a ele para sair desse papel. Vou acertar a fuga bem aqui. Assim, podemos ver que isso está funcionando agora. Vou voltar para a minha Instância de Jogo da BP. E apenas por enquanto, eu vou selecionar minha instância de jogador selecionada e eu vou mudar isso de volta para 0. Então é assim que podemos criar, deixe-me compilar e salvar isso rapidamente. Podemos criar uma ligação dentro da nossa interface do personagem WPP para um dos nossos widgets, acabamos de criar a nossa primeira ligação para o nosso nome de personagem. Agora vamos fazer isso por muitos desses outros elementos na tela também. E seguirá um processo semelhante. Mas pessoal, isso vai fazer tudo por este vídeo, vamos ver vocês no próximo.
23. Fix de erros de Widget: Bem-vindos a todos. Venho até vocês do futuro com uma palavra de cautela, uma palavra de aviso sobre como corrigir um bug que está presente no curso do qual eu queria alertá-lo. Tudo bem, agora, eu vou voltar depois que eu terminar este curso e inserir este vídeo aqui para ajudar a evitar que você cometa o mesmo erro que eu cometi agora, como você pode ver, eu tenho um monte de erros aqui em baixo no meu Esquema do widget. Bem, o que aconteceu, mas o que aconteceu é que quando
criei este curso, nunca fechei meu projeto aqui. Eu coloquei meu computador em modo de suspensão no final da noite e então eu vou me levantar de manhã. Mas eu nunca fechei meu projeto. No entanto, quando eu fui para realmente fechar meu projeto e reabri-lo novamente e compilou o meu Widget Blueprint aqui, eu notei um monte de minhas ligações de widget aqui estão quebradas. Agora, até este ponto do curso, criamos apenas uma ligação de widget. No entanto, vamos criar muitos deles ao longo deste curso. E você não quer cometer o mesmo erro. Eu fiz. Então eu vou mostrar a vocês como corrigir isso
aqui mesmo para que quando você passar por este curso, você não acabar com ligações de widgets quebradas e é um super simples fixo, meu ruim. Então vamos para a nossa função getName aqui, a única ligação que criamos. E se eu clicar nesta função goto novamente, eu tenho meu nome selecionado aqui. Ir para a função que vai saltar-nos para a guia gráfico aqui é nossa função que criamos para preencher esse widget particular. Agora o que estamos fazendo nesta função é re pegando uma referência à nossa instância do jogo. Estamos, então, acessando essa função de dados de caracteres que vive dentro de lá. E então estamos tirando a informação que queremos, o nome do personagem, apenas dica, dica, pisca, pisca. O que está acontecendo mais tarde no curso é que estamos realmente atualizando esta função, daí o nome atualizado, mas você vai descobrir isso mais tarde no curso. O problema que estamos encontrando aqui é que nós
não estamos realmente verificando se esta variável
aqui realmente contém alguma coisa que ela está mesmo em existência antes de tentarmos extrair essa informação dela. Agora, muitas vezes, quando você está fazendo scripts, você precisa verificar se uma determinada variável é válida. Ou seja, se ele existir antes de tentarmos acessar algumas informações a partir dele, isso é apenas um problema de tempo. O que está acontecendo é assim que este Widget Blueprint está sendo chamado para aparecer. Dizendo aqui em baixo, quando eu compilei dizendo “hey “, eu não sei do que você está falando aqui. Referência de instância de jogo Bp. Não sei do que estás a falar, que não conseguimos localizar isso. É tudo uma questão de tempo. Isso acontece em todos os milissegundos. Tudo o que eu preciso fazer é ter certeza de que isso existe antes de nós, em seguida, obter essa função e deve ser resolver problemas. Então é assim que consertamos essa maneira muito longa de dizer tudo isso. Temos nossa referência de instância de jogo bp. Se eu simplesmente clicar com o botão direito do mouse sobre isso e eu escolher
opção inferior converte para validado fica assim. E eu faço assim. E eu faço assim, Walla, isso deve resolver o problema. É isso. Isso é tudo que você precisa fazer. Quer ver uma repetição disso? Novamente para todas as suas funções que você vai criar para suas ligações de widget, para todas elas. Você receberá uma referência à sua Instância de Jogo da BP. E novamente, fizemos isso em nosso gráfico de eventos fora de nossa construção de eventos aqui é onde estamos definindo isso. Você simplesmente arrasta em uma referência à sua instância de jogo BP e seguida, você clica com o botão direito sobre ele e você converte para um get validado assim. Então é assim que sua ligação deve olhar para a frente. Não cometa o mesmo erro que eu fiz agora só para mostrar que isso vai resolver o problema aqui na minha lista de erros, ele diz o nome do texto. Eu não consigo encontrar o que você está falando aqui. Estamos tentando conseguir isso, blá, blá, blá. Ok, então se eu compilar
isso, isso ainda não vai desaparecer. Por isso, repare no nome do texto aqui. Eu vou compilar e vai ser como para cima, ele não corrigi-lo. Agora, o que você também precisa fazer aqui é voltar para a guia Designer. E mesmo que seja, ele mostra que esta função é entalhada lá como GetName. Basta clicar fora deste, clicar de volta em como GetName, Eu não sei por que eu tenho que fazer isso. Você apenas faz. Vá em frente e compile mais uma vez. E reparem que isto aqui vai desaparecer da nossa lista de erros. Compilar, boom, que um se foi e anote todas as outras ligações e o Sr. WE Andra tem que voltar e consertar. Então pessoal, é assim que se resolve esse erro. Certifica-se com todas as suas ligações widget a seguir para a frente que você tem esta versão, um get validado de r BP Instância Jogo. Tudo bem, pessoal, isso vai fazer tudo por este vídeo. Vejo-te no próximo.
24. Ligamento de imagem de personagem: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar uma ligação dentro de nossa interface de usuário de personagem aqui que a imagem de personagem completa apropriada seja atualmente, nós temos apenas um conjunto difícil para mostrar nosso Revenant completo. No entanto, se estamos olhando para material ou sever OG, queremos que essas fotos para mostrar em vez disso. Então, como é que fazemos isto? Primeiro, vamos nos certificar de que estamos todos na mesma página. Voltando ao nosso navegador de conteúdo aqui, certifique-se de que você tem w BP personagem UI aberta. E nós já criamos uma referência sobre em nossa guia gráfico aqui, deixe-me voltar para o gráfico de eventos. Nós já criamos uma referência ao nosso blueprint de instância de jogo. Isto vai dar-nos acesso à nossa função de dados de caracteres que vive dentro daqui. Então agora isso vai ser fácil. Vamos voltar para a interface do personagem WPP. Vamos voltar para a guia Designer. E mesmo ao lado do nosso personagem de imagem, onde diz imagem de pincel, você vai encontrar um botão de ligação. Vá em frente e clique nisso. Vamos criar uma nova ligação para isso. Ele vai saltar-nos da guia Designer para a guia gráfico. E ele vai nos pedir para criar uma função a fim de extrair essa imagem. Agora, novamente, ele vai começar com um nome padrão aqui, que eu não gosto. Alguns vão clicar com o botão esquerdo do mouse criar algum espaço entre nossa entrada e nossos nós de saída aqui. Vou clicar aqui em cima e apertar F2 para dar um novo nome a isto. E eu vou chamar isso de escolha completa. E agora você vê que o nome é atualizado aqui. O nome é atualizado em sua própria guia de função separada, e você vê a atualização de nome aqui. Agora, assim como fizemos em nossa função getName, eu vou apenas clicar duas vezes sobre isso aqui. Queremos obter uma referência para a nossa instância de jogo bp. Então vamos voltar para a nossa função para obter a escolha completa. Vamos encontrar nossa referência aqui na lista de variáveis. Clique com o botão esquerdo do mouse e arraste. Nós vamos pegá-lo. Queremos obter alguma informação a partir dele. E agora que temos uma referência à nossa instância do jogo, vamos arrastar um fio para fora disso e digitar,
obter dados de caracteres, exatamente como fizemos antes. Vamos ligar este fio à função. Vamos manter o fluxo de execução saindo de
nossa função de dados de caracteres Get no nó retornado. E agora está dizendo, bem, o que queremos retornar se eu passar o mouse sobre esta entrada aqui diz um pincel de ardósia. E nossa escolha completa é da variedade de pincel de ardósia também. Então, novamente, como eu sabia que esta escolha completa deve estar em nossa estrutura STR para dados de caracteres. Como eu sabia que este deveria ser um tipo de variável de pincel de ardósia? Bem, porque quando eu passei pela criação
deste curso e criando uma ligação para isso, eu posso ver aqui mesmo no nó retornado quando eu estava tentando criar uma ligação para ele,
ele estava procurando um tipo de pincel de ardósia. Então vamos ligar isso. Como assim. E eu vou compilar, ter
certeza que meu roteiro aqui é bom e seguro. Agora, vamos entender que agora na minha Instância de Jogo BP, o personagem atual que eu estaria puxando é a linha 0. E novamente, olhando para nossa lista de personagens DT completa, isso significa que estaríamos vendo o nome do personagem de Revenant, a armadilha de Revenant também. Vamos mudar isso. Vamos mudar isso para ser o número dois, o role_name de dois ou vários Rog. Tudo bem, então vamos para a nossa instância de jogo bp. Vamos mudar nosso role_name aqui de 0 para dois. Pressione Enter. Vamos compilar e salvar isso. E podemos jogar o jogo direto daqui. E vamos ver o que acontece. Vamos dar uma olhada. Agora estamos mostrando o nome sever OG e a foto cheia de Sever OGG porque criamos ligações agora para o nosso nome e a nossa imagem completa. Nós não fizemos nada com ícones de afinidade ou nível ou qualquer coisa, apenas esses dois pedaços de informação, nossa imagem e nosso nome. Da mesma forma, se eu me deixasse sair daqui em apenas um segundo e você sabe o que, eu vou voltar para esta era aqui em apenas um segundo porque eu tenho um truque aqui. Eu quero mostrar a todos e apenas um pouco, se eu fosse voltar para a minha Instância de Jogo BP e mudar a instância do jogador selecionado para haverá uma. Ele vai puxar de role_name uma vez que devemos ver o nome milagre e a foto completa para Meriel é, bem, vamos dar um jogo de tentativa. E aí está, Muriel. E a escolha completa de Meriel. Agora vamos resolver esse erro. Você pode estar vendo esse erro aparecer algumas vezes. E ele está dizendo acesso, nenhum, tentando ler a propriedade BP referência instância jogo está dizendo, isso parece uma referência vazia. Não vemos nada acontecendo aqui. Bem, o que está acontecendo é se eu voltar para a minha
interface do personagem WPP e eu ir para o meu gráfico de eventos no início. Quando essa interface do personagem W BP é criada, ela deve estar criando essa referência para nossa instância do jogo. No entanto, ao mesmo tempo, está tentando acessar essa referência para tirar a imagem dela. Este é um processo um pouco mais lento. Vai lançar este erro. Agora você viu que ele apareceu, tudo bem, no jogo. E assim você pode optar por ignorar esse erro. No entanto, se isso está deixando você louco, você também pode obter acesso a uma instância de jogo de outra maneira, como? Bem, fazendo isso. Então esta vai ser uma maneira alternativa de obter uma instância de jogo basta clicar com o botão direito do mouse. Não é espaço vazio digitação get instância jogo. E não importa se você escolher este obter Instância do Jogo ou este obter essência do jogo. Vou escolher aquele lá em cima. Secar fora daqui. Eu vou lançar dois são instância do jogo BP. Vou apagar esse cara. E eu vou colocar isso em seu lugar. Então, se isso parece familiar, é porque é. Se você voltar para o seu gráfico de eventos aqui, você pode ver que quando nossa interface de usuário do personagem WB p for construída, nós queríamos obter nossa instância do jogo. Descubra, hey, qual é a essência do jogo que estamos usando para este projeto é que a BP Game Instance. E então estávamos salvando isso em uma variável. Isso é meio que fazer isso em um nível mais direto aqui na própria função. Então aqui estamos nós dizendo, OK, você quer obter o quadro completo? Bem, vamos pegar nossa Instância de Jogo. É a Instância do Jogo da BP? E se for, podemos obter dados de caracteres. Você precisaria arrastar um fio para fora daqui e digitar dados de caracteres git. É assim que você pode encontrar essa função ali mesmo, basta clicar com o botão direito do mouse em fazer dados de caracteres de dívida, você não vai encontrá-lo. Porque esta é uma função que só vive dentro daqui. Então você tem que tirá-lo de lá. E então você pode obter a escolha completa. Então vamos tentar isso. Mais uma vez, vou compilar e salvar. Vamos jogar. Vemos a imagem mural, vemos os textos de Muriel. Vou apertar o registro de mensagem de escape, sem erros. Estes são alguns erros mais antigos de antes. Então, por que recebemos esse erro? Quando estávamos tentando ligar isso ligado para o nosso escolhido completo, mas não, mas não o nosso nome. Não sei a resposta para isso. Mas saiba que você tem um par de opções aqui para obter a instância do jogo. Você pode obter a referência em si. Como estávamos fazendo aqui em nossa função GetName que criamos, ou em nosso gueto, escolha a função completa que criamos. Você pode obter Instância de Jogo e, em seguida, lançar para a sua instância de jogo,
a fim de obter a função de dados de personagem e, em seguida, extrair o porco cheio de lá. Tudo bem, então nós temos duas ligações criadas em nossa interface do personagem, uma para o nome e outra para a imagem completa, morre vai fazer tudo para este, vamos ver quando o próximo.
25. Ligação de papel: Muito bem, bem-vindos de volta a todos. Neste vídeo, nosso objetivo será criar uma ligação dentro da
interface do usuário do personagem para que o ícone de rolo de personagem apropriado exiba K. Agora você deve estar se familiarizando com esse processo porque ele vai ser muito o mesmo . Mas vamos apenas fazer backup das coisas e garantir que estamos todos na mesma página. Portanto, certifique-se de volta em seu navegador de conteúdo, você tem sua interface de usuário w BP aberta. E dentro daqui vamos querer ter certeza de que temos este ícone aqui selecionado. Deve dizer “rolagem de imagem” na hierarquia. É para isso que queremos criar uma ligação. Então, com isso selecionado no painel Detalhes sob aparência, pincel, vamos clicar em vinculação. Uma vez que o fizermos, ele vai nos saltar do modo designer para modo
gráfico, vincular, criar vinculação. E ele vai nos pedir para criar uma função a
fim de ligá-la à imagem apropriada. Vamos criar algum espaço aqui. E depois quero mudar o nome porque não gosto desse nome. Vamos selecionar nossa nova função que acabou de criar aqui. Eu vou bater F2 sobre isso também, editar seu nome e eu vou chamar isso fica ícone rolo. Agora podemos pegar um atalho aqui. Tínhamos sido escolhidos completamente, certo? Confira isso. Em vez de eu reinventar a roda bem aqui e, você sabe, pegar nossa instância do jogo BP, etc. Só vim para encher o porco. Vou destacar estes três nós. Clique com o botão esquerdo e arraste. Faça o controle C para copiar, venha para obter ícone de rolo, controle V para colar. E depois vou ligar estes apropriadamente. Agora observe que nosso valor de retorno que ele está procurando aqui está procurando por um pincel leve. E você não sabe, nosso ícone de papel é da variedade de pincel de ardósia. Novamente, isso não é erro. Eu sei, eu sabia que quando criei nossa estrutura para nossos dados de personagens, que nosso ícone de papel deveria ser da variedade de pincel de ardósia. Porque quando eu fui para tentar vincular isso em WPP personagem UI, ele me disse, hey, isso é o que eu estou procurando. Procuro uma escova de escravos. Tudo bem, nós podemos compilar isso, ter
certeza de que nosso script é bom. Não temos erros aqui. Verde significa bom. Vamos guardar isso também. E vamos jogar. Agora, antes de fazer, devo notar que na instância do jogo BP, atualmente dentro da própria função, eu estou dizendo que eu quero ver o jogador selecionado para a linha número um, linha chamada número um, que é milagre. E não sei qual é o ícone que temos. Ok, eu rolo ícone vai parecer algo assim. Então esse é o ícone de papel que eu deveria ver aqui assim que eu clicar em Reproduzir. Então eu vou clicar em jogar desta vez a partir do nível de personagem UI, nosso editor principal aqui. Então vemos nosso nome Meriel, vemos nossa imagem milagrosa, e aqui, o ícone do papel está mostrando apropriadamente incrível. Vamos fazer outro teste aqui apenas para ter certeza de que isso está funcionando como pretendido. Eu vou para a minha Instância de Jogo BP e eu vou mudar como meu jogador selecionado deve ser. Vamos fazer a fila número dois. Isso ia ser vários papéis de cães. Então eu estou indo apenas para clicar play, sever texto OG, sever imagem OG, e olhar para o papel. É uma imagem diferente. Incrível. Agora note que diz lutador aqui quando eu pairar sobre ele. Ok? E se eu fosse mudar isso de volta para um e clicar em Jogar, Ele ainda vai mostrar um lutador como a dica de ferramenta lá. E isso é porque no nosso personagem WPP você, eu vou voltar para a aba Designer. Quando definimos nosso ícone de papel aqui. Nossa dica de ferramenta, estamos difíceis de ser Lutador. Agora podemos vincular isso e mudar dinamicamente também. Eu não vou realmente fazer isso neste curso, mas saiba que usando o mesmo tipo de processo, eu poderia realmente criar outra
variável de texto dentro dos meus dados de caracteres aqui que diria algo como, eu não sei , dica de ferramenta da função. E poderia ser toda a variedade de textos e eu poderia
ligá-lo aqui para que isso fosse atualizado adequadamente. Então saiba que eu tenho esse jogo difícil. Eu realmente não vou mudar isso neste curso. Mas pessoal, agora temos um personagem, ligação rural também. Eu só quero deixar isso claro, um 100% claro que mais na minha guia gráfico aqui,
atualmente, eu estou recebendo minha instância de jogo usando uma instância de jogo get. Qual instância de jogo lançando para nossa instância de jogo BP. Eu poderia, em vez disso, usar esta versão dele também por apenas referência de instância de jogo BP. Esta é a referência à instância do jogo que criei no nosso gráfico de eventos. Eu poderia fazer esse método também. Qualquer um. Contanto que você tenha uma referência à sua instância do jogo, você pode extrair, obter função de dados de caracteres a partir dele. Certo, pessoal, estamos fazendo um bom progresso aqui. Vamos continuar rolando na próxima, nos vemos lá.
26. Bindings: Bem-vindos de volta a todos. Neste vídeo vamos criar algumas ligações dentro de nossa
interface do usuário do personagem para que os ícones de afinidade de caracteres apropriados sejam exibidos. Antes de fazermos isso, vamos ter certeza de que estamos todos na mesma página. Voltando para a minha guia de nível principal aqui, vamos nos certificar de que em widgets de interface do usuário do personagem de conteúdo você tem WEP UI Open. Tudo bem, então eu tenho imagem Affinity. Oh, um selecionado aqui na minha hierarquia. E sim, eu posso criar uma ligação para ele clicando aqui e indo para criar uma ligação. Eu só vou mostrar uma metodologia diferente que eu poderia usar aqui. Então eu vou para a minha guia gráfico primeiro. E sob a seção de funções, eu estou realmente indo para obter o meu ícone de papel bem aqui. Vou destacar isso. E vou clicar com o botão direito do mouse. E eu vou duplicar isso uma vez. E eu vou chamar isso de obter
afinidade e eu não posso soletrar direitos, obter afinidade 01. E então com isso em amarelo novamente, eu vou fazer controle mais w desta vez porque isso também irá duplicar controle mais W. E eu vou renomear este, obter afinidade 0 para. Agora eu vou precisar ir para cada uma dessas funções e alterar um fio. Então eu vou começar aqui em, obter afinidade para que é a guia que eu estou atualmente dentro. E, atualmente, quando estou tendo afinidade com ele está puxando o ícone do papel. Agora, eu só vou quebrar este fio mantendo pressionado o Alt e então clique com o botão esquerdo. Ele está procurando um pincel de ardósia aqui. E sei disso porque sei que as nossas afinidades também
procuramos o seu pincel de escravos. Então é por isso que eu dupliquei o ícone de função porque eu sabia que obter Affinity 12, nós também vamos estar procurando pincéis de ardósia. Então aqui em obter afinidade para, eu quero ter certeza de que fora de nossos dados de personagem, eu estou ligando minha afinidade com arte para o valor de retorno. Então eu vou fazer isso aqui. Uma afinidade para, e então também em obter Affinity 1, eu vou quebrar este fio. Mas em vez de manter pressionado Alt e clicar com o botão esquerdo e quebrá-lo, eu vou manter pressionado o controle com o botão esquerdo do mouse. E fazendo isso, não quebrarei o fio. Eu posso realmente movê-lo assim. Vamos ligar isso ao Affinity 1. Então inifinity um, estou me conectando à arte de afinidade de um em função de obter afinidade 2s. Estou ligando para ter afinidade. Agora de volta aqui na aba Designer. Vamos agora vincular essas funções às nossas imagens. Então, novamente, eu tenho imagem Affinity, Oh, um selecionado 0-1. Vamos passar por baixo do pincel. Vincular. E agora eu já tenho essa função lá. Então vamos ligá-lo para obter Affinity um. Vamos selecionar nossa afinidade de imagem para ter certeza de que você selecionou a coisa certa. E agora vou ligá-lo à afinidade. Então você pode criar a ligação primeiro e, em seguida, criar a função ou você pode criar a função e, em seguida, criar ou, em seguida, fazer a ligação. Então você pode meio que fazê-lo em frente ou reverso. Agora vamos em frente e compilar. Certifique-se de que nossas funções que escrevemos são todas boas. Parece que estão. E então vamos salvar. E agora vamos em frente e jogar um pouco antes de eu fazer mais na instância de jogo BP aqui na minha função de dados de personagem GET são selecionados jogador deve ser linha um, que é eu estou realmente indo para, eu realmente vou excluir meu personagem DT Ross agora para não confundir as coisas porque eu estou puxando da minha lista de personagens DT queda. Ok, então nossa fileira, uma aqui é a linha milagrosa. Então nosso ícone de afinidade deve ser aquele verde, crescimento de
afinidade, e o azul, intelecto de afinidade. Então, vamos voltar ao nosso editor principal aqui e clicar em Play. Miracle Muriel imagem, e nós temos o verde eo ícone azul. Vamos sair daqui. E vamos tentar mudar na instância do jogo BP Yen apenas testando instância do jogador selecionado. Vamos mudar isto para a segunda fila. Então agora ele vai ser puxando de nossa linha de lista de personagens para cortar OG novamente, o nome da linha, não o número do índice aqui, o nome da linha. E assim, para vários Praga, devemos estar vendo esses dois ícones de afinidade, ordem em universal. Então eu vou clicar em Reproduzir a ordem e universal. Agora, a razão pela qual este diz crescimento novamente é porque eu defini essas dicas de ferramentas. Só vou clicar em X para sair daqui. Mais uma vez, mencionei isso no último vídeo, mas para esses ícones específicos no painel Detalhes, eu defini a dica de ferramenta para ler o crescimento, não importa o que seja, eu poderia ter ligado isso a uma variável de texto também, mas eu decidi não fazer para este curso, apenas para manter as coisas um pouco mais curtas. Tudo bem, pessoal, isso vai fazer tudo para este vídeo, vamos ver vocês no próximo.
27. Ligação a nível: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar uma ligação dentro de nossa interface de usuário de personagem aqui para que o nível de caractere apropriado exiba atualmente eu tenho isso definido como um aqui, mas se entrarmos em nossa tabela de dados aqui, eu defini aleatoriamente alguns dos nossos níveis de caracteres para ser números diferentes de um. Temos um personagem nível 11 no número 101 no 13. Então esses são os dados que vamos retirar da nossa tabela de dados aqui, vamos ter certeza de que estamos todos na mesma página. Voltando à nossa guia de editor de nível principal aqui, venha sob widgets de interface do usuário do personagem de conteúdo. Certifique-se de que você tem WPP personagem UI aberta, certo? E com isso aberto, queremos ter certeza de que selecionamos este número um aqui. Este é um widget de texto, e atualmente eu tenho que difícil definir para o número um, mas eu quero vincular isso. Então vamos em frente e criar uma ligação aqui. Criar vinculação. E vamos praticar a criação de uma dessas funções, uma dessas ligações a partir do zero. Então aqui em cima na área da minha função do painel My Blueprint, ele está nos dando esse nome horrível. Então, vamos selecionar isso e pressionar F2 nele. Então podemos mudar o nome para ser nível get. Simples o suficiente. Vamos criar um pouco de espaço lá e podemos ver que diz Get nível aqui, bem como para cima nesta guia estamos, estamos criando esta função. E agora vamos praticar agarrando nossa instância de jogo GBP ref. Vamos ter isso agora lembre-se que esta é a referência à nossa incidência de jogo BEP que criamos na nossa aba Evento. Quando construímos este Widget Blueprint, Estávamos dizendo, hey, vamos ver se essa é a instância do jogo BP que estamos usando neste projeto. E se for, vamos armazenar isso em uma variável. Queremos ser capazes de armazenar isso para que possamos acessar algumas informações da nossa instância do jogo mais tarde, como aqui. Tudo bem. Então com, com uma referência ao seu jogo BP, e desde que agora podemos arrastar um fio para fora deste para extrair alguns dados de dentro do nosso blueprint de instância de jogo. Assim que eu soltar o clique esquerdo, temos uma barra de busca. Vamos fazer uma pesquisa para obter dados de caracteres. Este é um contexto sensível encontrar aqui nós somos capazes de encontrar isso, obter dados de personagem porque ele vive dentro de nosso jogo bp. E já que este é um achado sensível ao contexto, tudo bem, pegue um fio assim. E agora você vai ver algo interessante aqui. Vamos ligar este fio de execução ao nó retornado. Então está à procura de algumas mensagens. No entanto, se você olhar aqui em baixo, espere um minuto, é um nível. Isto é verde, isto está pagando, esta é uma variável de texto e esta é uma variável inteira. Posso ligar isto aqui? Sim, você pode realmente, você pode converter certas variáveis em outros tipos de variáveis. Neste caso, vamos converter um inteiro que
é um valor numérico inteiro em textos. E às vezes quando você tenta ir assim de um tipo de variável para outro como este, você vai ver quando você passar o mouse sobre
ele, ele diz que será capaz de converter inteiro em textos. E ele vai trazer este pequeno nó de conversão assim que você liberar seu clique esquerdo, nem todas as variáveis podem ser convertidas em outras variáveis, mas em inteiro pode ser convertido no formato de texto. Então eu vou compilar aqui, ter
certeza que meu script está pronto para ir. Eu vou salvar. E agora, quando eu clicar em Reproduzir, eu devo ser capaz de ver determinado número de nível. Deixe-me ver minha instância de jogador selecionada. Meu role_name é atualmente dois. Então, na minha lista de personagens que deve ser sever OG, role_name de para sever OG. E assim o número, o nível que deve ser exibido é 13. Vamos dar um lugar Shelly, brincar. E com certeza, no canto superior direito vemos o nível 13. Então isso vai funcionar apropriadamente, e eu estou assumindo que vai funcionar para todos os outros personagens também. Tudo bem, pessoal, então isso vai fazer tudo por esta ligação. Vamos manter o impulso rolando na próxima, nos vemos então.
28. Vinificação de dinheiro: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar uma ligação dentro de nossa interface do usuário de personagem para que o valor de dinheiro dos caracteres apropriados seja exibido no canto superior direito. Este ícone aqui deveria representar dinheiro. Eu não sei se é muito representativo ou não, mas este valor certamente deve representar a quantidade de dinheiro que cada personagem tem na tabela de dados. Então este vai ser fácil. Primeiro de tudo, vamos nos certificar de que estamos todos
na mesma área vindo sob widgets de interface do usuário de caracteres de conteúdo. Estamos trabalhando dentro WEP personagem UI. Então certifique-se que você tem isso aberto. Nós vamos criar essa ligação primeiro indo para a guia gráfico. E vamos rolar e subir no painel das minhas plantas. E vamos duplicar nossa função de nível de dívida aqui. Então, com ele destacado em amarelo, e você só pode fazer isso quando ele é destacado em amarelo, controle de OD mais a letra w. para criar uma duplicata. Vamos mudar o nome para conseguir dinheiro, dinheiro, dinheiro, dinheiro. Entrar. E certifique-se que sim, você está trabalhando dentro da guia get money aqui. A única coisa que temos de mudar aqui é que não queremos que nosso nível seja ligado ao valor de retorno, mas ao nosso dinheiro. Então vamos manter o controle pressionado e clique com o botão esquerdo aqui para que possamos remover este fio fora do nível e em dinheiro. Então, novamente, estamos entrando em nosso jogo. Estamos falando com nosso plano de instância do jogo. E nós estamos dizendo, hey, eu quero descobrir em nossa função Obter dados de personagem que está dentro de nosso jogo e desde quanto dinheiro seu personagem tem? E então o que precisamos fazer é realmente ligar essa ligação a este widget. Então certifique-se que você tem mensagens de texto, dinheiro selecionado aqui. E aqui mesmo. Em textos de conteúdo, vamos criar esta ligação, clique em Vincular. E queremos ganhar dinheiro, dinheiro, dinheiro, dinheiro. Tudo bem, vamos compilar para ter certeza de que nossa função está escrita corretamente. Certo, marca verde é igual a bom. Vamos salvá-lo. E se eu entrar na minha instância de jogo BP são selecionados jogador é o número dois em nossa lista. Em nossa lista, nosso role_name T2 é sever. Ok, então vamos ver quanto dinheiro deve estar exibindo. Dinheiro é sempre que esse valor aleatório está ali, 879 mil. Tudo bem, vamos entrar. Aplicar. Sever OG nível 13. Nós ligamos isso da última vez e o dinheiro é 879.450 suíte. Isso está vinculado corretamente. Guy é que ele vai fazer agora para este, nós vamos vê-lo no próximo.
29. Ligação de XP: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar uma ligação dentro de nossa interface de usuário de personagem aqui para que a quantidade apropriada de XP de personagem seja exibida em nossa barra de progresso bem aqui. Agora note, em muitos jogos de estilo RPG, este medidor representa a quantidade de pontos de experiência ganhos em relação à quantidade necessária para alcançar o próximo nível. Então, por exemplo, se o nosso personagem era o nível um, esta barra pode representar 200 pontos de experiência em que o personagem precisa obter 200 pontos de experiência para chegar ao nível dois. E assim que chegarem ao nível dois, esta barra pode representar os 500 pontos de experiência. Você precisa de 500 pontos de experiência a mais para chegar ao nível três. Muitos sistemas de nivelamento funcionam assim onde não é apenas,
você sabe, ganhar 100 XP e você chega ao próximo nível,
é 100 XP, então você precisa de 200 XP, então você precisa de 500 XP, então você precisa de um mil EXP, assim por diante e assim por diante. Agora, a razão pela qual eu estou mencionando tudo isso é que nós não vamos para
essas profundezas agora criando algum tipo de curva de progressão de nivelamento. Não, vamos manter isto muito básico em termos de apenas
ligar a nossa quantidade de pontos de experiência para este bar. Certo, vamos nos certificar de que estamos todos na mesma página. Ir de volta para a sua guia de nível principal aqui e certifique-se de que sob widgets de interface do usuário do personagem de conteúdo, você tem caráter WEP, você abriu, clicou duas vezes naquele cara. Tudo bem, com isso, você precisa ter certeza de que você tem sua barra de progresso realmente selecionada. Você pode selecioná-lo aqui em sua hierarquia ou em nossa guia de designer. Só uma dica rápida para todos vocês. A propósito, esta é a nossa guia de designer. Veja este pequeno triângulo amarelo. Você pode clicar nisso para mostrar que esta é a guia Designer. Vou clicar com o botão direito do mouse e esconder essa guia por enquanto, esse pequeno truque. E com esse widget específico selecionado o que estamos
procurando no painel Detalhes abaixo da categoria de progresso, estamos procurando essa vinculação ao lado da porcentagem. Agora, algo a observar aqui é que esta barra de progresso é preenchida com base em um valor percentual que é 0 para um. Então, se eu clicar com o botão esquerdo e arrastar isso para frente e para trás, você pode ver o valor corre de 0 para um e ele preenche o medidor ou diminui o medidor à medida que eu vou entre esses dois valores. Certo, então isso significa que precisamos converter nosso número em um valor flutuante entre 0,01. Isso vai envolver um pouco de matemática. Não é tão difícil, confie em mim. Muito bem, vamos criar uma ligação para a nossa barra de progresso porcentagens aqui. Vincular. Vamos criar uma ligação. Ele vai nos saltar da guia Designer para a guia gráfico, nos
pedindo para fazer uma nova função. Abriu um novo. Tab aqui que F representa uma função. E se eu rolar para cima no meu painel de plantas, ele está dizendo que hey, esta é a função em que você está trabalhando. Observe que esse nome é semelhante a esse nome, que é semelhante a essa guia. Todos com o mesmo nome. É um nome horrível que nunca me lembrarei. Então eu vou renomeá-lo. Então eu vou clicar com o botão esquerdo em nossa função aqui, aperte F2. Vamos renomear isso para obter XP. Tudo bem, com isso é que precisamos para obter a nossa função workhorse que vive dentro do nosso jogo bp é uma vez que estamos falando de obter função de dados do
personagem nesta função. Então, dentro desta função estamos falando com outra função a. Tudo bem, a fim de fazer isso, precisamos obter uma referência para a nossa instância de jogo bp. Agora lembre-se sobre o gráfico de eventos, quando estamos construindo este widget, isto é, este widget aparece na tela. Estávamos escrevendo um pouco de script para dizer, hey, se estamos de fato usando nossa instância de jogo bp, que se você se lembra,
certo, nós atribuímos às configurações do nosso projeto. Nós vamos salvar nossa instância de jogo bp em uma variável. E aqui em nossa guia de blueprints sob a seção de variáveis, há nossa instância de jogo BP REF lá dentro. Então vamos voltar ao nosso jogo, obter a função XP. Vamos arrastar em nossa instância de jogo bp ref. Vamos liberar o clique esquerdo. Nós vamos conseguir isso. E agora com esta referência, podemos chegar dentro dela e obter isso,
obter a função de dados de caracteres, aquele cara bem ali. Voltando à interface do usuário do personagem WPP, vamos clicar com o botão esquerdo e arrastar o tipo. Obtém dados de caracteres lá fora é essa função. Vamos ligar nossos fios de execução imediatamente, assim. E novamente, esta função de dados de caracteres get é incrível porque nos permite extrair qualquer uma dessas informações de nosso personagem selecionado. Agora observe aqui, o valor de retorno aqui é um valor flutuante. De volta à nossa guia de designer, mencionamos que este medidor, aquele medidor ali mesmo. Ele está procurando um valor flutuante entre 01. Então aqui é onde precisamos fazer um pouco de matemática. Vamos voltar para a nossa guia gráfico. Vou converter nosso XP aqui em um carro alegórico imediatamente. Então, a maneira como fazemos isso, porque podemos ver que este é um valor inteiro. Posso ver que, passando o mouse sobre este pino de saída, vou clicar com o botão esquerdo e arrastar n-type para flutuar. Então, podemos converter para float inteiro. Então, a partir desta letra tom de verde para o nosso verde limão, que essa linha verde representa um flutuador. A dica de ferramenta nos diz, então agora algo mais que eu vou fazer imediatamente e você provavelmente não estava esperando isso porque eu vou converter nosso nível aqui para um valor flutuante também. Então eu vou arrastar para fora daqui e digitar para flutuar. Agora você pode estar dizendo, OK, qual é o problema? Pensei que este medidor aqui representaria a nossa quantidade de pontos de experiência. Bem, realmente queremos que ele represente nossa quantidade de pontos de experiência até chegarmos ao próximo nível. Então eu vou criar um sistema. Bem, basicamente uma maneira codificada de dizer quantas,
quantas experiências apontam para o nosso próximo nível. Então é isso que eu vou fazer de volta na nossa guia gráfico. Vamos usar o sever OGG como um exemplo. Na verdade, vou saltar para fora. Você não tem que fazer isso, você pode ficar aqui. Vou saltar para a nossa lista de personagens aqui para apontar algumas coisas. Faremos um caso de teste para o Sever aqui, ele é a segunda fila. Eu os selecionei. Parece um laranja bem ali, aqui em
baixo e todos os detalhes, todas as informações que tenho na tabela de dados, Eu atualmente tenho seu nível é o nível 13 e como quantidade de XP em 1200, então lembre-se disso. Ele está atualmente nível 13, atualmente tem 1200 XP. Aqui atrás, meu personagem WPP, eu vou dizer, vamos tomar o nosso nível aqui, membro nível 13. E eu vou arrastar um fio para fora daqui. E eu vou, eu vou colocar no símbolo mais, nós vamos procurar por flutuador mais flutuador. Na verdade, não, não vou fazer um carro alegórico. Flutuar. Eu vou fazer Flutuar Tempos. vezes flutuam aquele cara ali. E eu vou multiplicar nosso nível por 100. Então agora nível 13 vezes 100, ou isso é igual a 1300? Agora eu vou realmente adicionar 100 OU 100002 que você sabe o que, em vez de agregar e outro? Bem, eu poderia fazer isso assim. - Sim. Eu poderia eu poderia apenas mudar nosso multiplicador aqui, mas eu vou adicionar outro 102 que apenas tipo de fazer a matemática su por dragão direto longe daqui, eu vou fazer um fluxo mais mais flutuador, e nós estamos indo adicionar em 1000. Então nós temos o nível 13 para nossa amostra de caso de Sever OG vezes 100, que vai ser 1300 mais 100 vai ser 1400. Então, estamos essencialmente dizendo que queremos sever Ogg, a fim de
subir de nível do nível 13 para o nível 14 para ter 1400 pontos de experiência. Portanto, queremos que esta barra represente 1400 pontos de experiência. Voltando para a nossa guia gráfico aqui. Agora, e eu vou fazer é eu só vou trocar estes por aí e você vai ver por que aqui em um pouquinho. Vou pegar meu XP aqui e arrastar um fio para fora disso. E eu vou colocar no símbolo de divisão, flutuador dividido por flutuador. E eu vou dividir meu XP, que atualmente é 1200, pelo resultado de toda essa matemática aqui, que é 1400. Então deixe-me apenas lançar uma calculadora para você muito rapidamente. Então, nosso XP para Sever OG, deve
haver duzentos, duzentos. E vamos dividir este número por ficar comigo aqui. O nível é 13 vezes 100, que é 1300, mais 100 mil, então são 1400. Esse é o número que vamos dividir por aqui, 1400. E isso vai ser igual a 0,857. Então 85,7%, aproximadamente, isso é um valor entre 01, como precisamos que nosso valor de retorno seja aqui. Então eu vou minimizar isso e conectar isso em nosso valor de retorno. Então, agora, quando eu clicar em Jogar, Eu deveria ver este medidor cerca de 85,7% cheio. E, na verdade, deixe-me apenas mudar esse percentual para ser ponto um 5-7 Para mostrar mais ou menos sobre o quão completo deve ser quando eu clicar em Jogar. Agora deixe-me compilar meu projeto aqui. Isso vai garantir que todos os roteiros que escrevi estejam bem. Marca de verificação verde significa bom para ir. Vamos em frente e jogar isso agora. E não está mostrando 85% completo porque vamos voltar e olhar para a nossa matemática. E depois 1213, e é porque o Sr. Wanderer é ruim em matemática. Eu, erroneamente estou adicionando por mil aqui, que faria este 13 vezes 100, que é 1300 mais 1000 seria igual a 2300. Tudo bem, eu precisava tirar um 0 aqui. Isto é suposto ser 100. Isso é o que acontece depois de um longo dia. Então agora nossa matemática aqui deve ser 1200 dividido por 1400. Isso deve funcionar agora, então compilar e vamos jogar mais uma vez. E há medidor está mostrando como aproximadamente 85,7. Não, não é grosseiro. Está mostrando seus 85,7% cheios. Então, novamente, este não é um verdadeiro sistema de nivelamento. Nós não estamos nos preocupando, você sabe, em quantidade crescente de XP cada nível para encher este medidor, isso é algo que talvez nós possamos mexer com o caminho abaixo. Mas por enquanto, pelo menos temos alguma aparência de
desenhar a quantidade de pontos de experiência de nossa tabela de dados, fazendo um pouco de matemática para determinar quantos XP são necessários para chegar ao nosso próximo nível de citação, Esse é o número que somos. Esta matemática aqui está representando quantos XP para o próximo nível são. medidor aqui deve ser. E então estamos vendo como preencher que este deve ser versos r quantidade de XP. Então esta parte azul está representando pelo menos por vários erros aqui, 1200 XP, a barra completa está representando 1400 XP. Pessoal, isso vai fazer tudo por este vídeo, nos vemos no próximo.
30. Ligamento de cores de personagem: Muito bem, bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar uma ligação dentro de nossa interface de usuário de personagem que altere a cor da imagem de fundo dependendo de qual personagem estamos olhando. Aqui estamos atualmente no meu personagem WEP UI. Eu tenho o fundo da imagem selecionado, e atualmente eu tenho apenas um pouco difícil configurá-lo para ser este tom avermelhado. Agora, se olharmos para trás em nossa lista de personagens aqui estão a lista de personagens DT. Devemos ter cores diferentes definidas para nossos diferentes personagens. Então, vários LG. Se eu rolar para baixo, ele é o cara selecionado no momento. A cor que defini para ele é que estamos na linha, cor
está certa para fazer? Deixe-me, na verdade, eu vou olhar para os meus dados de personagem aqui. Então aqui está a estrutura que são lista de personagens é construído fora de. Então o parâmetro de cor estava acima de todas as habilidades. Ok, então voltando para a lista, rolando para baixo, provocações coloridas, lá vamos nós. Sever OG deveria ter esta cor esverdeada. Milagre deve ter uma cor esbranquiçada e eu poderia até ser azul claro e Revenant deve ter uma cor avermelhada com base nos dados dentro de nossa tabela de dados. Portanto, queremos colorir dinamicamente dependendo de qual personagem estamos olhando. Então vamos nos certificar de que estamos todos na mesma página aqui. Voltando ao nosso nível Tab, certifica-se de que você tem essas pastas abertas e que você tem WPP personagem UI como o widget que você está trabalhando dentro. Clique duas vezes naquele cara. Ok, então você pode notar que com o plano de fundo da imagem selecionado, atualmente estamos difíceis de definir isso para ler. Isto não nos dá qualquer flexibilidade. Não há nenhum parâmetro de ligação aqui para alterar a cor, a cor da tonalidade aqui, dependendo de qual caractere estamos olhando para ela. Então vamos definir isso de volta ao seu valor padrão. Veja esta pequena seta amarela, nós vamos clicar sobre isso e ele vai redefini-la de volta para o padrão. Agora temos aquela fumaça branca no fundo bem aqui. Temos essa cor e opacidade que podemos usar para vincular variáveis a fim de mudar a cor e opacidade. E só para mostrar,
você pode usar isso para colorir isso também. Se eu tivesse apenas vermelho reto, deixe-me me livrar do meu valor verde aqui, zerando isso no meu valor azul, zerando isso para fora,
que é igual a um fundo avermelhado também. Vou redefinir em reset. Então vamos criar uma ligação aqui. Vincular, criar vinculação. Claro, isso vai nos saltar para fora da nossa guia Designer sobre a nossa guia gráfico, onde ele vai nos pedir para criar uma função. Tem um tema horrível, que é o nome disso. Sua guia de função horrivelmente nomeada, que é o mesmo nome bem aqui na área Funções do painel My Blueprint. Vamos mudar isso. Vou clicar nisso ou clicar em F2. Vamos chamar isso de ganha, vamos chamar de cor. Certo? E como fizemos antes, precisamos de uma referência à nossa instância do jogo. Novamente, isso é encontrado na seção Variáveis. Criamos esta referência para a instância do jogo em nosso gráfico de eventos aqui. Clique com o botão esquerdo e arraste. Você quer obtê-lo ou configurá-lo a propósito, atalho rápido aqui. Se você não quiser ver esta pequena caixa get ou set aparecer toda vez que você tentar arrastar em uma variável. Se você manter pressionada a tecla Control, whoops, mantenha pressionada a tecla Control, clique com o botão esquerdo e arraste. Você vai obtê-lo imediatamente para que você não tenha clicar com o botão esquerdo do mouse soltar e, em seguida, escolher mantendo pressionada a tecla Control, clicando com o botão
esquerdo e arrastando. Vai obtê-lo automaticamente. Belo truque aí. Tudo bem, e assim como fizemos antes, vamos arrastar para fora daqui, vamos digitar dados de caracteres ainda porque esta é a função que vive dentro de nossa instância de jogo bp. Vamos ligar este fio de execução, vamos manter o fluxo de execução para a nossa nota de retorno aqui. Que tipo de dados precisa ser devolvido? Bem, se eu passar o mouse sobre ele, ele diz uma estrutura de cores lineares que é o mesmo que nós definimos. Este colorido para estar dentro de nossos dados de caracteres ST, struct, cor linear. Foi assim que eu soube qual variável deveria ser definida. Tudo bem, literalmente, deve ser isso. Vamos compilar aqui. Vamos economizar, e vamos jogar. O que você notou? Nós temos um fundo verde apenas para provar que isso está funcionando para os outros personagens que eu vou sair daqui batendo escape. E vamos para a nossa instância do jogo BP. Este jogador selecionado i agora este está dirigindo qual personagem está sendo exibido. Atualmente, estamos exibindo personagem para caractere número dois. Esse é o nome da linha da nossa lista de personagens. Role_name também é sever OG. Vamos mudar para ser rho, um, que é milagre e material deve ter este, eu acho, um fundo azul mais claro. Acho que é azul claro, mas é um tom de azul. Tudo bem, então jogo BP, e desde que eu vou selecioná-lo, minha variável de instância de jogador selecionado, Eu vou mudar isso para um. Vamos tocar isso mais uma vez. Estamos mostrando mural e olhar para isso, um tom mais claro de fundo azul. De facto, isso está a funcionar. Agora com essa função, vamos realmente usar isso em um pouco mais tarde para colorir algumas outras coisas aqui em nossa interface do usuário. Que tipo de outras coisas? Bem, a nossa sombra para o nosso texto aqui para um. E acho que pode haver outras coisas também, mas também vamos usá-la mais tarde. Tudo bem, isso é trabalho pessoal. Boa hora para salvar suas plantas aqui. Salve todo o seu projeto, venha em Arquivo. Salve todos os caras, que vai fazer tudo para este vídeo, vamos vê-lo no próximo.
31. Blueprint para controlador: Bem-vindos de volta a todos. Ao longo dos próximos vídeos aqui, vamos trabalhar
nosso caminho para torná-lo para que possamos alternar qual personagem vemos exibido quando temos nossa tela de interface do usuário do personagem WPP mostrada. Atualmente, se eu clicar em jogar, eu só vejo neste caso milagre porque essa é a linha de dados de caracteres que estamos apontando em nossa função de dados de caracteres Get. Mas não posso alternar para um Revenant ou Sever OG. Então, ao longo dos próximos vídeos aqui, vamos mudar isso. E nós vamos começar criando algo conhecido como um plano de controle de jogador para ajudar com isso. Agora, antes de começarmos a fazer este plano de controle de jogador que estou falando. Vou sair daqui apertando a tecla de escape. E eu só quero dar um passo atrás para falar um
pouco sobre o que temos acontecendo aqui em Unreal. Agora, eu vou para a minha interface de personagem LV aqui. E eu vou trazer o meu plano de nível
clicando em blueprints, aberto nível blueprint. E eu vou desligar este fio aqui. Você não tem que fazer isso e apenas demonstrar algo para você. Então, mantendo pressionada a tecla Alt, vou clicar com o botão esquerdo e cortar este fio. E isso vai fazer com que quando eu clicar em jogar aqui, nós não vamos ver tela de interface do usuário do personagem artístico, então eu vou clicar em Play. E agora o que você vê na sua frente, eu vou clicar com o botão direito do mouse na minha cena aqui é o que chamamos de homem manequim em irreal, que é o nosso terceiro personagem que podemos correr por aí com um pouco. E se está atrasando um pouco, é porque meu computador está agindo um pouco devagar aqui. Então o que podemos fazer é, obviamente, andar por aí com este homem manequim. Podemos pressionar a barra de espaço para fazê-lo saltar. Há várias ações que podemos obrigá-lo a fazer. Agora, aquele homem manequim, deixe-me ligar este back-end para eu não esquecer de fazer isso. Aquele homem manequim, o que está determinando isso? Esse é o cara que estamos controlando enquanto tudo isso está definido em nossas configurações do projeto. Então eu vou entrar na minha guia de nível principal aqui e vir em Configurações, configurações do projeto. E sob um mapas e mods. Diz que, atualmente, estes são todos os nossos projetos de estrutura bem aqui. Este é poços são classe instância de jogo referido como esquemas Framework e irreal. Nossa classe de peão padrão é nosso ThirdPersonCharacter. E se eu clicar aqui, podemos navegar por esse recurso no Navegador de conteúdo. E está neste diretório. Esse é o cara que estávamos controlando agora O personagem da Terceira Pessoa vai clicar duas vezes sobre isso, e abriu. E como você pode ver, há algum script em nosso ThirdPersonCharacter Event Graph para fazê-los fazer várias coisas. Então, parte do script aqui lida com o movimento. Este script aqui lida com o salto, assim por diante e assim por diante. Agora, o que isso tem a ver com o esquema do controlador do jogador? Bem, como eu disse, podemos ter um roteiro que vive aqui em nosso personagem jogador que os faz fazer certas ações. Mas também há um script que podemos criar dentro do nosso plano de controle de jogador que pode controlar ações sobre o nosso jogador, bem como ações sobre o nosso jogo. Então deixe-me mostrar a vocês uma imagem rápida que eu tenho
no Google para demonstrar o papel de um plano de controle de jogador, como você pode pensar sobre o papel de um controlador de jogador. Plano em “Unreal”. Então aqui está minha breve apresentação de como você pode pensar em um blueprint de controlador de jogador. É essencialmente um fantoche de largura da mão
controlando um fantoche que se parece muito com o homem manequim lá em baixo, não é? Bem, você pode pensar neste fantoche como o peão ou personagem controlado em nosso jogo, o homem manequim, se você, bem, agora nós estávamos realmente controlando um Plano de Personagem. Um diagrama de caracteres deriva de um blueprint de lagoa. É essencialmente um personagem humanóide que pode andar por aí e tem todas essas pessoas datilografando coisas que ele pode fazer, saltar e tal. Agora, o plano do controlador do jogador, eu gosto de pensar como a mão com as cordas
nele que pode controlar as coisas sobre o personagem. Esta mão também pode fazer outras coisas. Como o quê? Bem, nós poderíamos controlar as coisas sobre o nosso personagem aqui, mas este plano de controle de jogador também pode fazer coisas de nível superior. Poderíamos colocar algum script no blueprint do controlador do jogador R para fazer coisas como pausar o jogo ou para invocar a tela da interface do usuário do personagem. Agora uma coisa chave para entender sobre o blueprint do controlador do jogador. Uma vantagem que tem mais de dizer, um Character Blueprint é que ele persiste durante todo o jogo. Isto é importante por uma razão específica. Tomemos, por exemplo, um estilo de jogo de morte. Fizeste morrer com o teu personagem aqui e depois respondeste. Então você ganharia um novo peão, mas seu controle de jogador ainda seria o mesmo. A mão que está controlando o fantoche aqui persistiria, mas esse cara seria derrubado e outro seria automaticamente ligado à sua mão. Neste exemplo, se você manteve a pontuação, se você tivesse uma variável para pontuação anexada ao seu personagem
e, em seguida, seu personagem morreu
e, em seguida, responder de volta, sua pontuação seria redefinida. Mas se você armazenasse sua pontuação, por exemplo, em seus planos de controle do jogador, porque o controlador do jogador persiste mesmo com a morte
do personagem, a pontuação também persistiria. Então isso é uma coisa chave sobre o blueprint do controlador do jogador. Ele persiste durante todo o jogo, muito parecido com nossos esquemas de instância de jogo. Então, novamente, isso torna o blueprint do controlador do jogador excelente para fazer coisas orientadas ao usuário durante o jogo, como pausar o jogo ou invocar alguma tela de menu, como uma interface do usuário de personagem para alternar caracteres. Agora, apenas um pequeno spoiler para o que está vindo pela estrada. Nós vamos estar controlando diferentes personagens em nosso nível aqui, nós estamos realmente indo para fazê-lo de modo que, mudando caracteres, nós vamos eventualmente trocar se estamos controlando remanência, milagre ou sever Ogg no jogo. Então, estamos trabalhando para isso, mas vamos começar fazendo isso para que você possa realmente alternar qual personagem você vê na tela de interface do usuário do personagem aqui. Ah, e eu esqueci de mostrar mais uma tela que eu tinha no meu Google Slides. Você está ajudando martelo em casa que ponto sobre se um personagem morre, um controlador de jogador persiste. Então, mais uma vez, isto é essencialmente o que estamos procurando. Podemos ter um personagem Revenant que morre ou podemos estar controlando o Sever OG e ele ou ele pode morrer. Mas o controlador do jogador persiste. E é através do controlador do jogador que vamos
alternar qual personagem vamos controlar no jogo. Tudo bem, então vamos começar a tornar esta coisa conhecida como o controlador do jogador. Se vai ser tão incrível, e vai ser. Tudo bem, então vamos voltar para a guia de nível principal aqui e encontrar o seu caminho sobre a pasta de blueprints da interface do personagem. E aqui vamos simplesmente clicar com o botão direito do mouse. Vamos criar um novo projeto. Então, venha para a Classe Blueprint. E este é um projeto comum de classe. Então é jogador controlador é aquele que queremos selecionar. Nós vamos ser convidados a dar-lhe um absoluto go BP controlador jogador sublinhado. E por último, mas não menos importante, tudo o que precisamos fazer é atribuir este controlador de jogador para uso em nossas configurações de projeto. Então, vindo sob as configurações do projeto, e novamente, Eu não abri, mas eu vou mostrar-lhe como abrir as configurações do projeto novamente, configurações, Configurações
do projeto vêm sob um mapas e modos. Atualmente, temos este controlador de jogador padrão encaixado em. Vamos clicar aqui para mudá-lo para o nosso controlador de jogador B P. Então, neste ponto, para seus blueprints de framework, deveríamos ter mudado nossa classe de controlador de jogador para ser um controlador de jogador BP. E nossa classe essência de jogo deve ser instância de jogo BP, certo? Você, você pode fechar o seu ThirdPersonCharacter aqui, nós não precisamos dele. Podemos fechar o nosso Plano de Nível aqui. Não precisamos disso. Caras. Isso vai fazer tudo por este vídeo. Vamos começar a fazer isso para que possamos mudar personagens mostrando Ver você no próximo.
32. Mudança de personagem (UI) #1: Bem-vindos de volta a todos. Bem, com nosso controlador de jogador criado, nosso próximo objetivo é criar algum script dentro dele que
mude qual personagem é exibido em nossa interface de usuário de personagem. Note que ainda não estamos alterando qual personagem estamos controlando no jogo. Isso virá muito em breve aqui. A primeira coisa que devemos fazer aqui é em nossa pasta blueprints de personagem conteúdo, devemos salvar nosso controlador bp player. Então eu vou apenas clicar com o botão direito do mouse e salvar isso. Então a próxima coisa que vou fazer é voltar para as configurações do nosso projeto. E, novamente, eu sei que tenho uma aba aberta aqui em cima, mas apenas para mostrar como voltar às configurações
do projeto caso você tenha esquecido de vir em Configurações. Configurações do projeto. Vamos passar pelo lado esquerdo para entrar. Agora, aqui, nesta área das configurações do projeto, podemos criar algo conhecido como Mapeamentos de Ação. Aqui no topo, há este pequeno menu suspenso para Mapeamentos de Ação. Agora, se eu clicar na pequena seta suspensa aqui, você pode ver que há um mapeamento de ação para pular dentro. Se eu clicar nesta pequena seta suspensa, mostra que todos esses botões aqui, mais obviamente a barra de espaço, iria executar alguma ação. Iria disparar um evento. E se você se lembra, volta, na verdade, deixe-me apenas navegar para minha terceira pessoa um projeto. Você não tem que fazer isso, mas apenas mostrando você nosso terceiro personagem aqui teve a habilidade de saltar. E, de fato, se eu for para o script saltado, há uma ação de entrada para salto. Este é qualquer nó de evento que pode ser encontrado assim que em nossas configurações de projeto. Aviso ação de entrada Jump. Nós definimos um mapeamento de ação para o salto de palavra. Isto é o que está criando a capacidade de ter este sinal de escritório de incêndio nó. A barra de espaço vai disparar tudo para fora um sinal de ação de entrada, salto. Ok, então nós queremos fazer algo semelhante aqui para alternar de caráter. Então eu vou sair do meu ThirdPersonCharacter aqui, ir para as configurações do meu projeto. E há apenas dois mapeamentos de ação aqui. Eu quero criar um par mais, então eu vou entrar em ação os mapeamentos. Agora, muito importante aqui, não mapeamentos de acesso, que outra coisa, Mapeamentos de
Ação clicar neste pequeno botão mais e vamos criar um novo mapeamento de ação. Nós temos que dar um nome a ele. Muito legal. Sim, este vai ser chamado de próximo personagem. E nós vamos decidir quais botões vão disparar os próximos eventos de personagens. Bem, nós vamos nos vincular às coisas a ele. Um deles vai ser o jogo pad e eu vou apenas procurá-lo. Você pode olhar através da lista de todas as coisas que estão disponíveis para você. Eu vou passar por baixo da Dame pad, woops. Almofada de jogo, certo? Gatilho, não eixo de gatilho, gamepad, certo, acionado assim. Eu posso vincular muitos botões diferentes a esta ação. Então eu vou clicar aqui para adicionar outro botão para disparar este evento. Neste caso, eu quero um evento de teclado, então eu vou ficar sob o teclado e o que eu quero é a tecla número dois que vai disparar o próximo evento de personagem. Tudo bem, vamos criar outro mapeamento de ação aqui. Clicando nesse botão de adição. Este vai ser chamado de personagem anterior. E porque este é gamepad acionar uma direita para o próximo personagem, personagem
anterior vai ser, vamos apenas fazer uma busca para, vamos acionar gamepad esquerda gatilho. E também faremos com que adicionemos eventos de teclado. Este vai ser para a chave número um. Então o próximo personagem vai ser gamepad, gatilho
direito ou as duas teclas no teclado. evento de personagem anterior será disparado pressionando o gatilho esquerdo no joypad ou uma tecla no teclado. E você será capaz de testar isso. Se você tiver, você sabe, um controle Xbox conectado ao seu computador, você poderá testar este vídeo. Tudo bem, isso está tudo bem. Podemos sair daqui. Não há nenhum botão Salvar ou qualquer coisa nas configurações do projeto. Podemos simplesmente fechar isto. Em seguida, temos que saltar para os nossos planos de controle de jogador, e vamos voltar para a guia de nível principal aqui. Vamos encontrar sob UI personagem, blueprints são controlador jogador BP. Clique duas vezes naquele cara para abrir. E podemos ignorar esta guia viewport bem aqui. Isto não é importante. A única coisa com que vamos trabalhar aqui é o gráfico de eventos para escrever um script aqui. Agora, há alguns nós de evento em seu Event Begin Play e tick de evento. Não precisamos deles por enquanto. Então eu vou clicar com o botão direito e tipo de pan sobre o lado aqui. E em algum espaço vazio eu posso clicar com o botão direito do mouse e agora fazer uma pesquisa para próximo personagem e ver agora nós temos acesso a um evento de ação para o próximo personagem. E novamente, isso será disparado pelo gatilho direito ou pelas duas chaves. Certo, então o que queremos fazer quando apertarmos a tecla duas ou o gatilho direito? Bem, a primeira coisa que quero fazer aqui é clicar com o botão direito do mouse e pegar Instância do
Jogo e você verá o porquê aqui em um momento. Então, obtenha Instância do Jogo. E fora disso, vamos descobrir com qual instância de jogo estamos trabalhando. Então vamos nos livrar disso e fazer essa coisa chamada elenco. Nós vamos lançar dois são instância do jogo BP e isso é basicamente perguntando o nosso jogo, ok, você quer obter uma instância do jogo. E então esta nota está perguntando, você
está usando a instância do jogo BP por acaso? E se formos, vamos fazer alguma coisa. Agora. Eles são, a razão pela qual estamos lançando para nossa Instância de Jogo BP é porque há uma variável dentro de nossa instância de jogo bp que eu quero acessar. Então, se eu navegar até minha instância de jogo BP agora, a coisa que eu quero descobrir é qual é a nossa instância de jogador selecionada, variável de instância de jogador
selecionada. Qual é o limite de número ali? Esse número é importante para mim para determinar se posso alternar para um próximo jogador ou não. Certo, então essa é a variável que estamos chegando lá. Nós vamos estar saindo do nosso jogo bp instância selecionado jogador sublinhado inst. Tudo bem, então voltando ao meu controle de jogador, eu vou arrastar um fio para fora do meu jogo insincero induzir busca para aquele jogador selecionado e é uma corrida reduzi-lo para baixo. Então eu quero colocar o jogador selecionado em. Então eu quero descobrir o que é atualmente este conjunto está em 0, é um ou é para? Agora, eu vou construir mais alguns nós aqui e então eu vou voltar para este cara. Então, a partir deste fio superior, eu quero encontrar um nó de Branch. Agora nó Branch nos permite prosseguir se algo é verdadeiro ou falso com base em alguma condição. Então temos uma condição para isso. Então, o que eu vou
procurar é clicar com o botão direito do mouse e algum espaço vazio. E eu vou fazer uma busca por int inteiro menor que inteiro, este nó aqui. Vai parecer assim. Agora, com a saída disto, podemos ligar isto à condição. Então vamos avaliar alguns números aqui e essa será a nossa condição. Bem, são jogadores selecionados. Se pensarmos nisso aqui, se eu olhar na minha lista de personagens e você não precisa continuar trocando entre essas guias. Só saiba que farei isso para fins de demonstração aqui. Só podemos escolher entre linhas. 0122 é o máximo que queremos que nosso jogador selecionado vá. Essa variável dentro da instância do jogo BP para selecionar uma linha em nossa tabela de dados, não podemos ir além disso. Não queremos ir além disso porque não temos mais linhas em nossa tabela de dados, isso seria ruim, certo? Então, neste inteiro, menos do que o nó inteiro, eu vou colocar o número dois aqui em baixo. E novamente, você verá o porquê em apenas um momento. E agora eu quero ver se o nosso jogador selecionado inst é menor que esse número. Agora, se você notar como eu tento arrastar esta variável de nome para esta instância, esta entrada de inteiro, ele não vai permitir que eu faça isso. Não consigo converter uma variável de nome em um formato inteiro. No entanto, há um pouco de hack aqui que eu sei que você pode fazer. Primeiro, eu vou arrastar para fora daqui e digitar para string. Eu vou converter isso para uma variável string primeiro porque eu não poderia converter uma variável name para uma variável String. E então eu posso converter uma variável string para uma variável inteira. Você vê como eu arrasto este fio para fora, esta entrada de inteiro verde não está indo cor cinza adulto. Isso está mostrando que eu posso realmente conectar algo aqui. Considerando que se eu tentasse conectar essa variável de nome diretamente lá, é cinza dizendo não, não posso fazer isso. Nome não é compatível com inteiro. Então eu vou ligar esta string para o inteiro em. Veja o que acontece. Ele vai colocar automaticamente em uma string para o nó inteiro assim. Então saiba o que estamos tentando dizer aqui. Se o nosso número inst jogador selecionado, esse é o número aqui, jogador
selecionado é a linha que estamos tentando escolher fora da nossa tabela de dados. Se isso for menos de dois, então podemos fazer alguma coisa. Se for falso, podemos fazer alguma coisa. Agora não vamos construir a partir deste ramo falso. Vamos construir fora deste ramo verdadeiro. Agora, a primeira coisa que vou fazer é tocar um som,
não um som qualquer, algo conhecido como um som 2D. Agora, um som 2D é essencialmente uma espécie de menu específico de som. Não é um som localizado não está localizado no espaço 3D em qualquer lugar. Como se você ouvisse algo que é específico para um som que toca, um cachorro latindo ou a 100 metros de distância soa como um cachorro latindo. Isso fica a 100 metros de distância. Este é apenas um som que você ouve e não está localizado em nenhum ponto específico no espaço. Agora o som que eu quero tocar aqui é que eu posso selecionar este pequeno menu suspenso aqui e procurá-lo. Chama-se Janela Doc Hubble, feche. Agora, se você não vê que você tem acesso a isso, você pode deslizá-lo em qualquer som que você quiser, realmente não
importa para mim. Mas se você quiser esse som exato, olhe para o caminho aqui ele está no conteúdo do motor. E se você não vê-lo, você pode em Opções de visualização e garantir que o conteúdo do mecanismo está ativado enquanto isso estiver ativado, você terá acesso a esse som. Certo, então vamos tocar esse som. E então a próxima coisa que eu quero fazer é voltar
aqui e puxar um fio para fora desta saída inteira aqui. E eu vou liberar em algum espaço vazio, e eu vou digitar os incrementos de palavras. E eu estou procurando por este nó int incremento bem aqui. Agora este é um tipo especial de nó. Olhe para este tipo de diamante em forma desta entrada bem aqui. Não é uma forma circular como esta. É em forma de diamante. Então o que isso vai fazer é que na verdade vai incrementar 12 são valor numérico que é colocado aqui. E você verá por que isso é importante em um pouco. Bem, e só para enquadrar isso um pouco, queremos ir para o próximo personagem. Então vamos dizer que este é o número, oh, eu não sei um. Se avaliarmos isto e dissermos OK, Um, é menos que dois? Ok, sim, é verdade. Está bem. Então a próxima coisa que vamos fazer é virar esse número,
que acabou por ser um aqui e alimentado lá. Vamos mudar esse para agora, adicionar um a ele. E que dicas de ferramenta como ele estava indo para adicionar um
ao valor especificado e, em seguida, ele vai ser definido. Então, ele vai produzir dois neste caso. Agora, queremos sempre ter certeza de que esse valor é fixado entre 02 atualmente. Por quê? Porque na nossa lista de personagens aqui só temos linhas que variam de 0 a 2. Não queremos sair desses limites. Então de volta em nosso controlador planejador aqui, vamos arrastar um fio para fora disso, incrementos, seu nó assim. E o que vamos fazer é procurar um nó inteiro de pinça. Isso vai se certificar de que ficamos de volta e não vamos fora do nosso limite mínimo de 0 e r limites máximos de dois. Porque novamente, nós só temos em nossas tabelas de dados. Linhas 012. Tudo bem, a última coisa que queremos fazer aqui é voltar para
a nossa instância de jogo como BP. Eu vou me livrar disso. E antes de obtermos as ints de jogador selecionadas, desta vez queremos definir ideias de jogadores selecionadas para que possamos obtê-lo e defini-la. Então eu vou trazer este nó, deixe-me apenas ampliar um pouco de espaço aqui para que você possa ver tudo isso na íntegra. Vou trazer este nódulo para cá. Deixe-me apenas levantar alguns desses nós. Upsilon tem alguns fios de cruzamento feios e nós vamos ligar assim assim, nossa execução quando nosso aqui. E agora, novamente, queremos alimentar este valor inteiro daqui até aqui, volta ao nosso jogador selecionado. Mas observe novamente, não posso conectar isso diretamente nele. Não consigo converter um inteiro em um nome. Então vou ter que reverter o processo que fiz aqui. Então eu vou arrastar um fio fora do valor de retorno, e eu vou primeiro converter isso em uma string. E então eu vou pegar minha corda e
converter isso em um nome meio meio hacky de fazer isso, mas funciona. Então, novamente, apenas para tipo de apoiar tudo isso e colocar tudo
isso na tela para que você possa ver o que estamos fazendo aqui. Vamos pressionar, no meu caso, eu sou o teclado, vou pressionar a tecla duas ou o gatilho direito. Então nós vamos agarrar a nossa instância do jogo e dizer,
hey, me dê o jogador selecionado instantâneo. Qual é esse número? O que é esse número aqui, que representa a linha que queremos fora da nossa tabela de dados. Me dê isso. Vamos encontrar esse número menor que dois,
porque dois é a nossa quantidade máxima de ROS. Ou seja, vamos tocar este som, um pouco de efeito sonoro para ir com ele, então vamos incrementar esse número. Então, se este foi um, agora vai ser em dois. E então vamos nos certificar de que esse número seja fixado entre 02, que nunca saia desses limites. E então vamos alimentar esse novo número neste exemplo para voltar ao nosso jogador selecionado para que na próxima vez que pressionarmos isso, isso será realmente avaliado para o número dois. Peguei-o. Tudo bem, vamos colocar uma caixa de comentários em torno de tudo isso com o botão esquerdo e arrastar assim. Toque na tecla C para colocar uma caixa de comentário e eu vou chamar essa alternância para próximo jogador na tabela de dados. E podemos colorir esta caixa de comentários. Gosto de fazer isso. Eu vou vir aqui com isso selecionado aqui no painel Detalhes, você pode escolher a cor do seu comentário. Vou definir para ser preto reto porque isso os torna onde se destacam, tudo legal. Então eu vou escolher compilar para ver se meu script aqui é bom. Está bom para ir. E depois vou salvar isto.
33. Mudança de personagem (UI) #2: Ok, então isso só muda para o nosso próximo jogador. Como alternamos para o nosso personagem anterior? Bem, vai ser o mesmo roteiro aqui. Então eu realmente vou copiar e colar um monte disso e apenas mudar algumas coisas que você quer pegar um atalho, não sim. Sim, eu sei que sim. Então eu vou clicar com o botão esquerdo e arrastar e destacar todos esses nós assim. Mas então eu vou controlar e clicar com o botão esquerdo no próximo caractere de entrada. Eu não quero essa. Está bem? Com todos esses nós selecionados, você pode ver o realce amarelo em torno deles tudo que eu vou fazer controle C para copiar. Então eu vou para o botão direito do mouse e pan para baixo um pouco. E então eu vou fazer o Controle C para baixo ou o Controle V em vez de aqui para colá-los todos. E agora eu só vou trocar
algumas outras coisas para que você possa ver como eu tenho o próximo jogador aqui em cima. E eu vou colocar o jogador anterior aqui em baixo. Então vamos fazer é procurar por esse evento que acabamos de colocar nas configurações do projeto. Clique com o botão direito e faça caractere anterior Há o nosso evento de ação de personagem anterior. E eu vou tentar me mover um pouco mais rápido no interesse do tempo, ligar aquele cara. Somente neste caso, só
queremos poder alternar para o caractere anterior. Se a nossa condição aqui é um pouco diferente, eu vou para o próximo. E eu vou clicar com o botão direito do mouse e eu estou procurando inteiro maior do que em GER. Então, se o nosso inteiro é maior do que 0, se r inteiro é maior do que 0, então podemos alternar para o tipo de caractere anterior,
envolver em torno de tipo coisa. E nós vamos trocar isso mais incrementando o inteiro. Vamos detonar isso, apertar a tecla “delete”. E em vez disso vamos arrastar um fio para fora daqui e digitar decrementos onde
este Ian gosta assim onde este intelecto. Então certifique-se que temos este fio de execução conectado, ter certeza que tudo está bom caso contrário, ok, então eu vou clicar com o botão esquerdo e arrastar, colocar uma caixa de comentários em torno de tudo isso. Isto vai ser alternar para o jogador anterior. Na tabela de dados. Vamos colorir este preto vermelho, como a minha alma. Clique em OK, compilar e salvo para ver se estamos bem e estamos no momento da verdade. Vamos dar um teste de jogo clicando em Jogar aqui. E eu vou realmente minimizar isso um pouco. Se você não pode pegar a borda da sua janela aqui, shift em F1, shift em F1 permitirá que você minimize sua janela assim. Está bem? E eu vou clicar, clicar com o botão esquerdo e minha janela aqui, pressionando a tecla duas, eu posso clicar e ir para o próximo caractere, a tecla uma. A uma chave novamente, eu vou tentar ir com a única chave novamente para ir para o personagem anterior. Não posso fazer isso porque estou preso. Tente ir além do sever OG pode fazê-lo. Então vamos ficar dentro dos limites da 012. Agora quero te mostrar algo legal de novo, vou fazer o turno na F1, e vou mudar isso para cá. Só vou reposicionar este pouquinho. Assim, deixe-me pegar minha janela de jogo lá em cima. Assim minimizamos isso. Vou fazer isto um pouco pequeno. Isso não precisa ser grande. Agora veja isso. Isto é uma coisa muito útil de se saber. No controle do player R BP e em qualquer outro blueprint, você pode selecionar um objeto de depuração, o objeto que deseja depurar. Neste caso, tem que ser algo como meu controlador de jogador porque é isso que eu estou realmente depurando aqui. Só tenho um controlador de jogador que posso depurar, certo? Então, com esse conjunto aqui, agora quando eu pressionar as duas ou uma tecla ou você está esquerda para direita gatilhos, se você tem o controle assistir o que acontece no meu gráfico de eventos. Você vê nesses fluxos de execução passando pelo fio. Então agora você pode ver visivelmente como o script está funcionando em nosso jogo. Estou continuando pressionando a tecla duas e você pode ver como estamos sendo bloqueados lá porque nossa avaliação naquela filial está provando ser falsa. Muito legal, de fato. Tudo bem, pessoal, nós fizemos isso com sucesso para que possamos mudar caracteres apenas em nossa tela de interface do usuário. Vamos fazer isso para que possamos realmente mudar personagens no jogo que está para vir vê-lo no próximo vídeo.
34. Mudança de personagens (Jogo) #1: Bem-vindos de volta a todos. Neste vídeo nós vamos trabalhar nossa maneira de ser capaz de alternar personagens como este apenas em nossa interface de personagem para torná-lo para que uma vez que sair desta tela, nós estaremos controlando um desses personagens em nosso jogo. Então eu vou sair daqui,
só para que você saiba o que estamos trabalhando. E é assim que vamos começar. Agora, no momento em que eu clico comprar botão play aqui em cima, eu estou mostrando imediatamente minha interface do personagem WPP. Eu nem estou pulando no jogo e correndo por aí. Queremos mudar isso no início deste curso, nós fizemos isso. Então aqui em nossa interface de usuário de nível, este nível que nós configuramos como um tipo de nível de teste dentro de nosso plano de nível. E vamos clicar nas plantas. Plano de Nível Aberto. Nós criamos o script para simplesmente fazer nossa interface do personagem aparecer imediatamente na tela. Isto é tudo temporário. Podemos excluir isso agora porque não
é assim que queremos que isso apareça. Então vá em frente e clique com o botão esquerdo e arraste, aperte a tecla delete, exploda isso para fora de lá. Podemos ir em frente e salvar isso, e então podemos fechar esse plano de nível. Certo, então com isso feito, o que vamos fazer a seguir? Bem, nós vamos voltar para a nossa guia de nível principal aqui, nós queremos saltar para dentro de nossas configurações de projeto. Mais uma vez, configurações, Configurações do projeto. E assim como fizemos no último vídeo aqui, queremos adicionar um novo mapeamento de ação de entrada. Então você sabe como em muitos jogos você pode pressionar o botão de pausa para pausar o jogo, e então uma tela de menu de algum tipo aparecerá, o menu de pausa, não vamos criar um menu de pausa. Nossa UI personagem WPP é essencialmente vai ser o nosso menu de pausa. Então o que vamos fazer aqui é criar um novo Mapeamento de Ação. Clique neste mais para adicionar um mapeamento de ação, nós começamos a nomear isso. E eu vou chamar este show barra esconder personagem u i. Então nós vamos ter um evento chamado show character UI, e ele será chamado, ele vai disparar esse evento sempre que nós ligá-lo a um par de ligações aqui, O primeiro que eu vou fazer é chamado de jogo pad especial. Certo? Agora, se você olhar para um controle Xbox tradicional tipo de no meio do gamepad. Lá você encontrará um tipo de botão especial
à esquerda e um botão especial à direita. Tradicionalmente à direita é como o botão Iniciar ou o botão de pausa. É a isso que se refere. Especial, certo? Então, para todos os usuários de u gamepad lá fora, você pode fazer este evento disparar usando isso. Eu também vou adicionar um aqui para a nossa ligação de teclado. E eu vou ligar isso ao, ligá-lo à tecla E. Teclado. E vamos rolar para baixo para o tipo. Por que o gosto? Eu não sei. Só porque, novamente, não há nenhum botão de salvar aqui ou qualquer coisa assim. Com isso agora criado, posso sair das configurações do meu projeto e acessar meus blueprints do controlador do player. Eu vou voltar para a guia de nível principal aqui. Vamos entrar em conteúdo,
caráter, personagem, interface do usuário, blueprints. Clique duas vezes em nosso controle de jogador para abri-lo. E primeiro precisamos encontrar algum espaço vazio. Vou apenas clicar com o botão direito e arrastar para aqui. E em algum espaço vazio porque eu posso simplesmente clicar com o botão direito do mouse e fazer uma pesquisa para mostrar barra ocultar. Há nossos eventos de ação. Está trazendo isso. Tudo bem, ótimo. Certo, qual é a primeira coisa que queremos que aconteça aqui quando pressionamos o botão direito especial, ou no meu caso, usando um teclado, a tecla E, bem, eu vou arrastar um fio deste pino pressionado. E eu vou fazer é procurar por um nó chamado set game. Pausa. Há uma função para pausar o jogo muito útil. E precisamos marcar esta caixa aqui dizendo sim, queremos pausar o jogo. E então eu vou arrastar um fio para fora disso. E vamos criar um Widgets. Porque não estamos mais criando esse widget. Nossa interface de usuário do personagem WPP, em nosso plano de nível, queremos criá-lo aqui. Então eu vou clicar nesta classe select, encontrar nossa UI personagem WPP. E então eu vou, eu quero adicionar isso ao nosso visor, mas eu vou fazer outra coisa antes de fazer isso aqui. Vou clicar com o botão direito do mouse neste valor de retorno aqui. E eu vou promover isso para uma variável para que nossa interface do usuário de personagem seja armazenada dentro deste contêiner. Então, ao fazer
isso, ele cria uma nova variável aqui em baixo, e eu sou solicitado a dar-lhe um nome. Então eu vou chamá-lo de caractere sublinhado W BP, caractere sublinhado
WPP Pro UI, assim. E você verá o porquê aqui. Eventualmente eu vou querer falar com esta variável por si só. E então eu vou arrastar fora deste e digite adicionar ao viewport. Então, recriando o widget da interface do usuário, estamos armazenando-o nesta variável e então estamos dizendo, ok, adicione-o à tela aqui. Tudo bem, a próxima coisa que quero fazer é logo abaixo, vou clicar com o botão direito do mouse. Eu vou digitar fica jogador controlador. E o que você sabe este é o nosso controlador jogador são controlador jogador BP. E nós vamos pegar um fio fora disso e dizer mostrar o cursor do mouse. E queremos definir mostrar cursor do mouse não obter, queremos definir mostrar cursor do mouse. E então o que eu quero fazer é ligar isso. Quero que isto seja verdade. Agora, precisamos fazer isso para evitar que o mouse desapareça quando clicamos na tela agora. Nosso controlador de jogador aqui, este controlador de jogador BP tem um cursor do mouse show Boolean em algum lugar aqui. Agora, onde neste blueprint vemos uma propriedade chamada Mostrar cursor do mouse? Bem, se eu clicar nos padrões de classe aqui, e eu expandir isso um pouco. Agora, se eu apenas digitar no painel Detalhes aqui em cima, mouse, você pode ver que nós cortamos para baixo e
há um cursor show mouse Booleano em nossos padrões de classe. Então, em nosso blueprint player controller, isso é construído na capacidade de mostrar ou ocultar o cursor do mouse. Então isso é essencialmente o que eu estou fazendo aqui é eu estou dizendo, hey, vamos pegar nosso controlador de jogador aqui, que é nós mesmos. E vamos marcar esta caixa de seleção aqui para estar ligada. Ok? Agora nós vamos eventualmente estar alternando isso também. Não podemos verificar aqui. Então é por isso que estamos seguindo este método. Ei, vamos pegar nosso controle de jogador, este aqui. E vamos nos certificar de que quando estamos somando essa interface do usuário do personagem, estamos ativando o cursor do mouse, certo? Só para você entender o que está acontecendo lá. Tudo bem, a próxima coisa que eu quero fazer é arrastar outra maneira ou para fora do nosso controle Get Player. E eu quero fazer algo chamado modo de entrada definido. Temos três opções diferentes aqui. E o que eu quero escolher é jogo e você, eu, então se eu arrastar para fora aqui e definir show modo de entrada ou modo, modo de entrada, Eu tenho apenas jogo ou UI apenas. Então o mouse, a ferramenta, a ferramenta aponta aqui nossa cabeça, ajudando-nos a entender o que está acontecendo. Configuração no modo de entrada que permite que apenas a entrada do
jogador, o controlador do jogador responda à entrada do usuário para o jogo apenas que é o jogo real. Este é apenas para a interface do usuário, que é o nosso Widget, Blueprint ou tela de menu de sortes. Damon UI significa ambos. Aceitaremos entradas, nosso jogo em execução nos bastidores, bem como nossa interface de usuário. E a razão pela qual queremos ir com este não apenas no modo de entrada apenas UI, é porque, para que possamos despausar nosso jogo, depois de pausá-lo, precisamos tê-lo para aceitar entradas para o final do jogo julho. Se nós apenas definir isso para UI somente quando vamos para unpause o jogo. Não reconheceria essa entrada. Essa é a razão pela qual eles estão bem, nós vamos conectar este fio de execução também. E agora para qual widget se concentrar? Bem, nós temos nossa UI personagem WPP, que é o widget que queremos nos concentrar. Então eu posso apenas clicar com o botão esquerdo e arrastar esta variável em cima do nosso widget interno para focar assim. Tudo bem, então isso vai ser o nosso pouco de script aqui para obter a nossa tela de perfil de personagem ou uma interface de usuário de personagem na tela, eu vou clicar com o botão esquerdo e arrastar em torno disso. Aperte a tecla C como na tecla Charlie. E eu vou chamar isso de caracteres de alternância UI on, slash off. Agora. Atualmente eu estou chamando-o de ativá-lo e desligado. Mas agora,
não temos a configuração de funcionalidade para ativar e desativar isso no momento, ele só vai ativá-lo. Nós vamos estar trabalhando na parte de alternar dele em apenas um pouco, mas eu só quero colocar esta caixa de comentários aqui fora. Vamos colorir este preto imediatamente porque eu gosto de ter esses fios destacados. Assim. Vamos compilar aqui para ter certeza de que nosso script é bom. E também se você quiser pausar o vídeo aqui, aqui está uma boa captura de tela para mostrar essencialmente o que todos nós construímos. Vou compilar para ter certeza de que nosso roteiro é bom para ir aqui. Vamos em frente e salvar imediatamente. Agora queremos fazer testes. Agora, vamos ver se isso está funcionando adequadamente. Vou clicar em Reproduzir. E você notará que há um pequeno problema aqui porque não deveríamos estar vendo esta tela ainda. Na verdade, apagámos este guião para invocar esta tela, certo? Quando clicamos Jogar a partir de nossos planos de nível menos escapar daqui. E eu estou pensando que o que nós esquecemos de fazer é depois que eu excluí esse pedaço de script do nosso plano de nível aqui, eu não salvei nível. Então deixe-me apenas ter certeza de que temos salvar isso novamente, estamos apenas salvá-lo novamente caso nós não salvamos. E vamos tentar de novo. Clicando em Play Neste momento, estou a ver o que estou à espera de ver é o nosso homem manequim. Vou apenas clicar com o botão esquerdo na minha janela para ter acesso a ela. E agora vou tocar na tecla E. E agora ele está invocando na tela nosso personagem UI, como eu queria quando pressionamos que como. Agora, um par de problemas aqui. Obviamente, eu pausei o jogo e eu não tenho como voltar aos meus jogos. Então esse é o problema número um. problema número dois é que estou tocando nas 12 teclas para tentar alternar para os meus caracteres seguintes ou anteriores. Mas eu não posso fazer isso. E a razão pela qual eu não posso fazer isso é porque o jogo está pausado. E não é aceitar eventos de entrada para
ir para os nossos personagens anteriores ou seguintes enquanto o jogo está pausado. Então vamos em frente e corrigi-lo. Vou apertar a tecla Escape para escapar daqui. Vamos entrar em nosso plano de controle de jogador. E vamos clicar com o botão direito do mouse e arrastar nosso caminho até. Vamos começar com o nosso próximo evento de alternância aqui. Assim, com este evento selecionado ação de entrada próximo caractere no painel Detalhes, você verá que há várias caixas de seleção no painel Detalhes associados a ele. E um deles é executado quando pausa. E, atualmente, isso é falso, que
significa que isso não enviará uma execução enquanto o jogo estiver pausado. Queremos que ele seja capaz de executar enquanto o jogo está pausado, para ser capaz de alternar para os nossos personagens anteriores ou seguintes. Então vamos verificar se é verdade. E vamos fazer isso não só para nosso próximo evento de ação de personagem, mas nossos eventos de ação de personagem anteriores selecionarão esse cara e verificam isso também. Então nós vamos compilar aqui, certificar-se de que nosso script é bom. Nós vamos salvar. E outra coisa que eu quero fazer aqui rapidamente antes de embrulharmos este vídeo aqui de volta em nossa guia de nível principal, você percebe que quando eu clicar em jogar aqui, e na verdade eu vou fazer isso, que eu, se eu tocar na tecla E em Neste ponto, nada acontece. Eu tenho que clicar na minha janela primeiro para eu então pressione a tecla para fazer essa tela aparecer. E você vai notar que agora, quando eu pressionar as 12 teclas, Eu posso alternar personagem, modo que está funcionando mesmo enquanto o jogo está pausado. No entanto, eu não gostei disso. Eu tenho que clicar naquela janela, a fim de realmente ter qualquer uma das minhas chaves para funcionar. Então o que eu posso fazer aqui é neste pequeno menu suspenso ao lado do botão Reproduzir. Existe esta configuração avançada. E quando eu clicar nisso, ele abrirá minhas preferências do editor. Esta é a minha guia de preferências do editor. E este jogo de opção muito superior recebe o controle do mouse. Se eu ativar isso e sair honrar minhas preferências do editor aqui, isso vai torná-lo assim agora que quando eu jogar o jogo, eu não tenho que clicar em minha janela do mouse. Eu imediatamente tenho acesso ao meu jogo e eu posso pressionar IY imediatamente. E você vai notar outra coisa também, que meu cursor do mouse está presente na tela imediatamente. E a razão pela qual ele está presente, eu vou sair daqui é porque em nosso script controlador de jogador, clicando com o botão
direito e arrastando, estamos vendo, estamos dizendo que vamos pausar o jogo. Vamos mostrar esse widget da interface do usuário. Vamos adicioná-lo à janela de exibição. Vamos nos certificar de que nosso cursor do mouse também é mostrado. Muito bem, pessoal, isso é tudo o que queríamos fazer neste. Ainda temos mais trabalho a fazer aqui, mas veremos vocês no próximo vídeo.
35. Mudança de personagens (Jogo) #2: Bem-vindos de volta a todos. Neste vídeo, queremos continuar de onde paramos no último vídeo. Nosso objetivo neste é fazer com que quando sairmos da nossa interface do personagem aqui, não só
despausemos o jogo e nos livramos deste verde, mas temos controle sobre o personagem que estamos exibindo pela última vez na tela aqui. Isso não seria muito legal? Então, neste, nós vamos estar construindo a capacidade de realmente retornar ao jogo aqui e então controlar qualquer personagem que deixou a largura da tela pela última vez. Tudo bem, vamos sair daqui e ter certeza de que de volta em nosso navegador de conteúdo aqui, em blueprints de interface do personagem, você tem seu controlador B P player aberto porque é aí que vamos estar fazendo o trabalho. Tudo bem, eu tenho meu aberto corrido aqui em cima. Este é o lugar onde paramos no último vídeo trabalhando fora de nossa ação de entrada show hide, personagem UI. Atualmente, quando pressionamos a tecla E em nosso teclado, ou talvez você não tenha mapeado para outra coisa. Estamos simplesmente configurando a pausa do jogo, mostrando esta tela para a janela de exibição. E estamos mostrando o cursor do mouse, et cetera, et cetera. No entanto, não temos como tirar esta tela. O que queremos fazer aqui é clicar com o botão direito nesta área e vamos adicionar algo conhecido como um tipo de nó flip flop no flip flop. E vamos esgueirar esse cara bem entre esses dois nós. Ok? Agora isso tem uma cor cinza no topo. Isso é conhecido como notas de tipo de controle de fluxo. Então, qualquer nó que tem algum grande no topo é conhecido como um nó de controle de fluxo porque você pode alterar o fluxo de script fora dos diferentes pinos de execução. Você também notará que nós de ramificação, veja, eu tenho um nó de ramificação próximo também grau no topo porque você pode fluir para fora dessa maneira ou fluir para fora dessa maneira. Oops. Então nós de controle de fluxo são de cor cinza, então queremos torná-lo de modo que a primeira vez que ele pressiona estava mostrando nossa interface de usuário de personagem para a tela. No entanto, quando pressionarmos de novo, vamos disparar de B. Então o nó do flip-flop funciona na primeira vez que você apresentar, ele dispara fora de A, na segunda vez que os compradores saírem de B
, e na próxima vez que você pressionar, ele dispara de um de um B, do que um de B flip flop, flip flop. Certo, então a segunda vez que apertarmos este botão, o que queremos fazer? Queremos definir o nosso jogo para ser unpause? Vou selecionar meu jogo de set. Pausa. Observe aqui, controle C para copiar, controle V para colar. Vamos ligar isto assim. Embora muito importante, não perca este passo, você precisa desmarcar esta caixa. Você vai pausar isso aqui em cima. Mas na segunda vez que você pressiona esse evento de ação, você deseja despausá-lo. Ok, a segunda coisa que queremos fazer é nos livrar da nossa interface do personagem. Não queremos mais vê-lo. Então, a maneira que podemos fazer isso é arrastar em nossa variável de interface do usuário de caracteres WPP. Nós vamos pegá-lo. Lembra-te que estávamos a guardar isto dentro de uma variável. E parte da razão pela qual estávamos fazendo isso é para lá embaixo, poderíamos facilmente falar com ele. Por isso. Nós vamos arrastar um fio para fora disso para que possamos falar com ele e
podemos dizer para remover dos pais. Este é um nó de função que é, que ele vai remover este widget da tela. Isso é o que você está dizendo. UI personagem Wpp, vá tchau-tchau. Não queremos mais te ver. Tudo bem? A próxima coisa que queremos fazer é desfazer tudo o que fizemos aqui. Então eu vou bem, você não quer que eu vou fazer primeiro é eu vou arrastar nossa caixa comum aqui, clique com o botão esquerdo e arraste. Só me dê um pouco mais de espaço aqui. Clique com o botão esquerdo do mouse e arraste e mova-os para baixo. Vou pegar meu controle de jogador de novo. Então, aqui em baixo, clique com o botão direito do mouse em obter controle E novamente, estamos meio que desfazendo tudo o que fizemos aqui em cima. Vou arrastar um fio para fora deste e digitar o conjunto, mostrar o cursor do mouse. E quando despausarmos o jogo, queremos que a tela desapareça. E também não queremos que o cursor do mouse afirme mais seu show. Então vamos manter isso como falso. Não queremos mais ver o cursor do mouse quando estamos jogando o jogo. Então também vamos arrastar um fio para fora do nosso controle Get Player e vamos definir modo de
entrada para o jogo apenas antes de nos permitirmos controlar o jogo e a interface do usuário. E agora nós estamos dizendo qualquer entrada, nós só queremos controlar o jogo apenas. Certo? Virando minha página de notas. A próxima coisa que eu quero fazer é eu poderia continuar arrastando fios para fora do meu controle get player aqui, mas eu não quero ter muitos fios loucos, então eu vou pegar outra cópia do meu controle de jogador aqui para destacá-lo, fazer controle C, controle V. E eu vou arrastar um fio para fora deste no tipo em fica peão controlado. Agora estou dizendo para pegar qualquer peão no meu caso, um personagem que estou controlando. Quero arrastar um fio para fora daqui, e quero transformar o ator. Agora transformar apenas para que você saiba, consiste em, e na verdade isso é provavelmente mais fácil de ver se eu apenas ir para o nível e deixe-me apenas trazer em um cubo aqui. Há um cubo. Uma transformação consiste em dados de localização, seja, coordenadas XYZ, dados rotacionais, como ele é girado nos eixos x, y e z e dados dimensionados, quão grande é nas coordenadas x, y e z. E observe todas as cores aqui, x corresponde com vermelho e há seta vermelha ali. Por que corresponde com a tela e z corresponde com azul. Assim, os dados transformados consistem em todos esses bits de informação. Muito bem, voltando ao nosso controlador de jogador, queremos que nossos atores transformem principalmente seus dados de
localização e rotação mais do que escala. E a razão pela qual vamos fazer isso é porque nós vamos querer criar um novo personagem neste ponto um pouco abaixo da cadeia aqui. Então, meio que pensando adiante aqui. Então o que eu vou fazer com isso é o valor de retorno de meus personagens se transformar novamente, é onde ele está localizado e girado no mundo. Vou clicar com o botão direito sobre isso. Eu vou promover isso para uma variável para que nós estamos armazenando essa informação. E isso vai me levar a dar um nome a esta variável, indo para bater F2 aqui. Agora podemos editar esse nome aqui no painel Detalhes ou aqui embaixo. Por que não só por ser diferente, eu faço isso aqui em cima. E eu vou chamar esse personagem de geração de transformar como seda. E você vai notar que do jeito que eu nomeei, apenas com maiúsculas para cada uma das palavras. Eu não tenho nenhum espaço aqui em baixo. É inteligente o suficiente para saber que onde quer que eu tenha uma letra maiúscula e tente colocar um espaço lá dentro. Bastante útil, certo? Vá Jogos Épicos. Tudo bem, então depois de configurarmos o modo de entrada aqui, eu vou armazenar nossas lagoas controladas transformadas que é locacional e rotacional bem em informações de habilidade em uma variável. E mais uma vez, isso vai entrar em jogo no fim da estrada aqui. Agora o que eu também quero fazer é arrastar um fio para fora do meu peão controlado aqui. E vou escrever “Destruir Actor”. Porque meu objetivo novamente aqui é que quando eu estou saindo desta tela, qualquer personagem que eu estou controlando atualmente, qualquer Peão, eu queria destruir aquele e substituí-lo por outra coisa. Agora, quando eu clicar em jogar agora, eu estou controlando aquele homem manequim. Não é essa que eu quero controlar. Quando saio da interface do usuário do personagem, quero controlar o personagem que estava na tela. Quando eu sair da tela, é quando eu estou trabalhando para, então veja como vamos fazer isso. Vamos passar por aqui. Vamos clicar com o botão direito do mouse em algum espaço vazio e vamos digitar uma instância de jogo get. Ok, então fora disso nós vamos arrastar para fora um fio e digitar elenco para a nossa BP Game Instance. Vamos ligar isso assim. E isso tudo vai se juntar aqui. E faz sentido para os seus índices um pouco. Uma vez que temos a nossa instância de jogo bp, podemos falar com ele se de fato estamos usando
são instância de jogo BP que fizemos definido em nossas configurações de projeto. Então agora eu posso arrastar um fio para fora da nossa Instância de Jogo SBP e fazer uma pesquisa para jogador
selecionado em então nós vamos obter nosso inst jogador selecionado. Então lembre-se, como estamos alternando nosso personagem, você não precisa fazer isso, mas eu vou apenas lembrá-lo que como estamos nosso personagem para o jogador seguinte ou anterior, estamos realmente mudando. Estamos definindo um novo valor para os nossos jogadores selecionados, bem aqui. Estamos constantemente atualizando qual jogador selecionado, qual linha estamos realmente olhando em nossa tabela de dados. Então é por isso que aqui, estamos entrando em nossa instância do jogo no início K, qual linha, qual jogador selecionado, ou que estamos olhando atualmente. E fazendo isso, vamos ser capazes de mudar em qual personagem vamos gerar. Então eu vou arrastar um fio para fora deste pino de execução superior e digite no switch on int, que é a abreviação de Switch on inteiro. Agora, a maneira como este nó funciona é que podemos dar-lhe mais alguns pinos de saída aqui. Então eu vou clicar uma vez, duas e três vezes, para que eu tenha na saída para 0. 12 e eu vou dependendo de qualquer número que alimentamos este, ele vai disparar para fora do pino execução de saída correspondente. Agora lembre-se, são selecionados jogador insistir que é uma variável nome, mas ele detém o número 01 ou dois. Então precisamos transformar este formato de nome em um inteiro. E lembre-se, eu não posso fazer isso diretamente conectando um nome em um inteiro. Não me vai permitir. Mas há uma solução alternativa aqui. Eu posso arrastar para fora daqui e digitar uma corda. Então vamos converter um nome para uma string. E então eu vou arrastar para fora da minha string e apenas conectá-lo ao inteiro porque ele me
permite converter uma string para um inteiro. E agora isso é incrível. Podemos realmente pegar o número que está armazenado aqui para dirigir qual dessas saídas nós disparamos. Então agora vamos gerar alguns caracteres que podemos possuir que é o controle baseado em qual dessas saídas está sendo alimentado em 01 ou dois. Agora, eu vou clicar com o botão direito do mouse e um espaço vazio e eu vou digitar o ator de origem da aula. E vai dizer qual ator você gostaria de criar? Então, se eu clicar neste pequeno menu suspenso aqui, eu vou procurar receitas desde o personagem Revenant jogador para a classe aqui em cima. E, e se o seu motor era qualquer coisa como o meu, levou uma eternidade para encaixar neste jogador Revenant aqui como ele está compilando shaders, mas nós podemos continuar neste ponto. Então, temos o personagem dos Revenant aqui. Então estamos dizendo que se o nosso jogador selecionado inst for 0, esse é um personagem que queremos gerar. Tudo bem, isso é legal, mas não basta apenas
criar o personagem que precisamos para possuir o personagem. Então, como fazemos isso? Bem, eu vou clicar com o botão direito do mouse e algum espaço vazio aqui, digite get player controller, como celular. E então nós vamos arrastar um fio para fora deste tipo n na palavra possuir. Podemos possuí-la em possuída. Queremos possuí-la. E qual é a lagoa que queremos possuir? Bem, nosso personagem de Revenant, então é isso que o gera. E aqui nós dizemos, hey, esta é a lagoa que queremos que o controlador do jogador seja BP player controlador possuir. Entendi, incrível. Então está tudo bem, mas também precisamos alimentá-lo. Onde você quer gerar esse personagem? Você tem que alimentá-lo com uma transformação de desova. Bem, coisa boa. Salvamos a localização do nosso personagem. Antes de destruí-la, salvamos a localização do personagem que não estávamos controlando nesta variável. Pode ser muito importante a ordem das operações aqui, salvando onde ele estava no mundo antes de destruí-la. Então agora podemos usar essa informação, a localização na informação rotacional. Vou clicar com o botão esquerdo e arrastá-lo para a transformação de geração. E eu vou trazer isso de volta aqui um pouco porque eu vou fazer uso disso. Para essas outras saídas também. Então, agora que temos isso construído durante o resto destes quatro, se o nosso jogador selecionado termina é um ou dois vai ser simples. Então, basta clicar com o botão esquerdo e arrastar por esses nós aqui. Vamos fazer o controle C para copiar. E vamos controlar a pasta uma e duas vezes. Para que você tenha algo parecido com isso, pelo
menos a partir de uma visão de 1.000 pés. Ok? E nós vamos nos certificar de que nós conectamos o r 12 lá e os nossos dois aqui embaixo. E vou tentar encaixar tudo isso. Certifique-se de que nós temos essas transformações de geração ligado em cada um desses também. E a única coisa que precisamos trocar, e espero que isso não cause uma pausa novamente, é qual personagem queremos gerar. Então, se for, se este número for selecionado, o jogador é um. Queremos mudar o nosso personagem aqui para ser o personagem do jogador Muriel. E é claro que isso vai demorar um pouco aqui. Então vou pausar o vídeo. Tudo bem, e como sombreadores compilam para o caractere material, porque esse é um caractere bastante complexo. Vamos rolar aqui para baixo e mudar este último personagem para ser Sever Rog. Então vamos digitar o personagem de jogador errado. E tenho certeza que isso vai congelar as coisas momentaneamente também. E agora que isso está feito, vamos fazer uma rápida revisão sobre o que todos nós acabamos de construir para garantir que entendemos o que está acontecendo. Tudo bem, então novamente, uma vez que pressionamos,
no meu caso, a tecla E para disparar este show ocultar personagem UI na primeira vez que ele vai
jogá-lo, ele vai disparar fora da saída A aqui. Vamos pausar o jogo, mostrar o widget da interface do usuário, adicioná-lo à janela de exibição, mostrar o cursor do mouse e nos dar acesso a interagir com ele. Alternar caracteres anteriores, próximos, etc. Então, a segunda vez que
pressionamos o botão, vamos fracassar. Vamos disparar da entrada B. Vamos despausar o jogo, remover esta tela da nossa porta de visualização. Vamos esconder o cursor do mouse. Vamos salvar o que é a nossa geração de homem manequim atual. Eu vou dizer para não criar sua transformação, sua localização, sua rotação no mundo para que possamos fazer uso dela mais tarde. Então vamos destruir o homem dos manequins. Nós vamos então descobrir qual é o nosso jogador selecionado dentro da nossa Instância de Jogo bp para dirigir qual personagem devemos gerar. Regresso, milagre ou vários troncos, para que possamos possuí-lo usando a transformação do nosso personagem anteriormente controlado, que é o homem manequim. Agora eu vou jogar isso, mas você vai ver um problema assim que eu fizer isso. Então eu vou jogar, tudo bem, eu estou no jogo controlando manequim homem pressionando o tipo. Tudo bem, está tudo bem. Eu posso alternar personagens. No entanto, quando eu pressionar a tecla E novamente, eu não posso despausar. Isso é porque, e esse é o problema. Voltando ao nosso controlador de jogador bp, preciso selecionar nossas ações de entrada,
mostrar ocultar, interface do usuário do personagem, e também dar a isso a capacidade de executar quando pausar. Então vamos marcar essa caixa. Vamos compilar mais uma vez, nosso script está pronto para ir. Vamos salvar. Vamos jogar mais uma vez. Aí está o nosso homem manequim. Pressione a tecla E. Vou alternar para, vamos para remanência. E eu vou pressionar a tecla E novamente para sair da tela. Eu saí da tela e isso levou a um pouco lá, mas você pode ver que estou controlando a receita e pressione a tecla E novamente. Vamos alternar para, digamos sever OG. Pressione a tecla E para sair. Boom, há vários logs na tela. Novamente, eu não tenho o computador mais poderoso aqui em sua perna em um pouco, mas você pode ver que isso está funcionando. No entanto, ainda há mais um problema. Você ouve esse barulho. Tecnicamente, ainda estou tentando alternar caracteres na tela da interface do usuário do personagem. Esse é um problema menor que vamos corrigir no próximo vídeo, vamos vê-lo lá.
36. Mudança de personagens (Jogo) #3: Muito bem, bem-vindos de volta, pessoal. Este vídeo estamos continuando exatamente onde paramos no último vídeo, estávamos fazendo algum trabalho dentro do nosso controlador bp player. Encontramos mais um erro que precisamos resolver antes que possamos chamar isso tudo bem e bom agora, apenas para ter certeza de que estamos todos na mesma página, vamos nos certificar de que você veio sob sua pasta de blueprints da interface do personagem, clique duas vezes no controlador do jogador BP para abri-lo. Então esta é uma visão muito ampliada, apenas usando minha roda de rolagem do mouse aqui. Esquerda, eu tenho a minha alternância para o próximo e para os meus scripts de jogador anteriores. E bem aqui é onde eu estou ativando e desativando o personagem uma interface do usuário. Agora eu só vou brincar aqui. E eu tenho minha janela atualmente tipo de pequeno agora se ele parecia meio grande para você, o que você poderia fazer é que você pode fazer mudança em F1 atualmente meu jogo está recebendo os controles do mouse para que eu possa imediatamente tipo de pan em torno assim. Mas se você quiser redimensionar sua janela de jogo, faça Shift mais F1. Isso fará com que o cursor do mouse apareça para que você possa redimensionar a janela assim. E eu estou fazendo isso intencionalmente para que você possa meio ver o que está acontecendo aqui com nosso roteiro. Agora, novamente aqui em cima, o filtro de depuração que eu tenho dito para os controladores do jogador BP para que
possamos ver o que está acontecendo em nosso script quando estamos jogando o jogo. Então, clicando na minha janela aqui para ter certeza de que eu tenho o controle, eu vou tocar o gosto, assistir os scripts disparando acima como eu estou pressionando as coisas. Então, tocando na tecla E e você vê esse fluxo de execução fluir lá em cima. Está bem, agora deixa-me alargar isto um pouco. E mais uma vez, eu sei que isso não é tamanho, realmente ótimo. Então veja como eu toco as 12 teclas aqui, certo? Então podemos ver que trabalhar agora assistir quando eu pressionar a tecla E novamente vai
fluir por aqui para escolher, fechar minha janela. E ele vai escolher esse personagem Muriel, então ele vai fluir por lá. Tudo bem, então batendo no tipo. E agora vemos Muriel fluir para a tela agora, então o problema que revelamos no último vídeo, no final do último vídeo, como ele, mesmo quando estamos de volta ao jogo aqui, quando eu pressiono uma ou duas teclas, você pode ver no canto superior esquerdo lá está tentando alternar para outros jogadores e isso não é o que queremos. Isso não deveria ser permitido sequer acontecer. Então, como restringimos isso? Bem, há apenas um pouco mais de script que precisamos adicionar e vamos começar aqui em nossa seção Variáveis no controlador do jogador BP, clique neste botão de adição e vamos criar uma nova variável chamada é caractere. Você abre. Como assim. E eu quero que isso seja do tipo booleano. Agora, podemos mudar este tipo de variável uma vez que criá-lo, ou aqui, tipo variável booleana ou apenas um pouco mais complicado. Você pode clicar aqui e alterá-lo aqui também. Está bem. Ele vai dizer por favor compile para que você possa dar-lhe um valor padrão. Então eu vou compilar e eu quero que o valor padrão seja falso. Ok, então a próxima coisa que eu preciso fazer é eu preciso trazer isso para o gráfico e eu vou tipo de zoom em cima por nossa interface de personagem alternado ligado em off. E o que eu vou fazer é clicar com o botão esquerdo e
arrastar isso para o nosso gráfico bem aqui depois do nosso nó Flip-flop. E ele vai dizer, você quer pegá-lo ou configurá-lo? Quero definir esta variável. Então eu vou trazer uma versão setter disso, e eu vou quebrar este fio aqui,
segurando a tecla alt e clicando com o botão esquerdo. E eu vou reconectar assim. Agora, quando as primeiras prensas estavam fluindo para fora daqui, queremos dizer se a interface do usuário do personagem está aberta? Sim, agora está aberta. Porque vamos abri-la bem abaixo da corrente aqui. Agora, este aqui realmente não importa onde você coloca em sua cadeia de eventos. Você poderia colocar este depois da pausa do jogo. Você poderia lugares onde, no final, não
importa onde você coloca este em nosso fluxo de execução ao longo do topo. Agora precisamos trazer outro centro aqui para quando fecharmos nossa interface. Mas eu vou apenas demonstrar outra maneira que podemos obter um centro de nossa variável. Se você manter pressionada a tecla Alt, tecla
ALT e clique com o botão esquerdo e arraste e solte no gráfico. Isso fará com que você obtenha automaticamente um setter que ignora a etapa em que, se você clicar com o botão esquerdo e arrastar, você obtém este pequeno menu pop-up perguntando o que você quer. Então eu vou canalizar isso em um assim. E agora aqui em baixo nós só temos que ter
certeza, ter duplamente certeza de que isso está desmarcado. Então é verificado aqui dizendo sim, as UIs do personagem abertas. Aqui em baixo nós estamos dizendo não, ele não está mais aberto. Então nós estamos definindo esta variável aqui, mas isso realmente não muda nada ainda. Precisamos realmente usar essa configuração, descobrindo se ela é verdadeira ou falsa em nossos scripts de caracteres do player de alternância. Ok, então o que eu vou fazer é começar com alternado para o próximo jogador, e eu vou apenas mover este evento de volta. Posso arrumar isto depois deste vídeo. E agora vou clicar com o botão esquerdo e arrastar. Esse é o personagem que você abre. Vamos conseguir e oferecer isso. Vamos nos arrastar e procurar por um nó da filial. E vamos encher isso assim. E agora nós vamos dizer apenas se o personagem que você olhar abrir, tudo se ele estiver aberto, nós vamos permitir alternar para o próximo jogador? Como assim? E agora você pode simplesmente copiar esses dois nós. É personagem UI aberto em nossa filial mantendo pressionado o controle clicando com o botão esquerdo. Ambos estão destacados em amarelo. Permite controlar C para copiar aqui. Deslocar-se para baixo até a nossa alternância de jogador anterior. Vamos fazer o controle V e reconectar isso em como assim nós só queremos ser capazes de alternar para anterior ou próximo se nossa interface de usuário de personagem estiver aberta, assim. E, claro, sendo um bom menino, menina ou designer, queremos compilar para ter certeza de que nossos roteiros são bons. E diz que sim, eles são. Então vamos salvar. Agora. Vamos tentar jogar teste é mais uma vez eu vou clicar em jogar. Eu vou, atualmente tenho o controle. Deixe-me fazer essa mudança maior na F1. Então eu sou controlado pelo meu rato. Tudo bem, agora eu vou clicar de volta aqui. Aperte a tecla E. Tudo bem, então eu posso alternar. Vamos fazer com que o Regresso apareça. Então, vou pressionar a tecla E para escapar daqui. Há o Revenant e agora se eu pressionar as 12 teclas, você não ouve mais nenhum som. E só para provar que não está mais disparando, eu vou fazer embarcado na F1, ganhei o controle da minha janela aqui, meio que minimizar isso. Deixe-me voltar aqui. Eu posso ver que eu tenho meu controlador de player BP no filtro de depuração. E deixe-me trazer aquela janela de volta. E agora você pode ver isso enquanto eu estou pressionando a
tecla uma ou duas na minha alternância do script. Para o jogador seguinte ou anterior, estes não estão mais disparando porque estamos verificando se a interface do usuário do personagem está aberta ou não. Tudo bem, então pessoal, isso é tudo bem e bom. Agora temos a capacidade de alternar personagens e
controlar diferentes personagens quando saímos do trabalho de tela, bem feito, isso vai fazer tudo por este. Vemo-nos na próxima.
37. Layout básico para habilidades: Bem-vindos de volta a todos. Neste vídeo vamos começar a definir a aba de habilidades de nossa interface do personagem. Agora, estou olhando para a versão finalizada do que vamos construir. Então eu só queria dar uma olhada em
uma espécie de resumo rápido sobre o que estamos querendo fazer. Então, neste primeiro vídeo, ao longo desta linha de construção de tudo isso aqui, vamos definir as bases básicas para esta seção de habilidades. Vamos dividir todo esse processo em pedaços de tamanho mordida. Então este primeiro vídeo só vai ser focado em obter a estrutura para construir esta seção de habilidades aqui. E então nos preocuparemos com esses ícones, as descrições e todos esses detalhes mais tarde. Tudo bem, agora que você sabe o que estamos procurando, eu vou sair, sair dessa e me juntar a você em nossa versão do projeto. Muito bem, aqui estamos de volta ao nosso projeto de interface do personagem. Então vamos nos certificar de que temos nossa interface de usuário do personagem WPP aberta clicando duas vezes sobre ele. E, novamente, você pode encontrar isso em sua pasta de widgets de interface do usuário do personagem de conteúdo. Tudo bem, então no lado daqui, queremos fazer com que tenhamos alguns meios de alternar entre nossas habilidades para ter em nosso atributo SAB, queremos que cada um deles exiba diferentes partes de informação. Então, a fim de nos ajudar com isso, nós vamos estar usando algo chamado um switcher widget. Então isso vai ser adicionado aqui em nossa hierarquia, em nossa hierarquia está ficando um pouco grande aqui. Então vamos recolher alguns desses triângulos aqui apenas para
nos dar um pouco mais de tela real aqui com o qual trabalhar. E para encontrar este widget, o switcher, eu vou entrar sob o painel de paleta e apenas digitar widget. Há o switcher de widgets. E novamente, quando você passar o mouse sobre eles, ele vai lhe dar uma pequena dica de ferramenta. Então ele diz que um switcher de widget é como um controle de tabulação, mas sem as guias, no máximo, um widget é visível de cada vez. Sei que isso não faz muito sentido agora, mas fará daqui a pouco. Então eu vou arrastar e soltar este switcher de widget em cima do nosso painel de tela. Boom, aí está. Vou selecioná-lo imediatamente, aperte F2, e vou renomear este switcher de widget. Categorias. Assim. Tudo bem, com isso selecionado, vamos definir alguns detalhes para isso. Atualmente, nosso switcher de widgets realmente não se parece muito aqui em nossa guia designer, tudo o que vemos é apenas como contorno verde. Não há visual para combinar com isso. Este é um tipo de widget utilitário na medida em que faz com que outros widgets fazer coisas exibir ou ocultar dependendo de qual widget queremos mostrar. Novamente, até que não faça muito sentido, você descobrirá mais em apenas um momento. Tudo bem, as primeiras coisas primeiro, vamos definir o nosso ponto de ancoragem aqui. Não quero isso ancorado no canto superior esquerdo. Quero isso ancorado na borda esquerda da tela aqui. Então, largura. Widgets. Então switcher selecionado, switcher
widget selecionado boca. Vou definir o meu ponto de ancoragem para ser este quadrado esquerdo ali. Então isso vai mover meu ponto de ancoragem bem aqui. Isso significa que todas as posições,
as posições x e y serão relativas a este ponto. Isso é considerado ponto é 0-0. Agora, no que diz respeito à posição deste widget, vamos definir a nossa exposição aqui para 20 negativos. Essencialmente. Eu quero esse negativo 20, positivo 20, ruim meu. Essencialmente eu quero este tipo de flush com esta borda. Nosso layout de categoria de personagem aqui em cima, posição y. Vou definir isso para ser negativo 3.3.5 aqui em baixo. E mais uma vez, isso não é erro que ele meio que é corado com uma espécie de parte inferior da nossa barra de categoria. Sei que não é perfeito, mas está perto o suficiente. A última coisa que quero fazer aqui é que este tamanho é de cem,
cem pixels de diâmetro. E tamanho por que 30 pixels abaixo? Vou escolher o tamanho para o conteúdo. E quando eu o fizer, vai fazer com que isto seja uma caixinha muito pequena. Ele está ignorando nosso tamanho x e nosso tamanho y. Então ele vai dinamicamente tamanhos com base no que está dentro dele. Então isso vai ser preenchido aqui no devido tempo. Muito bem, a próxima coisa que queremos fazer é ter widgets
diferentes ligados a este switcher de widgets. E o que eu quero anexar a este painel de lona r. Então eu vou fazer uma busca por isso sob o nosso painel de paladar apareceu lata vis há painel de lona. Agora você pode se lembrar quando criamos essa interface do usuário de personagem WPP pela primeira vez, isso veio com um painel de tela por padrão. E, de fato, nós construímos anexando coisas ao nosso painel de tela. Agora, ele pode pensar como um painel de lona como um quadro de rolhas que você tem em sua parede em casa, onde você pode simplesmente fixar as coisas em “vontade-nilly”. Painéis de lona são ótimos widgets para simplesmente colar as coisas a um willy nilly, não em qualquer grade organizada ou algo assim. Então isso é o que queremos fazer é adicionar um painel de tela aqui com o qual podemos adicionar vários ícones de habilidade e descrição de texto, esse tipo de coisa. Então eu vou arrastar e soltar isso em cima de nossos widgets, que são categorias como essa. Mas eu vou renomear isso imediatamente clicando nele, pressionando F2, vamos chamar essa tela de habilidades de sublinhado, assim. E então vamos adicionar um segundo. Vamos arrastar e soltar isso em cima de nossos widgets, que são categorias. Nós vamos chamar isso clicando sobre ele, atingindo F2 tela sublinhado em tributos. Tudo bem, está tudo bem. Mas agora como esse switcher de widgets funciona? Nós temos que lona painéis anexados a ele, mas OK, como isso funciona com nosso sistema de abas, yada, yada, yada. Bem, a maneira como nossos widgets mudam você aqui funciona e eu vou selecionar isso. É mais no painel Detalhes que temos no índice widget ativo que podemos encaixar. Atualmente ele está definido como 0. É assim que funciona um switcher de widgets. Dependendo de quantos widgets diferentes você anexar diretamente
aos widgets que estão agora só temos diretamente ligado ao nosso switcher widgets. Isso é quantos índices você tem disponíveis para você encaixar, começando com o número 0. Então pense nas habilidades do painel de tela como índice R 0. Neste momento, se eu fosse jogar o jogo, estaria mostrando o que temos ligado. Habilidades do painel de tela. Índice é 0, que seria o nosso widget ativo. Atributos do painel de lona seriam considerados ativos ganhos índice widget de um. Então, se eu definir isso como um e eu tivesse algumas coisas dentro de meus atributos do painel de tela, isso é o que seria exibido. Vamos demonstrar isso porque ver é crer. Então eu vou subir na minha área do paladar. Nós vamos para ele temporariamente você não tem que fazer isso. Isto é apenas para fins de demonstração. Vou colocar temporariamente uma imagem dentro ou melhor, anexá-la aos atributos do meu painel de tela de desenho. E eu vou renomear este, você sabe, e eu não vou, eu vou deixá-lo como imagem A1A2
, porque eu vou apagar isso depois deste vídeo. Agora, vou colocar outra imagem aqui além de ser uma caixa branca. Então vamos vir sob a imagem do pincel e eu vou digitar na íntegra. Vamos fazer com que esta seja a imagem da condessa. Agora eu vou dimensionar isso para o conteúdo. Marque essa caixa. Lá vamos nós. Então agora eu vou voltar para meus switchers de widget selecionar isso e de repente nós não vê-lo. E a razão pela qual não o vemos é porque, novamente, nosso índice de widget ativo aqui é 0. Claro que vamos vê-lo se estamos clicando em uma imagem porque esse é o widget com que estamos trabalhando. Mas quando estamos selecionando nosso próprio widget, índice
ativo do widget, está dizendo,
ok, bem aqui, você deve estar olhando para as habilidades do painel de
tela porque esse é o nosso índice 0. Agora, eu posso provar isso jogando nosso jogo. Mais uma vez, temos o nosso índice de widget ativo de 0. Então devemos estar olhando para nossas habilidades do painel de tela, que não tem nada nele. Vou tocar na tecla E e não vemos aquela foto da Condessa aqui. Não, não em qualquer lugar. Então eu vou sair daqui. Agora vamos mudar nossos widgets, widget, switcher widget, índice. Cara, não posso dizer isso. Vamos mudar isso para ser um. Então, agora aqui estamos dizendo que queremos ver o que um já está anexado aos atributos do painel de tela, índice um. Então, agora, quando eu jogar o nosso jogo e eu tocar isso como, há a Condessa bem ali em baixo. Então, eventualmente, abaixo da linha, vamos adicionar algum script aqui que vai torná-lo de modo que quando clicarmos nesses botões, vamos mudar o valor do nosso switcher de widgets de 0 para um, mas isso é vai descer a estrada por enquanto. Temos mais alguns layouts para fazer. Então deixe-me apagar esta imagem da Condessa. Não preciso dele. Estamos em uma posição onde podemos adicionar mais coisas ao nosso layout de habilidades. Vamos salvar rapidamente caras que farão tudo por isso. Vemo-nos na próxima.
38. Layout de ícones e botões: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar um layout dentro do painel de tela de habilidades. Esse é esse cara aqui, que vai mostrar quais habilidades são selecionadas personagem agora tem que fazer isso, vamos fazer uso de um widget uniforme do painel de grade bem
como alguns widgets de botão e imagem. Primeiro, antes de voltarmos para você aqui, só
quero ter certeza, caso você tenha feito uma pausa, que você saiba como voltar aqui. Então vamos voltar ao nosso nível principal Tab. Mais uma vez, este é o seu caminho conteúdo personagem UI widgets para encontrar sua w BP personagem UI. E agora você sabe que deve clicar duas vezes, para abrir isso. Certo, então novamente, vamos trabalhar dentro de nossas habilidades do painel de tela. Ou seja, vamos anexar coisas às nossas habilidades do painel de tela. E a primeira coisa que vamos adicionar é um painel de grade uniforme. Agora, como você pode esperar, este widget é ótimo para dividir uniformemente widgets
diferentes que você deseja colocar dentro dele. Daí o nome de um painel de grade uniforme. Vamos arrastar e soltar isso em cima de nossas habilidades do painel de tela. E então vamos renomear isso imediatamente. Vou chamar isso de bater F2 nele. Vamos chamar este uniforme de um painel de
grade de habilidades, habilidades, Dario. O ponto de ancoragem para isso. Vamos deixar isso como é agora vale a pena mencionar aqui que o ponto de ancoragem será relativo ao painel de tela que está anexado. Então este é um painel de tela que está anexado ao. Então o nosso ponto de ancoragem é que no canto superior esquerdo e está ancorado em quê? Ele está anexado a esse painel de tela. Agora mesmo. Nossa posição x e y aqui eu vou ajustar ligeiramente. Então eu vou dizer posição X, nós vamos mover isso para dez. Na posição y, vou mudar isso para 30, como para baixo um pouco, algo assim. Tudo bem, então o que mais eu quero fazer? Eu quero dimensionar esses dois conteúdos. Vou marcar essa caixa e,
novamente, vai encolher muito por enquanto. Não se preocupe com a ordem Z. Eu vou definir isso para um agora se você quiser saber o que a ordem z faz, pense em z ou assim, imagine que você tinha um monte de widgets em cima um do outro. Como saberia qual exibir? Bem, ordem Z, pense em um monte de pedaços de papel ou imagens empilhadas um sobre o outro. Como você sabe qual deles exibir, qual deles tem prioridade? Qualquer que tenha o número maior para a ordem z. Esse é o que seria exibido. Eu vou definir para um por agora porque é isso que eu tenho minhas anotações e eu não consigo lembrar exatamente por que disse que é um. É por isso. Muito bem, a próxima coisa que vamos fazer é adicionar
um botão ao nosso painel de grelha uniforme. Então vamos encontrar no botão Paleta. E nós vamos adicionar isso em cima que é, anexá-lo a dentro de se você quiser pensar nisso como as habilidades uniformes do painel de grade. Vamos precisar nos dar um nome imediatamente, F2. E você definitivamente vai querer renomeá-los para se manter organizado. Isso vai ser Botão habilidade sublinhado 01. E vamos ter vários detalhes que queremos definir para isso. Agora, a maneira como um painel de grade uniforme funciona é para todos os widgets que estão anexados a ele, você começa a decidir em que linha e coluna ele vive. Você começa a decidir quantas linhas e quantas colunas para que você possa colocá-las uniformemente. Agora, para o propósito de nós jogar, colocando alguns botões ou alguns botões de habilidade aqui, nós só queremos ter uma coluna. Vamos ter cinco botões de habilidade diferentes aqui que podemos selecionar. Mas queremos todos dentro de colunas singulares. Então isso significa que vamos dar-lhes uma linha diferente. Agora note que como eu tenho esta habilidade botão selecionado, ele está me dando a capacidade de encaixar em uma linha e coluna, e ele está sob a categoria de slot lado grade uniforme. Está basicamente dizendo OK, botão OK. Vejo que está dentro deste painel uniforme. Aqui estão as propriedades que, estando dentro de um painel de grade uniforme, você tem acesso a definir uma linha e uma coluna, certo? Ignore isso, na verdade, não vou ignorar por enquanto. Vou deixar isto em 0-0 porque é aí que quero este primeiro botão. Mas eu vou vir sob a seção de estilo de aparência e eu vou
expandir a seção normal primeiro e slot em uma imagem. A imagem que estou procurando é t sublinhado, ícone, sublinhado, borda. Como isso. Agora você pode dizer, hey, este tem a forma exatamente como o que temos aqui para nossos ícones de afinidades. Bem, se você se lembra do caminho de volta, nós realmente criamos um widget para esses ícones de afinidade específicos. Eu quero que estes sejam botões porque nós vamos realmente selecioná-los. E um widget Button permite que você realmente selecioná-lo, clique nele, etc. Então é por isso que eu não estou reparado, propondo este widget particular que fizemos anteriormente. Tudo bem, queremos desenhar isto não como uma caixa, mas como uma imagem. Mesmo que a caixa pareça praticamente a mesma. Nós vamos querer entrar sob a seção pairada também. Agora, normal é como isso parece quando você não está passando o mouse sobre ele ou selecionando-o. Ok. Hubbard é quando você está passando o mouse sobre ele, o que isso parece? Então, para isso, eu também quero borda ícone
T, ícone de sublinhado t, borda sublinhado. Eu vou definir isso para desenhar como uma imagem bem só porque ele se
parece com uma imagem e eu acredito que é um pouco mais definido. Em seguida, precisamos entrar na categoria pressionada. Nós também vamos definir isso para ser t sublinhado ícone, sublinhado borda, assim. Então isso é o mesmo em toda a linha. Eu também vou definir isso para desenhar como. E imagem e nota que quando eu faço isso, é meio deseducado, desafia isso aqui em cima. Me chame de ADD. E por último, mas não menos importante, eu quero definir um som focado para que eu possa definir um efeito sonoro que seja reproduzido quando passamos o mouse sobre ele aqui no painel Detalhes. E o som Hubbard que eu quero encaixar para isso clicando aqui, vai ser UI flutuante. Abra, aquele cara ali. E se você não ver isso novamente, ele está no caminho do motor. Então, se você vir sob opção Exibir, Exibir, Opções mostrar conteúdo do mecanismo, certifique-se de que está ligado e, em seguida, você vai vê-lo. Então UI flutuante aberta, esse é o efeito sonoro que eu quero para isso. Agora vamos anexar uma imagem em cima disso. Então, sob o meu painel de paladar eu vou arrastar e soltar uma imagem para ir direto para cima da minha habilidade de botão ou uma, eu vou renomear essa habilidade de sublinhado de ícone, sublinhado 01, assim. E vamos colocar uma imagem imediatamente. Agora, eventualmente, vamos
trocar esses ícones lendo a nossa tabela de dados. Mas só para que tenhamos algum visual aqui, whoops, tem que vir sob a imagem do pincel e vamos colocar habilidade de sublinhar, sublinhar Revenant. E vamos fazer o inferno rodadas costa que, que tinha parece muito legal, certo? Tudo bem, então a próxima coisa que eu quero fazer é ter isso ainda selecionado. Vou rolar para baixo. E sob a seção de transformação de renderização, vou expandir isso um pouco. Temos a capacidade de ajustar um pouco a escala disto. Então eu vou ampliar isso. E eu vou mudar esta escala para ser 0.95
no X e 0.95 no y apenas vai reduzi-la aqui em baixo apenas um pouquinho. E então com isso ainda selecionado em cima, eu vou vir sob o estofamento,
o estofamento de ranhura aqui, o preenchimento de encaixe de botão. Eu vou expandir isso e você sabe o que, eu realmente vou sentar três em toda a placa. Então, se eu definir x3 bem aqui e apertar Enter, você vai notar que ele define três em
toda a placa no meu alinhamento horizontal e vertical, que vai ser muito bem agora que está olhando definido lá muito bem, por isso estou feliz com isso. Tudo bem, a próxima coisa que eu quero fazer é ter um pequeno ícone de botão de controle aqui que tipo de indica como hey, usar essa habilidade e novamente pressionar o,
você sabe, o botão Y ou onde quer que ele esteja. Agora esses ícones vão ser insignificantes para o nosso jogo. Mais uma vez, este curso é tudo sobre apenas colocar para fora esta interface do personagem, mas apenas para meio que levar isso a milha extra, vamos em frente e adicionar um desses. Então vamos voltar ao nosso painel de paladar, vamos adicionar uma imagem, embora desta vez vamos adicionar isso novamente às nossas habilidades de painel de grade uniforme. Então arraste e solte em cima de lá. Ele deve estar na linha abaixo da habilidade botão u1. Vamos renomear isso, acertando F2 nisso. Vou chamar essa habilidade de sublinhar entradas. Sublinhe 01 e tenho alguns detalhes que eu quero definir para isso imediatamente. O alinhamento horizontal, estou bem com isso. Esquerda justificada, no entanto, o alinhamento vertical, Eu quero que isso seja na parte inferior. Então nosso ícone de botão vai estar bem aqui. A linha e a coluna. Quero que isto seja o mesmo que o nosso ícone aqui. Então 00. No entanto, eu vou ranhura em uma imagem aqui, e eu vou ranhura no botão t sublinhado. Vamos fazer o botão “A”. Claro. Novamente, isso não tem sentido por enquanto. Agora esse botão obviamente vem em gigantescos, então vamos reduzir o tamanho da imagem para 50 por 50. Lá vamos nós. E por enquanto, nós vamos rolar para baixo em baixo diz comportamento. Vamos mudar a visibilidade aqui para ficar escondida. Agora ele realmente não mostra como escondido aqui enquanto estamos trabalhando nele, mas no jogo ele iria mostrar como escondido. Vamos fazer um teste aqui. Na verdade, para jogar batendo o gosto. E é claro que eu tenho que mudar, whoops, eu tenho que mudar nosso widget switcher aqui imediatamente. Novamente, nosso switcher de widgets está mostrando índice
ativo de um widget, que é esse cara. Vamos mudar isso de volta para 0. Lá vamos nós. Vamos jogar. Aperte a tecla e ver que o botão está realmente escondido quando jogamos no jogo. Você pode ver que são Icon, eles são muito doces. Sim. Tudo bem, agora com tudo isso feito, só
temos um ícone. Precisamos adicionar mais quatro destes. No entanto, vamos trapacear. Vamos copiar e colar. Então é isso que vamos fazer. Vamos selecionar nossa habilidade de botão ou um, vamos manter pressionada a tecla Shift, selecionar novamente clicando com o botão esquerdo. Vamos então clicar com o botão direito sobre isso. Vamos copiar. E o que queremos fazer é anexar isso ao nosso uniforme um painel de grade habilidades por tempo. Vou clicar com o botão direito e colar uma vez. Vou clicar com o botão direito do mouse novamente sobre isso e colar duas vezes, vou clicar com o botão direito do mouse novamente e colar novamente. E, em seguida, clique com o botão direito no painel de grade uniforme mais uma vez e espaço novamente. Agora, obviamente, temos um monte de coisas empilhadas uma em cima da outra. Então o que eu vou fazer é pedir que você renomeie tudo isso como você vê, este é sublinhado um, sublinhar um sublinhado um. Este vai ser sublinhado para sublinhar para sublinhar dois, assim por diante e assim por diante. Então eu vou pausar o vídeo aqui, renomear estes pressionando F2 sobre eles e voltar a juntar-me a você em um pouco. Tudo bem, e isso é o que você deve ter depois de ter passado por esse processo de renomeação, certifica-se de que tudo é anexado adequadamente, bem como aos widgets certos. Agora tudo o que precisamos fazer é corrigir onde estão vários botões em nosso painel de grade uniforme porque agora eles estão todos empilhados um sobre o outro. Então eu vou começar aqui selecionando a habilidade do botão O2. Atualmente, se eu olhar no painel Detalhes, você pode ver que ele está na coluna 0. Novamente, queremos ter apenas uma única coluna começando com a coluna 0. É tudo baseado em zero. No entanto, eu quero incrementar a linha, então eu vou dizer linha 0,
linha um em, pressione Enter. E isso vai saltar para baixo. Precisamos fazer isso não só com este ícone aqui, mas também queremos fazer isso com esses botões também. Então isso vai envolver a seleção de capacidade de entrada O2. E aqui também, posso preparar a estrada para ser uma. Então isso vai saltar para baixo. Se você quiser mudar o botão aqui você tem que adicioná-lo. Mas, de novo,
vamos mudar este botão só porque sou assim. Vou definir isso para ser abotoado. Tenha certeza. Novamente, redimensionar super geral. Então deixe-me definir que seja 5050 para o tamanho da imagem. Então vamos ao botão habilidade três. Vamos definir isso para ser na linha número dois,
assim, vamos escolher a capacidade de entrada três. Isso vai ser a segunda fila também. E você pode ver onde estamos indo com isso. Embora vamos mudar isso para ser, vamos para o botão X. Botão X é enorme. Vamos definir isto para 5050 para o nosso tamanho de imagem aqui. Mas uma habilidade para a mesma coisa, fila três desta vez. Vamos também definir isso para nossa capacidade de entrada, linha três. E agora só para demonstrar, você poderia ter outra coluna aqui. Deixe-me apenas incrementar esta coluna. Digamos que eu queria que esta fosse a coluna um. Você pode ver como isso pularia que o substituiria. Então você pode ver a coluna dois, você sabe, quantas colunas ou linhas
você quiser, você pode apenas fazer isso em tempo real. Então defina isso de volta para 0 lá. Eu vou mudar minha imagem aqui para ser, vamos selecionar isso e vamos mudar isso para ser o botão Y. Ginormous. Por que botões? Então vamos definir nosso tamanho de imagem aqui para 5050. E por último, mas não menos importante, temos a habilidade de botão cinco. Vamos selecionar isso e mudar a linha para quatro. E a capacidade de entrada para também ter uma linha de quatro. E vamos mudar a imagem aqui para ser vamos. Gatilho. Habilidade liderada gatilho esquerdo. Sim. Sim, gatilho esquerdo. E eu vou adivinhar em alguns tamanhos de imagem. Não sei o que queria por isto. Eu vou, sei lá, 60 por 30 Por enquanto, posso consertar isso entre os vídeos. Isso certamente não vai ser perfeito. Ok, a última coisa que eu quero consertar aqui é que temos tudo em uma bela coluna aqui, embora eles estejam muito apertados um contra o outro. Então o que eu vou fazer é selecionar meu painel de grade uniforme novamente. E vamos ver se podemos adicionar um pouco de estofamento entre isso. Então o que podemos fazer é mais nesta categoria chamada layout filho. Estes são todos considerados Filhos do painel de grade uniforme. Vamos expandir isto. E vamos dar um pouco de estofamento ao longo da parte superior e inferior. Então, ao longo do topo, eu vou dar um pouco de preenchimento e eu vou apertar F5 e eu vou ver o que acontece quando eu apertar a tecla Enter. De repente, esvaziamos as coisas um pouco, então isso é muito bom. Vamos fazer isso. No fundo é, bem, eu vou fazer cinco e eu vou apertar enter. Isso vai adicionar ainda mais espaço. Então isso é mais parecido com o que eu tinha em mente. E novamente, aquele gatilho esquerdo, eu vou dar que provavelmente alguns tamanhos de imagem diferentes, dimensões entre os vídeos. Senão, caras que eu ia oferecer este. Isso está indo muito bem. Vamos manter o impulso rolando. Na próxima, nos vemos lá.
39. Nome e descrição: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é adicionar um par de textos, widgets, NS, widgets de imagem
semi transparente, a fim de criar a parte de habilidade, nome e descrição do nosso layout aqui. Então nós vamos ter um pouco de uma imagem semi-transparente bem aqui apenas para tipo de agir como um suporte para alguns widgets de texto que nós vamos ter para nosso nome de habilidade que vai subir aqui. E então a descrição da nossa habilidade vai ser aqui embaixo. Agora, no caso de você ter feito uma pausa entre os vídeos aqui, você quer se reorientar. Certifique-se de que sob este diretório, a pasta de widgets aqui, você clica duas vezes na interface do usuário do caractere WPP para abri-lo novamente. Tudo bem, do lado daqui, a primeira coisa que eu vou fazer é clicar
neste pequeno triângulo ao lado do painel de grade uniforme para derrubar isso, tudo o que está ligado a ele, a fim de me dar um pouco mais imobiliário aqui na minha hierarquia porque eu vou estar adicionando mais algumas coisas para minhas habilidades painel de tela aqui. Tudo bem, então a primeira coisa que eu quero adicionar é uma imagem. Então eu vou arrastar e soltar isso do meu palete em minhas habilidades de painel de tela. Assim que você ver essa caixa amarela aparecer em torno das habilidades do painel de tela, solte o botão esquerdo do mouse e lá você verá sua imagem. Vamos renomear isso imediatamente. Então vamos selecionar isso, apertar F2, e vamos chamar essa imagem de habilidades de sublinhado, sublinhar BG. Isso vai ser abreviação de fundo. E eu vou apertar Enter nisso imediatamente. Agora, para o nosso ponto de ancoragem, ele está atualmente ancorado no canto superior esquerdo deste painel de tela. Mais uma vez, esses pontos de ancoragem são relativos à coisa a que está anexado. Neste caso, o nosso painel de lona. Então isso é tudo bem e bom. Vamos escolher nosso tamanho para isso porque queremos que nosso plano de fundo seja maior do que isso. Então a posição não a posição, o tamanho x eu quero mudar para ser 1100. Pressione Enter. E você pode ver como isso expande isso. Na verdade, vou redimensionar nosso cabeçalho de categoria aqui para ser expandido aqui também e apenas um pouco. E o nosso tamanho Y aqui vai ser 830. Então você pode ver o tamanho de nossa caixa de habilidades bem aqui, essencialmente onde vamos manter nosso nome e
descrição e , em seguida, alguns detalhes eventualmente sobre nossa habilidade. Tudo bem, lá embaixo, eu não quero que seja uma caixa branca, mas eu quero que seja apenas uma cor plana. Então eu vou entrar sob a seção de aparência sob a tonalidade. Eu vou mudar o R para ser 0, o g para ser 0 no valor b para ser 0, valores de 000 nos canais vermelho, verde e azul vai ser igual a preto, como a minha alma. Claro, eu não quero que isso seja um negro duro. Eu quero ser capaz de ver através disso um pouco. Então, a fim de fazer isso, eu vou mudar meu valor a aqui, meu valor alfa para ser 0,5. Isso significa que vai ser 50% transparente. 0.5 entrar. Assim, tão pouco de um filtro escuro. E se eu clicar fora disso, você pode ver como é um pouco mais escuro, você pode ver através dele. Então, novamente, este é um valor, o valor alfa 0 significa que você pode ver todo o caminho através dele como se você nem sequer vê-lo lá. Um significa que é completamente opaco. Você não pode ver através dele em tudo. Tudo bem, então a próxima coisa que queremos fazer é adicionar um texto widgets para o nosso nome de habilidade que vai viver aqui em cima. Então, sob o seu painel de paladar, Vamos encontrar o widget de texto. E novamente, apenas mostrando que está sob a seção comum. Vamos arrastar e soltar isso em cima do nosso painel de grade uniforme assim. Não o painel uniforme da grade. Queremos anexar isso às nossas habilidades do painel de tela assim. E só para que você possa ver a hierarquia, mas onde isso acabou indo? Ainda está tudo bem. Aí está, meu bloco de texto. Eu quero agarrar isso e arrastar e soltar isso nas minhas habilidades do painel de tela e não é suposto ir para os meus painéis de grade uniforme. Portanto, note que a hierarquia aqui são textblock aqui foi anexado. Foi colocado em cima de nossas habilidades de painel de lona, um peido cerebral momentâneo lá. Vou clicar nisso para renomeá-lo. Eu vou, eu vou chamar este texto de sublinhado de habilidades. Nome do sublinhado. Deixaremos os pontos de ancoragem no canto superior esquerdo. Isso significa que a nossa posição, a posição x e y será relativa a este ponto de ancoragem. E novamente, nosso ponto de ancoragem representa uma coordenada de 00 no x e y. Então, se eu definir nossa posição x para ser positivo 250, ele será deslocado 250 unidades na direção x positiva em relação a esse ponto de ancoragem. Nossa posição Y aqui vai ser 25. Isso vai ser 25 unidades abaixo em relação ao ponto de ancoragem. E eu vou definir o tamanho disso na verdade, você sabe o que vamos dimensionar para conteúdo. Então vamos fazer este ser o tamanho de qualquer que seja o nosso tamanho de fonte aqui em baixo vai ser. Então eu vou marcar esta caixa para tamanho para conteúdo. Vou mudar nosso texto aqui para ser apenas o nome da habilidade, algo genérico. Eventualmente, vamos vincular algo a
este texto para que este seja preenchido com o nome real da habilidade que vamos passar por cima. Ok, a próxima coisa que eu quero fazer é definir alguns detalhes
de aparência para isso, a família de fontes. Quero que seja fonte de remanência. Aquele cara ali, importamos mais cedo. Eu quero definir um tamanho de contorno para isso. Então esboços tamanho que eu vou definir para ser três. Agora você vê um pouco de um contorno escuro em torno disso. E esse contorno escuro é representado pela cor do contorno. E também vou definir uma cor de sombra também. Agora, antes de definir um deslocamento de sombra, eu vou realmente fornecer uma cor para ele. Caso contrário, você não vai ser capaz de ver a sombra deslocada para, bem, eu vou definir isso para ser uma sombra vermelha por enquanto. Eventualmente nós vamos ligar isso a uma variável para fazer isso uma cor de nossa escolha. Mas eu vou definir isso para ser vermelho. Agora atualmente você não vê nenhuma sombra ainda porque eu não
defini meu um valor para ser um valor acima de 0. Novamente, 0 significa que você não vai ver nada representado por esta parte da nossa barra de cores aqui em cima. Então eu vou definir isso para ser um que mostra o quão transparente ou não transparente é, a propósito, então se eu definir isso para 0,5, você pode ver que é essencialmente o que seria parecido aqui. Então eu vou definir isso para ser um. E eu vou definir nosso deslocamento de sombra aqui para estar no x e cinco no Y lá. Você pode ver aquele pouco de sombra. Em seguida, vamos adicionar outro widget de texto que vai ser usado para nossa descrição de qualquer habilidade que vamos passar o mouse sobre. Então eu vou pegar outro widget de texto daqui de cima, meu painel de amigos. E eu vou me lembrar desta vez para arrastá-lo para o widget apropriado. Essas são as minhas habilidades no painel de tela, não o meu painel de grade uniforme. Habilidades do painel de tela. Clique com o botão esquerdo e solte lá. E eu vou apertar F2 e renomear isso imediatamente para texto sublinhado d scrip shin. Vamos chamá-lo de sublinhado de texto, descrição
de habilidade. Assim. E eu vou entrar lá. E, claro, vou ter alguns detalhes que eu quero definir para isso é, bem, deixe-me apenas passar um pouco aqui você pode ver que é onde ele vive atualmente. O ponto de ancoragem, vamos deixar isso no canto superior esquerdo. No entanto, a posição x, vamos definir isso para ser 250 nos x's. Bem, então essencialmente em linha com o nosso cabeçalho aqui, a posição y, eu vou colocar isso para baixo para 140. Então, abaixo, eu também vou escolher esse tamanho para o conteúdo porque nossas descrições de habilidades vão variar em comprimento. Portanto, queremos que isso varie em tamanho. É por isso que estamos a marcar essa caixa. E novamente, quando você marcar esta caixa, ele está ignorando seu tamanho x e seu tamanho um Y bem ali. Tudo bem, eu também vou nos dar alguns textos além de bloco de texto. Vou chamar essa habilidade de descrição. Vai aqui, ponto, ponto, ponto. Isso é apenas uma descrição de espaço reservado. E lá em baixo. Há um campo para embrulhar. Quero mudar isso também. Vou mudar isto para 800. Imposto de rampa em 800. E então o que isso significa essencialmente, então nós vamos estar mudando dinamicamente o tamanho da nossa caixa de texto aqui dependendo de quanto tempo a descrição é. Mas digamos que esta descrição tem, não
sei, três frases. O que aconteceria se não especificássemos um texto de quebra automática em? Ele só iria continuar indo e indo e indo para fora da borda da nossa tela aqui. Ao quebrar o texto em 800, estou assegurando que uma vez que ele atinja 800 unidades, unidades
irreais de luz, ou 800 pixels ,
essencialmente aqui, ele vai se contornar, ok? Então isso vai impedir que ele se embrulhe fora da borda da nossa tela aqui. Tudo bem, então você quer definir isso para 800. Agora, onde você quer que isso acabe exatamente, vai ser com você. Talvez você queira que ele embrulhe salvou este ponto. Talvez queiras que embrulhe. Dizem que neste ponto, cabe a você decidir o quão rigoroso você quer que seu rap seja. Agora, note, este é apenas um bilhete para você aqui. Este widget aqui, rolando para cima tem uma ordem z de 0, assim como o nosso plano de fundo bem aqui. Então, por que é que o nosso texto, este widget e este widget, por que ele está indo em cima de nosso plano de fundo? Você não disse alguns vídeos de volta que a ordem z, quanto maior
o número aqui, mais ele tem prioridade em termos do que é mostrado no topo. Deixe-me mostrar-lhe um exemplo aqui. Se eu definir o fundo da minha capacidade de imagem para uma ordem Z maior , quanto maior
o número, mais prioridade eu
vou defini-la como um porque isso é maior do que 0. Você pode ver que agora ele se desenha em cima de nosso nome de habilidade e descrição porque nosso nome de habilidade e nossa capacidade de descrição têm uma ordem z de 0 que é menor que um. No entanto, deixe-me definir isso de volta para 0. Com isso tendo uma ordem z de 0 em minhas habilidades de texto em nomes, tendo um z, uma ordem z de 0, como isso determina a prioridade? Bem, quanto mais baixo estiver na pilha, estes estão todos no mesmo nível, por assim dizer. Estão todos ligados ao painel de lona. Assim, uma vez que todos tenham a mesma ordem z de 0, que
for menor na pilha, aparecerá no topo. Se eu fosse arrastar e soltar este clique com o botão esquerdo e arrastar isso aqui para baixo na minha ordem de pilha. Você pode ver como ele é menor na pilha,
e, portanto, ele terá uma prioridade mais alta. Haverá mais alto na pilha. Mas se eu clicar com o botão esquerdo e arrastar isto de volta para onde estava. Agora esses caras são mais baixos na pilha e, portanto, eles têm uma prioridade maior. Tudo bem, isso parece muito bom aqui. Se eu clicar neste zoom para caber, você pode ver como tudo isso está se formando. Nós agora temos um pouco de um bloco de texto aqui em
que temos nosso nome de habilidade e nossa capacidade de descrição para ir. Mais uma coisa antes de encerrarmos isso agora, eu mencionei que eu queria ajustar o tamanho da nossa barra de categoria para tipo de ir e combinar esta extensão do nosso plano de fundo aqui para de repente parecer meio igual. Então, a maneira como vamos fazer isso é eu vou selecionar minhas categorias de caixa V aqui mesmo. E você pode ver que isso só se estende até onde estamos dimensionando para o conteúdo. Isso significa que algo aqui está determinando o tamanho desta caixa V. E se me lembro bem, deixe-me expandir isso. Eu acredito que foi uma das minhas linhas de topo ou linhas fundo que estava determinando o quão longe isso se estende. Então eu estou dizendo que isso deve ser um tamanho de imagem de 1020, então ele está estendendo 10-20, enquanto este fundo bem aqui, que está estendendo 11 centenas. Deixe-me ajustar manualmente esta linha de cima aqui. Vamos definir isso para ser 1100. E agora isso vai estender isso para coincidir com a borda do nosso fundo aqui, nossa imagem de fundo. E isso parece muito melhor. Vamos salvar isso e chamar esse vídeo de rap. Muito bem, pessoal, um pouco mais de trabalho a ser feito
no próximo para o nosso layout de habilidades vai ver vocês lá.
40. Layout de habilidades: Bem-vinda. Neste vídeo, nosso objetivo é criar um layout para o lado de nossos ícones de habilidade aqui, onde propriedades específicas sobre uma habilidade destacada podem ser exibidas. Coisas como o dano que essa habilidade causa, o que ela esfriou, a duração é, etc., realmente qualquer detalhe que você queira chamar explicitamente. Tudo bem, então certificar-se de que estamos todos na mesma página de volta em seu navegador de conteúdo aqui embaixo sua pasta de widgets garante que você clique duas vezes na interface do personagem WPP. É aí que estamos a trabalhar. Ok, então nós queremos ser capazes de exibir vários detalhes sobre qualquer habilidade destacada. E isso pode variar com quantos detalhes ou são talvez esta habilidade só causa danos e por isso só queremos exibir danos. Talvez outro tenha danos e esfriar detalhes sobre isso que queremos exibir. Portanto, queremos ter até cinco habilidades diferentes, propriedades e valores que podemos exibir aqui em baixo. Esse vai ser o meu limite. Agora, a fim de criar isso, eu vou utilizar uma caixa vertical com alguns widgets Horizontal Box. Então, sob nosso painel de paladar, vamos fazer uma busca por uma caixa vertical. Lá está a nossa caixa vertical, e nós vamos anexar isso ao nosso painel de tela. Habilidades arrastá-lo e soltá-lo direito lá para que ele está diretamente sob todos esses outros ícones. Essa é a ordem que você deve ter em. Vou renomear isso imediatamente, acertando F2 nele. E vamos chamar essa habilidade de sublinhado da caixa V. Propriedades de sublinhado, assim. Está ancorado no canto superior esquerdo. É aí que eu quero deixar? - Não. Na verdade, como os detalhes da nossa habilidade vão estar neste intervalo, vou ancorar no canto inferior esquerdo aqui em baixo. Isso parece fazer um pouco mais de sentido. Então eu vou mudar a âncora para que isto seja inferior à esquerda, assim. Então isso significa que minha posição x e y será relativa a esse ponto, que é considerado 00 para fins de colocar este widget em particular. Certo, então a questão é, onde queremos posicionar isso em nossa área aqui? Bem, posição X, eu tenho 250 tipo de igual ao longo da borda de tudo o resto aqui em nossa posição y. eu vou mudar isso para ser 350 negativo aqui em baixo. E eu vou escolher um tamanho para isso. Eu não vou tamanho para o conteúdo aqui é que eu quero ter os nomes de detalhes habilidade, como refrigerado para ser deixado justificado. Imagine a palavra esfriar bem aqui. E então eu quero ter uma lacuna considerável. E então eu quero ter o valor da habilidade, como 6,5 segundos. Se isto esfriou aqui, quero que isso seja justificado. Então, dimensionar explicitamente a caixa vai nos permitir fazer isso. O dimensionamento por conteúdo nos restringirá de fazer isso. Então eu vou definir meu tamanho x aqui para ser 750. E o meu tamanho, por que eu vou definir isso para ser 300. Então eu estou essencialmente dizendo que é aqui que todas as propriedades de habilidade vão para este espaço aqui em baixo. Sabe, só um pouco de tangente aqui enquanto estou nisso, vou voltar a isso em um momento. Nosso nome de habilidade, eu quero que isso seja um pouco mais de destaque apenas enquanto eu estou olhando para ele, vamos selecionar isso. Vamos mudar o tamanho da fonte aqui para 40. Sim, isso é um pouco mais de destaque. Ok, eu só não queria que isso parecesse tão igual como uma descrição. Então, isso vai fazer com que isto pareça um pouco mais importante. Tudo bem, de volta ao tópico, vamos selecionar r v propriedades de capacidade caixa. Agora eu quero ter algum Horizontal Box é que vivem dentro deste para que possamos listar como arrefecer e, em seguida, ter o valor para ele e, em seguida, danos e, em seguida, um valor, assim por diante e assim por diante. Então agora vou procurar uma caixa horizontal. Então vamos ter uma caixa vertical com caixas horizontais dentro dela. Clique com o botão esquerdo do mouse e arraste isso em cima de nossas propriedades de habilidade v box. Certifique-se de que quadrado amarelo ou retângulo Eu devo dizer, é circundante propriedades de capacidade v caixa. Solte-o lá e vamos renomear nossa caixa horizontal atingindo F2. Isso vai ser chamado cada sublinhado caixa, sublinhado habilidade. E, na verdade, ele só vai fazer Ability propriedade não sublinhar. Age caixa sublinhado habilidade sublinhado propriedade é 01. E nós vamos ter cinco dessas caixas no devido tempo. Deixe-me apenas trazer a minha hierarquia aqui um pouco, certo, virando minha página de notas. A próxima coisa que quero fazer é adicionar um widget de texto dentro disto. Então, sob o meu paladar, vamos procurar ovos aqui. Encontre um widget de texto. Vamos arrastar e soltar isso e colocar isso dentro da nossa propriedade Hbox Habilidade. E, novamente, você pode fazer isso arrastando e soltando no topo, ou você pode arrastá-lo e soltá-lo direito em cima assim aqui na guia Designer. Algumas pessoas preferem fazer assim. Algumas pessoas preferem fazer assim. Deixe-me apenas demonstrar desta forma. Boom, você pode vê-lo preso lá dentro. Agora vou selecioná-lo e apertar F2. E eu vou chamar essa habilidade de sublinhar texto. Sublinhado. Propriedade de habilidade sublinhado nulo sublinhado entre um bilhão, você sabe, sublinhado de propriedade, nome, sublinhado 01. Tudo bem. E com isso, eu vou mudar isso para ser algo diferente do que Textblock é. Bem, vamos mudar isso com o seu selecionado. Vou mudar isso para ser propriedade da habilidade, assim. E algo que eu só quero apontar aqui com este selecionado, ele diz que nossa opção de tamanho aqui, encaixada em nossa caixa horizontal. Isso só está disponível porque está. Anexado à nossa caixa horizontal, está configurado para ser automático. Agora a opção de tamanho automático é bom aqui porque ele vai automaticamente teve este bit de textos deixado justificado, como nós queremos que ele seja um único ocupando é muito espaço em nossa caixa horizontal conforme necessário. Então, isso vai funcionar para nós muito bem. Vamos mudar nossa aparência aqui um pouco. Quero aumentar a descrição da minha habilidade aqui. Estou bem com isso sendo genérico. Você pode, obviamente, jazz up como você vê família fonte ajuste aqui. Vou deixar isso como Robô para Rubato. Não sei bem como dizer isso. Tamanho de 24, vai ficar tudo bem. Tamanho dos contornos, vou mudar isso para ser um. Dê um pouco de um contorno preto lá. No entanto, eu quero ter um pouco de uma cor de sombra. Cor de sombra apenas por enquanto. E novamente, podemos vincular isso à nossa cor de personagem mais tarde na linha. Vou mudá-lo para vermelho, então mude o meu vermelho aqui para ser um. E é claro que não vemos nada ainda porque o meu valor alfa aqui é 0, que
significa que é completamente transparente. Isso é o que o tabuleiro de xadrez significa que você está vendo através dele mudar. Isso é um. Como assim. E agora com isso, vamos definir nosso deslocamento de sombra para ser três no x e três no Y. Então temos algo assim. Agora, já que fizemos um pouco de formatação aqui, vamos em frente e copiar e colar isso para que não tenhamos que refazer a formatação para nosso valor de habilidade que teremos ao vivo aqui. Então, com isso em amarelo, você pode fazer o controle mais w dois duplicados, ou você pode clicar com o botão direito do mouse neste nome de propriedade de habilidade de texto 0-1. Vou clicar com o botão direito, duplicar. Você pode ver a tecla de atalho para isso ali também. Então isso irá duplicar um direito ali. Vamos renomear isso. No entanto, eu vou acertar F2 sobre isso. E em vez de nome sublinhado da propriedade habilidade, vou chamar essa habilidade de propriedade sublinhado Valor, sublinhado 01. Como assim. Virando minha página e anotações, eu tenho alguns detalhes que eu quero definir para isso. Role para cima. A primeira coisa, vamos mudar isso para ter textos diferentes aqui para não ficarmos confusos. Só vou dar-nos um valor de 9999. Certamente algo assim. E depois o que vou fazer é mudar o nosso tamanho de automóvel. Com auto, ele só vai ocupar tanto espaço quanto necessário. E, em vez disso, vou mudar isto para preencher. E ao fazer isso, você vê como ele expande o espaço possível que eu posso escolher para isso para Bill. E agora isso vai dar sentido aos meus alinhamentos horizontais. Agora, se eu escolher este alinhamento horizontal certo, ele respeitará mover isso todo o caminho para cima. Então essa é a diferença. Se eu tiver isso definido para auto, ele só vai definir. Tanto espaço que isso precisa. E ele vai essencialmente ignorar meus alinhamentos horizontais aqui em termos de onde ele é colocado na caixa horizontal. Se eu definir isso para preencher um no entanto, então eu posso alinhar horizontalmente isso à extrema direita da minha Caixa Horizontal. Tudo bem, então isso é tudo bem e bom para uma propriedade habilidade. Então eu quero que isso tenha até cinco propriedades de habilidade, mas eu quero ter um pouco de espaço entre a
habilidade um, a habilidade três e assim por diante. Então eu vou adicionar um widget espaçador. Vamos passar por baixo do paladar aqui e fazer uma busca por espaçador. E nós vamos arrastar e soltar isso em cima da nossa caixa v porque isso vai ser colocado dentro da nossa caixa vertical. Então entenda aqui, dentro da nossa caixa vertical, temos uma caixa horizontal. Então queremos ter empilhado em cima ou abaixo disso,
um espaçador e, em seguida, outra caixa horizontal, assim por diante e assim por diante. Então eu vou selecionar meu espaçador aqui. E no painel Detalhes, vou dar um espaço a isto agora mesmo. É muito, muito pequeno. Um espaço em branco de 25, snob tem um pouco mais de espaço. Ok, estamos chegando lá. Em seguida, o que queremos fazer é redefinir o que todos nós construímos aqui com a nossa caixa horizontal. Não queremos reinventar a roda aqui. Queremos duplicar isto. Vamos clicar com o botão direito. Na verdade, vamos copiar isto. Vou copiar isto assim. Então vamos vir em cima da nossa caixa v em largura este copiado. Podemos acelerar um. Vamos clicar com o botão direito do mouse novamente, colar novamente. Segunda vez. Vamos selecionar nossa caixa de exibição novamente, clique com o botão direito do mouse novamente. Vamos colar de novo. E, em seguida, vamos selecionar nossa caixa de exibição novamente. Clique novamente e cole isso mais uma vez. Então agora temos cinco propriedades de habilidade aqui. E você também pode ver que nós vamos querer duplicar nosso espaçador aqui algumas vezes. Então eu só vou selecionar meu espaçador. Vou clicar com o botão direito do mouse. Vamos copiar isto. E então eu sou caixa intravenosa. Vou clicar com o botão direito do mouse e clicar em Colar. Agora vai colocá-lo aqui, mas usando essas flechas, vamos colocá-lo onde queremos. E então eu vou clicar com o botão direito do mouse na minha habilidade v box novamente no ritmo. Em clique aqui para o espaço como eu quero. E então eu vou clicar com o botão direito do mouse novamente e ritmo e espaço assim. Tudo bem, agora, você sabe o que minha caixa vertical aqui, minhas habilidades de caixa vertical. Você pode ver que só se estende aqui, mas
minha caixa horizontal final, ela se expande um pouco além disso. Eu, meu tamanho aqui não é perfeito, mas tudo bem. Tudo isto parece muito bem em bom estado. Agora, o que você pode querer fazer aqui se você está realmente sendo indelicado sobre isso é que você provavelmente quer mudar seus textos aqui para ser a habilidade um, a
habilidade três, assim por diante e assim por diante. Então eu faria isso. Uma coisa que eu vou fazer rapidamente aqui é que eu estou realmente indo para renomear minhas várias propriedades aqui, minhas caixas h e minhas propriedades de habilidade aqui,
bem como para ser 010101 , tudo
isso vai ser 020202 ser 030303 e assim por diante e assim por diante. Então eu só vou pausar o vídeo rapidamente aqui e fazer isso para fins organizacionais. E depois mostrarei o que tenho quando voltar. Tudo bem, e depois de bater F2 em todos esses widgets diferentes aqui você pode ver como eu renomeei eles. Estas são todas as 01 habilidades, 0203, assim por diante e assim por diante. Se quer ficar bem organizado assim, confie em mim. E também aqui, eu realmente selecionei cada um
desses widgets de textos diferentes e alterei o texto em si. Vamos clicar neste botão aqui para ampliar para caber, para ver como a nossa tela está parecendo aqui. Não caras maus, isso está parecendo muito doce de fato. Tudo bem, agora estamos em uma posição onde temos nossas habilidades definidas. Vamos começar a vincular algumas dessas habilidades aos dados que vivem em nossa tabela de dados. Isso está chegando na próxima seção. Então vamos salvar aqui e veremos todos vocês no próximo vídeo.
41. Ligar ícones: Bem-vinda de volta. Ao longo dos próximos vídeos aqui vamos estar trabalhando na criação ligações para os vários aspectos de nossa habilidade é layout aqui ou seja, nossos ícones são nome da habilidade, a descrição, as propriedades, valores, a descrição, as propriedades, valores,
tudo isso coisas vão ser preenchidas com dados dentro da nossa tabela de dados. E vai ser diferente para cada um de nossos personagens diferentes. Então remanência pode ter algumas habilidades diferentes de Muriel. Os materiais podem ter algumas habilidades diferentes de vários porcos. Todos esses dados são armazenados em nossa tabela de dados. Só precisamos ligá-lo aos widgets apropriados. Neste vídeo, especificamente, vamos estar focados em nossas ligações de ícones de habilidade. Vamos direto ao assunto, Shelly. Vamos nos certificar de que no lado esquerdo temos nossa habilidade ícone 01 selecionada. É para isso que queremos criar um vínculo vinculativo. Então eu vou clicar aqui onde diz vincular. Nós vamos criar uma ligação e isso vai saltar-nos da nossa guia designer para a nossa guia gráfico. E por qualquer motivo, sempre destaca ícone habilidade O1. Mas realmente onde você quer ir não é para essa variável de capacidade da ICANN, que é uma variável na imagem que queremos rolar
até a seção de função do painel Meu plano. E aqui está a função que estamos sendo solicitados a fazer. Novamente, esse é o mesmo nome que esta guia aqui em cima, que é o mesmo nome que este nó de entrada. Vamos dar a isto um novo nome imediatamente. Rolando de volta para cima, eu vou bater F2 sobre isso e chamar isso, fica ícone habilidade sublinhado real ignorado o sublinhado 01 obter ícone habilidade O1 porque nós vamos ter que criar cinco destes. No entanto, nós realmente só vamos criar isso uma vez,
em seguida, duplicado várias vezes, e apenas fazer algumas modificações para isso, para esta compilação inicial. Certo, então a primeira coisa que queremos fazer é obter uma referência à nossa instância de jogo aqui. Então BP ganhar essência referência a essa variável. Vamos arrastar e soltar isso aqui de novo, queremos pegar isso. A próxima coisa que queremos fazer é arrastar um aqui como fizemos antes, queremos obter dados de caracteres, queremos acessar essa função dentro do nosso blueprint de instância de jogo. Vamos ligar isto assim. E agora, como você pode esperar, precisamos entrar sob a habilidade 1 e extrair algumas informações. Agora, aqui está a coisa complicada aqui, e eu vou apenas ligar esta execução onde você pode pensar OK, habilidade um, isso é o que estamos procurando. Vamos ligar isso ao nosso valor de retorno. Não exatamente. Agora, isso vai nos envolver voltando para nossas diferentes estruturas que criamos no início do curso. E eu tenho essas duas abas abertas ao longo do topo. E se você esqueceu onde essas estruturas vivem em seu navegador de conteúdo e simplesmente vai navegar até elas rapidamente. Eles estão em nossa seção de dados, nós temos uma capacidade de estrutura e dados de estrutura. Agora, novamente, uma estrutura é como um recipiente. Que mantém outros contêineres menores dentro dele são dados de
caracteres estruturados tem todas essas variáveis. Pense em uma variável novamente, é um pequeno recipiente que contém algumas informações específicas de um determinado tipo. E alguns dos contêineres aqui, habilidade 12345, eles estão apontando para uma variável chamada habilidade de caractere de estrutura. Então, essencialmente, este é um recipiente composto por mais contêineres. Isto está a apontar para esta estrutura, nossa capacidade de carácter de estrutura. Então, cada habilidade tem essa informação dentro dela. Nome, uma descrição do ícone, nome da propriedade um, valor da
propriedade para nome da propriedade para valor da propriedade dois, assim por diante e assim por diante. Isso corresponde a todos os dados, o nome, descrição do
ícone, assim por diante e assim por diante aos dados que queremos, em última análise, voltar à nossa guia Designer com a qual queremos preencher nosso layout de habilidades. Tudo bem, então eu vou voltar para a minha guia gráfico aqui. E a maneira como podemos extrair a informação específica dessa habilidade uma estrutura é arrastar para fora dela e digitar estrutura de quebra. Então, nós clicamos sobre isso, e ele tem esta pequena seta para baixo aqui também que nós podemos clicar. E o que isso vai fazer é nos permitir acessar todas as variáveis de habilidade de personagem que estão dentro da habilidade um. Então, novamente, apenas para completar isso e repetir o que eu acabei de dizer, nossa estrutura de dados de caracteres contém todos os tipos de informações diferentes. Pode considerar cada um deles para ser seu próprio pequeno recipiente auto-suficiente que contém um pedaço específico de informação. O nome do caractere contém texto para o nome do caractere. No entanto, estes são especiais e que estes são contentores que contêm outro contentor preenchido com mais dados. Muito bem, voltando à nossa interface do personagem WPP, agora que dividimos a estrutura para nossa habilidade de personagem, temos acesso ao nosso ícone. Pincel de ardósia é o tipo de saída aqui. E se olharmos, o valor de retorno está procurando um pincel de ardósia. Então isso funciona bem. Podemos ligar isto assim. E isso vai nos dar a imagem que estamos procurando por ela. Vamos em frente e compilar isso rapidamente. Se eu tocar isso, devemos ser capazes de ver, bem primeiro homem manequim, eu tenho que tocar a tecla E novamente para trazer nossa interface de personagem. E se eu jogar isso, você pode ver agora porque estamos apontando para Miracle, temos um ícone que é diferente do ícone padrão que colocamos para todos eles. Então podemos ver que isso está de fato funcionando,
certo, acertando Escape para sair daqui. Agora ele vai dizer acesso nenhum tentando ler BP instância de jogo ref. E mais uma vez, esta é a questão que apontei anteriormente. E eu estou realmente feliz que ele voltou para cima de novo porque às vezes ele vai reclamar que ele não pode ler esses dados porque ele está dizendo, hey, nós nem sequer sabemos o que, que variável você está falando aqui porque é um problema de tempo . Lembre-se, nós criamos esta referência de incidência do jogo BP após a construção do nosso Widget Blueprint aqui. E se ele está tentando acessar isso essencialmente ao mesmo tempo, e ele tende a fazer isso para pincel Slate, que é coisas do tipo ICANN. Vai dizer que não pode vincular o que estamos falando. Mas você viu que ele apareceu na tela. Há Ícone apareceu, então você pode ignorar esse erro. Ou se isso realmente te enlouquece, você pode apagar isso. E isso vai te dar exatamente o mesmo resultado. Pode clicar com o botão direito aqui. Obter Instância do Jogo. E você me viu fazer isso antes, pegar a Instância do Jogo. Vamos pegar aquele. Não importa se você usar qualquer um desses. Vamos pegar este. E então eu vou fazer isso e fazer uma busca por um elenco para nossa Instância de Jogo BP. Vamos ligar isto assim. Vamos manter o fluxo de execução aqui. E isso nos permite acessar essa mesma função de dados de caracteres get. De qualquer maneira vai funcionar. Então, agora, se eu fosse compilar, salvar e jogar, apertar o Like, você pode ver esse ícone agora e eu escapo daqui. Não há nenhum erro. Tudo bem, então agora neste ponto precisamos duplicar esta função por vezes porque temos cinco ícones diferentes. Então é isso que vamos fazer. Vou selecionar isso,
vou fazer o controle W, vou fazer o controle W, ou você pode clicar com o botão direito do mouse e duplicar dessa maneira. Mas com ele destacado em amarelo, tem que ser amarelo. Controle uma vez, duas, três vezes, quatro vezes. Tudo bem, e trabalhando com este segundo aqui, eu vou renomear este ícone de habilidade get 0 para dentro. Deixe-me apenas me livrar de um monte dessas abas em cima porque isso é apenas bagunçar as coisas. Vou deixar a guia Gráfico de Eventos. E saiba que se você acidentalmente excluir o gráfico de eventos e começar a entrar em pânico. Ali está ele aqui e você é meu painel de plantas. Você poderia clicar duas vezes nele para trazer isso de volta. É só um bom Sunil. Tudo bem, apenas deletando mais alguns desses. Ok, vamos voltar. Obter responsabilidade. Já limpei o suficiente desses agora. Então obter a habilidade de ícone para por que nós temos um monte de obter prestação de contas? Oh, são apenas duplicatas de tudo isso. Ok, eu vejo. Tudo bem, então pegue a responsabilidade O2. Vamos clicar duas vezes sobre isso. Estamos no caminho certo. A única coisa que preciso mudar aqui é exatamente para o que isso está mapeado. Nós não queremos que este mapa para a habilidade um, se nós estamos recebendo habilidade ícone para, nós queremos mapeá-lo aqui em baixo. Então eu vou manter pressionado o controle do clique esquerdo e isso me
permite pegar este fio e conectá-lo. Então eu vou fazer isso por esse cara, renomeá-lo para obter a responsabilidade três. Então eu vou clicar duas vezes sobre isso para ter certeza de que eu estou na função adequada aqui também. Vou colocar isso no correto mantendo o controle pressionado, clicando com o botão
esquerdo, conectando-o à responsabilidade três. Vamos fazer o próximo, F2, isso será chamado 04. Clique duas vezes nesse cara para ter certeza de que estamos no TAM certo vindo
aqui segurando o controle clicando esquerdo, conectando isso. Ok, próximo, eu responsabilização cinco F2. Vamos clicar duas vezes nesta guia. E vamos manter o controle pressionado. Clique com o botão esquerdo do mouse e arraste para O cinco. Agora ainda não terminamos porque ainda
não criamos as ligações para a prestação de contas a 345, temos as funções no lugar. Mas aqui na nossa aba de designer, temos que vincular essas funções a esses ícones. Então aqui em nossa guia designer, eu vou selecionar ícone incapacidade para. Vamos criar nossa ligação. Clique na ligação bem aqui. E há a capacidade da ICANN de escrever lá esperando que nos vinculemos. Vamos selecionar ícone de habilidade três. Próximo. Mais no painel Detalhes vamos definir obter prestação de contas três. E você está pegando o jeito disso muito bem. Selecionando a capacidade de ícone para, Vincular para obter estabilidade de ícone para. E por último, mas não menos importante, eu meio que posso cinco. Vamos vincular isso à habilidade cinco da ICANN. Tudo bem, vamos compilar rapidamente para ter certeza de que todas as nossas funções lá são boas. Nós vamos salvar. E agora vamos jogar. E eu vou tocar na tecla E. Tudo bem, olhe. Tenho cinco ícones únicos para material. Agora deixe-me apertar a única tecla. Liga Revenant tem todos os cinco ícones únicos. Deixe-me ir para o próximo personagem, próximo personagem novamente e olhar para vários, cinco ícones únicos também. Certo, pessoal, então temos todos os nossos ícones ligados a dados que existem dentro da nossa tabela de dados. Ótimo trabalho. Vamos para o próximo. Estamos onde vamos vincular nossos nomes de habilidades. O próximo te verá lá.
42. Ligamento de nomes de habilidade: Tudo bem, bem-vindos a todos. Neste vídeo, nosso objetivo é criar uma ligação para que o nome associado a uma determinada habilidade exiba agora nota, eventualmente em alguns vídeos tempo abaixo da estrada, vamos criar algum script que vai fazer a exibição de nome apropriado quando estamos passando o mouse sobre nossos diferentes ícones de habilidade aqui. Ainda não chegamos lá. Em vez disso, neste, vamos criar a estrutura para que isso aconteça. E no final disso, você verá como seremos capazes de exibir diferentes nomes de habilidades. Então, colocar o framework no lugar para torná-lo modo que quando estamos passando o mouse sobre esses ícones diferentes, esse nome de habilidade que estamos passando por cima parece um direito de fazer isso, nós vamos realmente começar de novo na guia gráfico. E vamos criar uma nova variável no painel Meu plano. Então, sob variáveis, vamos criar uma nova variável. E este vai ser chamado de índice de habilidade selecionado, não no índice Dez. E vamos mudar o tipo de variável. Este vai ser um tipo de variável inteiro. Um número inteiro é um número inteiro. Agora ele vai dizer compilar para dar-lhe um valor padrão. Então eu vou compilar o valor padrão pode ser 0, isso é bom. A próxima coisa que vamos fazer é saltar de volta para a nossa aba Designer. Nós não precisaríamos, mas eu vou, e vamos selecionar nosso nome de habilidade. E ao lado do nome de nossa habilidade no painel Detalhes, vamos clicar em Vincular e criar uma vinculação. E isso vai nos levar de volta ao gráfico TAM. Vamos rolar até onde nossas funções estão. E vamos renomear esse cara imediatamente. Vou clicar nele e fazer F2. E este que vamos chamar de homens. As funções estão se acumulando bem aqui. Olhe para isso. F2 que vamos chamar isso ganha habilidade. O nome parece fazer sentido. Agora este vai ser formatado um pouco diferente. Neste, vamos pegar a variável que acabamos de criar. Estamos falando desse índice de habilidade selecionado. Vamos clicar com o botão esquerdo e arrastar isso para o nosso gráfico. E queremos ter isso de novo. Você pode obter um getter imediato mantendo pressionada,
mantendo pressionada a tecla Control, clicando com o botão esquerdo e arrastando. E aí você tem a versão getter disso. E, em seguida, vamos arrastar fora deste interruptor tipo N em int. Agora você me viu usar um desses nós antes. Então isso vai ser um pouco de revisão, mas você vai ver como estamos usando isso. Neste caso, eu quero criar cinco pinos aqui, 12345. Na verdade, eu vou fazer seis porque eu vou deixar 0 está em branco. Eu tenho cinco habilidades. Começando com a habilidade um, eu não estou contando com 0 neste caso, eu vou deixar este em branco. Agora o que eu quero fazer é obter minha referência de instância de jogo. Vou arrastar e largar isto aqui. Nós vamos conseguir isso. E como já fizemos tantas vezes aqui antes, eu vou arrastar para fora disso,
alcançar dentro de nosso blueprint de instância de jogo e dados de caracteres que funcionam para obter os dados de caracteres. Agora eu vou ter isso ligado à saída aqui e eu vou explicar isso em um momento. Mas aqui em baixo, eu quero encontrar a habilidade um. E assim como fizemos antes, lembre-se, esta é uma estrutura que contém mais informações. Então eu vou puxar fora deste n-type em break struct são habilidade de caráter. E, com isso, queremos extrair nosso nome de habilidade. Agora eu realmente não tenho que clicar nesta pequena seta para baixo aqui porque o nome está bem em cima. Então eu vou ligar isso ao nosso valor de retorno, assim. Então, neste ponto, este é aproximadamente o layout que você deve ter. Agora vamos entender como essa função vai funcionar
dependendo de qual é o nosso índice de habilidade selecionado. Atualmente é 0. Iria disparar daquele alfinete agora porque não temos nada ligado. Nosso fluxo de execução aqui, nada aconteceria, nada apareceria. No entanto, vou definir isto para um. E na configuração são selecionados índice de capacidade para um. Nosso fluxo de execução seria disparado para fora deste pino de saída dizendo, qual é o seu índice de habilidade selecionado um. Certo, vamos entrar em contato com nossos dados de caráter. Vamos descobrir qual é a habilidade do nome de alguém, e vamos devolver isso a esta parte da tela bem ali. Então podemos ver como acabamos de construir isto para o nosso único pino de saída. Precisamos fazer isso pelo 2345. Agora, para fazer isso, podemos pegar um pouco de atalho. Por isso, vou clicar com o botão esquerdo do mouse e arrastar e destacar esses três nós. Portanto, estes três devem ser destacados. Então eu vou fazer um controle C para copiar o botão direito do mouse aqui, eu estou movendo minha tela segurando o botão direito do mouse. Então eu vou fazer o controle V para colar. E se eu diminuir o zoom, você pode ver como isso vai parecer. Você pode pegar sua referência de instância de jogo e conectá-la aqui. Como assim. E, claro, você precisa ter certeza de que seu fio de execução está fluindo para seus dados de caracteres obtidos aqui. Então, se eu voltar para o meu interruptor em ints,
as duas saídas, eu vou ligar isso aqui em baixo. E então a última coisa que eu tenho que ter certeza que eu mudo sobre esta saída é que ele tem um ponto de habilidade para. Então, eu vou manter pressionada a tecla Control, clique com o botão esquerdo e arraste. E vamos repetir esse processo aqui mais três vezes. Então eu tinha esses nós copiados. Agora eu vou mover estes para baixo um pouco mais aqui. Novamente, eu tenho esses três copiados. Controle C novamente, controle V para colar. Então eu vou fazer isso uma ou duas vezes em três vezes mais. E agora é só uma questão de conectar tudo isso na coisa apropriada. Então isso vai ser um pouco difícil de ver. Então eu vou pegar meu fio de saída aqui para três, conectá-lo na terceira versão aqui. Ref da instância do jogo Posso usar a mesma instância do jogo. Você pode usar uma versão exclusiva deste caso queira. Então fazer algo assim é completamente legítimo também. Não importa quantos destes você tem. Só vou reutilizar o mesmo. Vou me certificar de que estamos apontando para a habilidade 3, mantendo pressionada a tecla Alt, clicando com o botão
esquerdo e arrastando, sinto muito, a tecla Control. A tecla Control permite que você conecte isso novamente. Ok, então eu vou fazer minhas quatro saídas aqui. Isso vai ser ligado à quarta versão dos meus dados de personagens. Vou arrastar minha referência de instância de jogo para aqui também. Aqui em baixo eu vou manter pressionada a tecla Control, clique com o botão esquerdo e conectá-lo. E por último, mas não menos importante, nossas cinco saídas desse switch em ints serão conectadas a esta versão dos dados do caractere. Nós estamos indo para conectar nossa instância de jogo ref aqui. E por último, mas não menos importante, preciso manter o controle. Clique com o botão esquerdo e arraste isso para a habilidade cinco, para obter o nome da habilidade cincos. Certo, então só ampliando a saída. Isto é o que você deveria ter. Eu não sei. Sei que é difícil ver lá, então saiba que o que construímos aqui, você está reproduzindo cinco vezes. Agora, vamos em frente e compilar isso e salvar e dar a isso um teste rápido. Então eu vou clicar em jogar aqui mesmo. Aperte a tecla E. E agora podemos ver que o primeiro nome da habilidade dos materiais aqui é chamado 4b. Agora, se eu navegar para meus outros personagens aqui, este primeiro para Revenant é cânone de mão e para várias drogas é martelo. Agora, eventualmente, novamente, eu quero fazer isso para que quando eu passar o mouse sobre esses botões diferentes, que é quando nós vamos exibir esses outros nomes de habilidades, mas nós não estamos lá ainda. Agora, mostre, deixe-me sair daqui que se alterarmos esse valor para nosso índice de habilidade selecionado, ele mudará qual desses nomes como saída. Atualmente estamos produzindo capacidade nomeada um. Vamos mudar nosso índice de habilidade selecionado aqui para, para a direita. E você poderia compilar e salvar mais uma vez. E então vamos jogar “tap the like”. E agora podemos ver que a segunda habilidade tem um nome único e indo para remanência nome único. E com certeza, nome único para a capacidade número dois para vários LG também. Assim, podemos ver que isso está, de facto, a funcionar. Muito bem, pessoal, então um trabalho bem feito nisto. Agora temos a base para que o nome da nossa habilidade seja exibido. Mais uma vez, mais trabalho a ser feito com isso na estrada. Farão tudo por este vídeo. No próximo vídeo, vamos ligar a descrição da nossa habilidade. Vejo-te lá.
43. Vinculação de descrição de habilidade: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar uma ligação para que a descrição de habilidade apropriada mostre agora, assim como no último vídeo, este vai estabelecer as bases para descrições de
habilidades para atualizar dinamicamente dependendo do ícone de habilidade que vamos passar o mouse sobre. Estes dois farão uso da variável de índice de habilidade selecionada
que fizemos no último. Agora a boa notícia aqui é que podemos redefinir muito do trabalho que fizemos no último vídeo. Então este deve ser rápido. Agora, só para ter certeza de que estamos todos na mesma página, certificando-se de que você está trabalhando no lugar certo. Estamos em widgets de interface do usuário do personagem de conteúdo. Novamente, se você fez uma pausa, estamos trabalhando em WPP personagem UI. Clique duas vezes sobre isso para abri-lo. Agora vou pular para a aba do gráfico. E no último vídeo, eu só lembro que nós fizemos isso recebe função nome habilidade. E o que estamos fazendo é usar uma
variável de índice de habilidade selecionada que criamos para determinar qual nome de habilidade que vamos exibir. Queremos fazer muito semelhante para nossa habilidade ou nossa descrição de habilidade. Nós vamos realmente duplicar esta função em particular. Então, aqui no painel Meu plano obter nome da habilidade, eu vou apenas clicar com o botão direito do mouse sobre isso, duplicá-lo e chamá-lo de obter descrição da habilidade. Agora, a única coisa que precisamos mudar sobre isso é, em vez de ligá-lo a um nome aqui, nós só precisamos levantar nossa quebra da estrutura a que está associada. Clique nesta pequena seta para baixo. E nós só queremos apontar isso para a descrição. Então eu vou manter pressionado o controle do clique esquerdo e nós vamos dizer, Ei, nós não queremos exibir o nome de um bilhão número um, queremos exibir sua descrição, e é isso. Queremos fazer isso para todos estes simples é que este é um fácil. Clique aqui, mantenha pressionada a tecla Control, clique com o botão esquerdo. Faça isso para este cara é bem, seta para
baixo, tecla, mantenha pressionada Controle, clique com o botão esquerdo em mais duas vezes aqui. Clique nessa seta para baixo. Mantenha pressionada a tecla Control, clique com o botão esquerdo. E então vamos fazer mais uma vez aqui,
clicando na seta para baixo, mantendo o controle, clique com o botão esquerdo e conectando-o à descrição. Agora vamos em frente e compilar, salvar e jogar. Vou tocar na tecla 0 e podemos ver que nada acontece aqui. O que está acontecendo errado? Bem, vamos descobrir isso. - Obviamente. Obviamente, o problema é que eu realmente não vincular esta função à nossa descrição. Vamos voltar para a aba Designer. Erro de novato. Aqui eu tenho minha descrição de habilidade textos selecionados. E mais no painel Detalhes, eu tenho que realmente criar essa ligação. Existe a nossa capacidade de descrever a função. Sim, todos cometemos erros simples como esse. Vamos compilar isso mais uma vez, salvá-lo jogar, tocar que uma tecla. E aqui está a nossa descrição. Note também que o nosso texto está embrulhando. Lembre-se de quando criamos esta seção do nosso layout e especificamos que queríamos que este texto fosse moldado. Em um certo ponto. Estamos fazendo isso embrulhar e eu acho que nós definimos esse texto e um valor de 800. Agora deixe-me navegar até a ressonância. Podemos ver que quebra de texto e sever ague. Esse texto também está embrulhando. Então você pode ver que ele está exibindo a descrição de cada uma dessas habilidades específicas. Trabalho, bem feito. Agora, novamente, com esta descrição testabilidade bem ali embaixo. Aqui é onde você pode definir o texto para moldar e um valor diferente. Quanto menor o valor, menos isso vai se estender da esquerda para a direita, e assim por diante e assim por diante. Vá em frente e brinque com isso. Se gostas tanto do Guys, isso vai fazer tudo por este. Vemo-nos na próxima.
44. Ligamentos de propriedade: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar ligações para nossos nomes de propriedades de habilidade, que são esses cinco aqui. Assim, dependendo do que nossa habilidade selecionada está aqui
no lado esquerdo mostrará os nomes apropriados que acompanham. Coisas como danos, como arrefecer, como homem, acos, et cetera, et cetera. E só para dirigir ainda mais para casa neste ponto, eu vou para a minha lista de personagens DT aparecer apenas para meio que
mostrar os tipos de informação que estamos olhando para exibir aqui,
e, em seguida, até aqui também. Então, entrando na minha lista de personagens, tenho a linha número um, minha linha milagrosa selecionada. E se eu rolar até o fundo aqui, temos nossas cinco habilidades. E se eu expandir qualquer um desses triângulos aqui, eu posso ver todas as informações de habilidade de nossa estrutura de habilidade, certo, há habilidade de personagem atingida. Então, para Mariel, sua primeira estabilidade é chamada ORM. Aí está a descrição. E quais são os nomes das propriedades desta habilidade
é que ela causa algum dano de respingo e tem um valor de 30. Então, este texto de dano de respingo é o que queremos preencher. Esta propriedade de habilidade um, esta habilidade atual de orbe só tem uma propriedade associada a ela. Agora, se eu for para a habilidade número dois para o material aqui, vamos expandir isso. Chama-se Alec 3D. Acho que é assim que se pronuncia. Tem cinco propriedades diferentes associadas a esta habilidade. Tem um homem, um
porque, tem arrefecer, uma velocidade de movimento, impulso, escudo, duração. Então este texto aqui, esse é o tipo de coisa que queremos exibir em nossa interface de usuário de personagem bem aqui. Tudo bem, então como vamos fazer isso? Bem, vamos pegar um pouco de atalho e vamos pular para nossa guia gráfico. Agora, assim como fizemos antes com nossa descrição Git Habilidade e obter funções de nome de habilidade. Vamos usar esta variável de índice de habilidade selecionada para
direcionar qual propriedade exibimos sobre nossa habilidade. Então, temos muito do trabalho que você fez para nós. Nós vamos duplicar esta função em particular bem aqui sob o painel de funções do meu blueprints. E, em seguida, basta alterar uma coisa sobre isso, a fim obter a propriedade apropriada chamada exibição. Então, com descrição Git Ability realçado aqui em sua em amarelo apenas para controlar mais W para duplicá-lo. Vamos dar um novo nome a isto agora mesmo. Vou chamar isso de nome de propriedade de habilidade 0-1. Por favor, certifique-se de que você está nomeando esses nomes de forma sensorial. Eu sugiro replicar quando estou fazendo apenas para ficar legal e organizado. E agora a única coisa que precisamos mudar sobre essa função é em vez de apontar para a descrição de nossas habilidades, queremos apontar para os nomes de propriedades. Isso é simples. Vamos apenas manter o controle. Clique com o botão esquerdo do mouse e conecte isso no nome da propriedade um. Então queremos fazer isso para a habilidade O1, show propriedade nome um. Mais uma vez, isto é tudo por esta ranhura aqui. Então, não importa qual habilidade estamos destacando aqui, não importa qual habilidade, estamos apenas conversando, que texto queremos exibir lá? Então, pulando de volta ao nosso gráfico, isso é super simples, basta clicar com o botão direito do mouse, movendo a linha para baixo. E novamente, se tivermos a habilidade de destacar, ainda
queremos mostrar uma propriedade chamada número um. Então clique com o botão esquerdo e arraste. Todos eles vão apontar para o nome da propriedade, um slide. Então, se tivermos a habilidade três selecionada, queremos saber qual é o nome da primeira propriedade que queremos exibir sobre a habilidade número três no slot de nome de propriedade um, clique com o botão direito do mouse e arraste. Mesmo para a capacidade de nos mostrar em que muito top nomes de propriedade ranhura, qual é o nome da propriedade? E então, para a habilidade cinco, também
queremos ver qual é o primeiro nome de propriedade associado a isso. Então não se confunda e coloque esse cara no nome da propriedade 5, certo? Isso é tudo apenas foco no nome da propriedade um que é este slot topo. Não importa qual ícone aqui, vamos estar pairando sobre qual botão, o que vai ser exibido bem ali. Certo, então com isso já criado, podemos criar uma ligação para isso. Temos essa função criada. Então, para a propriedade de habilidade 01, podemos clicar aqui para Bind. E lá nós temos uma ligação para obter o nome da propriedade habilidade 01. Então agora que temos isso feito para o primeiro slot aqui, precisamos fazer isso para o resto deles. Então vamos ser fáceis para nós mesmos. Vamos voltar para a guia gráfico aqui. E vamos duplicar esta função aqui mais quatro vezes. Agora eu tenho que obter o nome da propriedade habilidade. Então eu vou selecionar isso quando estiver em amarelo. Você pode fazer esse controle mais W2 duplicado ou clique com o botão direito do mouse e duplicado, tudo bem também. Eu gosto de tê-lo destacado em amarelo, assim. E eu vou fazer controle mais w uma, duas, três vezes, quatro vezes. Agora você pode ver todas essas abas abertas na parte superior. Então eu vou selecionar este próximo para baixo a partir do nome da propriedade um. Na verdade, vou clicar duas vezes sobre ele para ter certeza de que eu tenho essa aba real aberta. A primeira coisa que vou fazer é renomeá-lo para obter o nome da propriedade de habilidade 0-2. E agora com esse cara selecionado, e novamente, certifique-se que ele diz “Obter habilidade nome de propriedade O2”. A única coisa que preciso mudar para tudo isso é manter o
controle pressionado e vamos colocar isso no nome da propriedade 0-2. Agora valor da propriedade, nome da propriedade O2. É a única coisa que estamos mudando, mantendo o nome de propriedade do Controle O2. Mantendo pressionado o nome da propriedade Control O2. E eu estou usando meu botão direito do mouse para mover assim. Segurando nome de propriedade de controle O2. É muito fácil cometer um erro aqui. Mantendo pressionado o nome da propriedade Control O2, e assim por diante e assim por diante. Ok, então você vai repetir esse processo para o resto destes. Eu vou passar por mais um aqui e então eu acho que você realmente vai conseguir os pontos. E então eu vou deixar você fazer o resto disso sozinho. Então vamos fazer este próximo aqui, temos o nome da propriedade um nome de propriedade para o nome da propriedade. Vamos acertar F2 nisso. Este vai ser o nome da propriedade três. Clique duas vezes sobre isso para se certificar de que você tem a guia direita aqui em cima. E você saberá que tem a guia certa e o nome certo quando diz Get propriedade habilidade chamado três. Agora vamos manter o controle pressionado. Clique com o botão esquerdo do mouse e coloque isso no nome da propriedade três. Nome da propriedade três. Veja-me cometer um erro aqui. Nome da propriedade três, mantendo pressionado o nome da propriedade de controle três, e mantendo pressionado o nome da propriedade de controle três. E agora vamos voltar para a nossa guia Designer porque nós temos que amarrá-los ainda. Sei que ainda não terminei aqui, mas vou fazer disso o seu dever de casa. Vamos selecionar a propriedade de habilidade dois e criar uma ligação. Agora que temos essa função há a propriedade de habilidade nome dois. E vamos selecionar a propriedade de habilidade três. Propriedade Vincular Git Ability chamada três. Agora com isso, vou compilar isso rapidamente e vou salvar, vamos jogar aqui para ver o que já podemos ver. Eu vou bater que a 0, C0 e perna disso. Para o material que eu tenho atualmente nossa habilidade selecionada é o número dois. Então você pode ver o homem se acostumar, esfriar. Todos estes textos são mostrados. Obviamente não temos nenhuma ligação aqui em baixo ainda em estado selvagem, eu
deixei isso como propriedade habilidade O4, isso é culpa minha. E obviamente não temos nenhuma ligação para isso ainda. Se eu navegar até Revenant, podemos ver algumas propriedades aqui agora ele não tem uma terceira e tudo bem. Nem tudo vai ser preenchido aqui. E se eu for ao Sever OG, ele fica furioso porque se acalme
, distâncias irregulares, etc. Você pode cortar todas as referências cruzadas para ter
certeza de que está olhando para a direita, olhando em sua tabela de dados. E novamente, eu só quero apontar aqui na guia gráfico, a razão
pela qual ele estava mostrando detalhes de habilidade. número dois aqui é porque em nosso gráfico, rolando sob nosso painel Variáveis de plantas, temos nosso índice de habilidade selecionado. E lembre-se, isso está apontando para habilidade para. Então é por isso que estamos vendo todas as propriedades, nomes de propriedades associados à habilidade número dois. Ok, então agora eu vou te mandar no seu caminho aqui para terminar esses dois últimos, ver se você pode nomeá-los apropriadamente e colocá-los ligados apropriadamente, ligando-os aos widgets apropriados aqui embaixo. E, na verdade, vou mudar o nome para 0-5 imediatamente. Isso é culpa minha. Tudo bem, então veja se você pode fazer isso. Vou fazer isto do meu lado e voltar a juntar-me a ti daqui a pouco. Tudo bem, e agora você pode ver que eu tenho todos os cinco nomes de propriedades habilidades apropriadamente vinculados. Novamente, nem todas as habilidades terão todos os cinco nomes de propriedades. Porque dada a habilidade, alguns podem ter mais ou menos. Por exemplo, Revenant aqui só tem duas propriedades de habilidade para exibir sobre essa habilidade dada. Sever OG para a habilidade número dois aqui só tem três. Agora, novamente, estamos tipo de revestimento duro que habilidade estamos exibindo aqui. E eventualmente vamos conseguir que quando passarmos o mouse sobre essas habilidades diferentes, toda essa informação se atualize dinamicamente. Só para lhe dar uma atualização rápida aqui ou um lembrete de como fizemos isso. Aqui eu tenho o nome da propriedade Git Ability destacado e tudo o que eu esqueci o nome da propriedade habilidade O5, essa função que nós apenas duplicado. Só me certifiquei de que tudo estava ligado ao nome da propriedade. Cinco, por exemplo. E, em seguida, de volta na guia Designer que nós realmente vinculamos essa propriedade habilidade para a função adequada, obter o nome da propriedade habilidade O5, caras
certos, boa hora para compilar. Certifica-se de que todo o seu script é bom e salvo. Estamos a fazer bons progressos. No próximo vídeo, vamos ligar todos esses valores aqui para ligações também. Vemo-nos lá.
45. Binds de propriedade: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar vinculações para nossos valores de propriedade de habilidade aqui. Então isso é dependendo do que nossa habilidade selecionada é sobre no lado esquerdo, irá mostrar os valores de propriedade apropriados que vão junto com essa habilidade. Coisas como o número sete para um resfriamento, talvez o número 70 para um homem, um custo, assim por diante e assim por diante. Agora, atualmente, estamos codificando difícil, se você preferir, que é o nosso índice de habilidade selecionado por ter uma variável associada a cada um desses ícones diferentes. Agora, eventualmente seremos capazes de codificar. É que quando estamos passando o mouse sobre isso, nós vamos mudar o que são índice de habilidade selecionado é e , assim, atualizar quais informações são todas exibidas aqui em baixo. Mas só para dizer que tipo de dados queremos mostrar aqui em baixo, vou para a minha lista de personagens DT. E atualmente eu tenho a linha número um, minha linha milagrosa selecionada. E se você rolar caminho para baixo em direção ao fundo em vista de suas diferentes habilidades. Eu vou olhar para a habilidade número dois porque isso é
atualmente é índice de habilidade selecionado. E no último vídeo fizemos textos como custos de maná, como esfriar toda essa exibição. Neste nós vamos obter os valores associados a esta exibição de coisas como 70 para um homem, acos arrefecer vai ser sete. Eu poderia colocar a palavra segundos depois disso se eu quisesse,
mas sete, movimento da espinha, velocidade move trinta e cinco por cento. Apenas alguns dados adicionais que acompanham o nome. Tudo bem, isso vai ser fácil de fazer porque aqui em nossos ativos W b, p personagem UI, nós já temos um monte dessas funções feitas para essas ligações no último vídeo. Na verdade, fizemos ligações para a propriedade de habilidade chamada 12345. Nós vamos duplicar tudo isso e apenas trocar em
torno de um fio em cada uma dessas coisas vai realmente mais de um fio, alguns fios em cada uma dessas funções. A fim de vincular estes adequadamente. Simples, nós só vamos para a nossa guia gráfico. E na área de funções dos meus planos. Vamos duplicar cada um destes de cada vez. Então vou clicar com o botão direito do mouse em obter o nome da propriedade habilidade. Vou clicar com o botão direito sobre isso. Vou duplicar assim. E a única coisa que vou mudar aqui é o nome para começar, obter o valor da habilidade nome 01. E então com essa função particular, a coisa que você vai querer mudar é simplesmente você não quer apontar para o nome da propriedade um, você quer apontar para o valor da propriedade o ou um. Então, novamente, vamos manter o controle aqui e remover o fio. Rato direito. Clique para baixo. Valor da propriedade um para a capacidade de clicar com o botão direito do mouse e segurar que para rolar para baixo aqui, valor da propriedade um. Eu tenho um valor de propriedade lá em cima também. Sim. Certifique-se de não confundir entidades, segure este. Controle com o botão esquerdo do mouse no valor da propriedade 1. E, em seguida, aqui também, valor de
propriedade um, mantenha pressionada a tecla Control pressionada com o botão esquerdo do mouse. Tudo bem, isso é simples o suficiente, certo? Então, de volta em nossa guia designer com essa função feita, podemos realmente ligá-lo ao valor da propriedade habilidade um. Então vamos criar essa ligação bem aqui ao lado do texto. E temos o nome do valor da habilidade. Não é isso que eu não queria dar um nome. Obter o nome do valor da habilidade. Deixe-me voltar e renomear isso. Desculpe. propriedade F2 Git Ability. Caramba, não posso soletrar hoje um valor de propriedade. Um. Vamos ser organizados aqui, então é isso que eu quero nomear que obter valor
de propriedade habilidade um tem que ficar organizado aqui. Então, vamos voltar para a nossa guia Designer. Vamos vincular isso para obter capacidade de valor de propriedade um. E se eu compilar, certifica-se de que esse script é tudo bom e seguro o suficiente, salvo. Vamos jogar. Bata assim como. E aqui vamos nós. Para material para nossa habilidade de Albuquerque. Aqui estão o custo de maná está mostrando como 70. Claro o suficiente. E se eu, você sabe, navegar para Revenant meu personagem anterior, podemos ver que temos algumas informações exibidas para a habilidade um e cortar OGG também. Estes ainda não estão encadernados. Então o processo que você vai repetir para o resto destes e eu vou apenas orientá-lo através de mais um e então eu vou mandá-lo para o seu caminho para fazer o resto. Voltando para a nossa guia gráfico aqui, vamos obter o nome de propriedade O2. Vou clicar com o botão direito. Eu vou duplicar isso, e eu vou renomeá-lo para obter o valor da propriedade da habilidade 02. E agora, aqui, a única coisa que eu quero reconectar é que eu só preciso movê-lo para baixo um. Agora nome da propriedade O2, mantenha pressionado o valor de controle O2. E quero clicar com o botão direito do mouse em Moussa e aqui em baixo valorizar O2. Então você está literalmente movendo todos esses fios para baixo, apenas um para apontar para a coisa apropriada. Valor O2. Valor O2. E agora volte para a aba Designer. Não te esqueças desta parte. É fácil esquecer esta parte. Você tem valor aqui selecionado. Vamos vincular isso ao valor da propriedade o para compilar. Salvar. Vamos jogar. Toque que E. E é um ovo. Agora você pode ver que temos dois valores sendo exibidos. Excelente. Tudo bem, então agora você sabe como fazer esse processo. Vou pausar o vídeo aqui, duplicar o resto destes, e depois trocar os fios, verei vocês daqui a pouco. Tudo bem, e estamos de volta. E agora você pode ver que eu tenho tudo ligado aqui, todos esses valores, se você quiser. Agora, algo para notar aqui, eu fiz um erro quando eu estava fora da câmera aqui, eu criei todas as minhas funções e então eu fui jogar o jogo e eu percebi que eu esqueci de realmente criar a ligação. Então, não se esqueça depois de criar suas funções, você realmente tem que selecionar esse widget e, em seguida, realmente vincular
a ligação, a função que você deseja vincular a ele. Muito fácil de esquecer passo. Agora algo mais que eu devo notar aqui é, bem, na minha tabela de dados, eu tenho todos esses valores de propriedade, não como valores inteiros ou flutuantes. Eu realmente tê-los como um tipo de variável de texto. Isso só me dá grande flexibilidade aqui em termos de eu não tenho que preocupar muito em mantê-lo como um formato numérico. Então isso significa que eu posso colocar coisas como um sinal de porcentagem ou se um queria esfriar para ser sete segundos, eu poderia colocar algo assim também. E eu não tenho que me preocupar muito com formatação com o formato do texto. Se for um número inteiro, ele só vai estar procurando por um número inteiro. Mas por ter este formato de texto, eu tenho um pouco mais de flexibilidade no que fazer, eu quero exibir. Novamente, o que estamos exibindo aqui na tela é apenas oferecer propósitos informativos para
que se este fosse um personagem que você está controlando em seu jogo, sua visão e suas habilidades. Você quer saber como, quanto frio essa habilidade tem? Qual é o homem do custo, assim por diante e assim por diante. Tudo bem, pessoal, isso vai fazer tudo por este trabalho de vídeo, muito bem. Isto está a moldar-se muito bem. Vamos manter o impulso rolando. Vemo-nos na próxima rodada.
46. Animações de widgets de habilidade: Bem-vindos de volta a todos. Eu estou na versão finalizada de nossos projetos aqui, aquele que eu construí em preparação para este curso para demonstrar o que vamos construir em seguida, nosso objetivo neste vídeo é criar animações para cada um dos nossos botões de habilidade para que eles deslizem para fora em escala para cima um pouco quando estamos passando por cima deles assim. Muito doce, certo? Agora, neste vídeo, vamos nos concentrar apenas na criação dessas animações. Isso é aquele pequeno deslize para fora em habilidade para cima. E, em seguida, apenas alguns vídeos tempo aqui nós vamos ligar essas animações para que você possa vê-los funcionando. Tudo bem, então agora que você vê o que vamos construir, vamos saltar para a nossa versão do projeto e começar a trabalhar nosso caminho para isso. Tudo bem, aqui estamos de volta ao nosso caráter, você eu projeto. Mais uma vez, estamos trabalhando em nossos blueprints widget de interface do personagem WPP e garante que você está em widgets de interface do usuário de caracteres de conteúdo. Clique duas vezes naquele cara para abrir. Agora, até este ponto no curso que
temos lidado com a nossa hierarquia são guia Designer aqui, a guia Detalhes, e tínhamos sido mais na guia gráfico também. Nós ignoramos totalmente esta parte inferior do nosso Editor de blueprint de widget aqui. É aqui que podemos criar animações. Em minhas animações, estou falando de alguns movimentos ou algum outro efeito que queremos aplicar a qualquer um dos nossos widgets aqui. Bem, nós vamos fazer acontecer é nós vamos criar algumas animações
para fazer nossos vários botões de ícone aqui tipo de deslizar para fora e crescer em tamanho apenas um pouco quando estamos passando sobre eles. Por enquanto, estamos focados apenas na criação dessa animação, não na funcionalidade, apenas na animação do slide para fora e na pequena escala. Então, como fazemos isso? Bem, começamos por entrar nesta aba de animação e temos que criar uma animação. Este botão verde nos permite criar um novo botão. Então, vamos clicar nele. E eu vou chamar esse botão de habilidade 01, pairar, assim. Agora note que quando criamos esta animação na guia gráfico, se entrarmos em nosso painel My Blueprint, sob a seção de variáveis, agora
temos este pequeno menu suspenso para animações. E se eu clicar nisso, agora
podemos ver que temos botão de habilidade O1 pairar, que é o nome exato como o que nós nomeamos isso. Então, essencialmente, o que fizemos foi criar uma variável. Esta variável vai conter dados de animação. E depois descendo a estrada aqui. Assim que darmos alguns dados de animação, temos algum trabalho a fazer aqui na nossa linha do tempo. Vamos ser capazes de chamar esta animação para tocar. Então isso é essencialmente o que estamos fazendo. Vamos criar alguns dados de animação. E então, eventualmente, vamos chamar essa animação para reproduzir usando alguns scripts. Tudo bem, vamos em frente e realmente criar esta animação. Então, o que temos que fazer primeiro? Certifica-te de que tens a tua habilidade. Botão 01 selecionado aqui. E você pode ver que você tem isso como um limpador de linhas temporais que se move para a esquerda e para a direita. E basicamente a maneira como isso funciona é que você começa a selecionar alguma propriedade aqui que você deseja ajustar ao longo do tempo. Certo, então vamos nos certificar de que nosso limpador de linha do tempo aqui em que estou clicando esquerdo está definido para a marca de 0 segundo. Agora, rapidamente, esta marca verde mostra o início da nossa linha do tempo. Esta marca vermelha mostra o ponto final da nossa linha do tempo por enquanto, tudo o que nos preocupa é ter este definido como 0. Tudo bem, a próxima coisa que precisamos fazer é queremos que algo
aconteça com nosso botão ao longo do tempo. Então vamos nos certificar de que temos a habilidade do botão ou um selecionado. Então você tem isso selecionado. E agora no painel Detalhes do Botão 01, o que queremos ajustar ao longo do tempo? Bem, queremos ajustar a posição disto ao longo do tempo, assim como a escala disto ao longo do tempo. Então, no que devemos nos concentrar primeiro, vamos rolar para baixo. E temos essa seção transformada de renderização na qual vamos nos concentrar. E vamos nos concentrar nessa tradução. Ao traduzir nosso x e y, podemos afetar a posição deste. Vamos afetar a tradução do X. Ou seja, ele está se movendo ao longo do eixo X. Agora você vê esses pequenos ícones bem aqui, este pequeno formato de diamante com a vantagem ao lado dele. Isso vai adicionar esta propriedade para baixo para a nossa linha do tempo para que possamos afetar, neste caso são x localização ao longo do tempo. Então, se eu clicar aqui abaixo renderizado transformar tradução x, e novamente eu tenho a habilidade do botão 0-1 selecionado. Vamos clicar aqui. Uma vez que fazemos isso Downey e nossa linha do tempo, você pode ver que adicionamos transformação, toda
essa seção de parâmetros até nossa linha do tempo. Preciso clicar neste pequeno triângulo suspenso aqui. E isso vai me mostrar que temos acesso agora a mudar nossa rotação são escalar nossa tradução, etc., ao longo do tempo. Agora, novamente, há alguns triângulos drop-down hip para aqui porque nós temos a tradução na coordenada x e y. Então eu vou expandir isso um pouco. Agora vemos este pequeno ponto vermelho na marca de 0 segundo para a localização x. Basicamente, estamos dizendo que neste ponto, na marca de 0 segundo, não
estamos mudando a tradução. Não vamos mudar os movimentos do
nosso botão. Agora o que eu quero fazer a seguir é mover nosso controle deslizante da linha do tempo para um pouco, mas eu quero movê-lo de uma maneira muito literal. Então eu vou realmente segurar o controle e roda do mouse em que vai me permitir expandir ou encolher minha linha do tempo. Você pode ver como eu posso ficar mais finito com minhas unidades do tempo aqui. Então, se você manter pressionada Controle e mouse entrará e sairá. Você pode expandir ou diminuir essa linha de tempo. E eu vou rodar muito longe assim. Quero que seja uma animação muito rápida. Então eu vou pegar meu limpador de linha do tempo aqui e agora mover isso para a marca 0.052. Isso não está longe do início da nossa linha do tempo. E o que eu vou fazer com meus depuradores de linha do tempo definido aqui é eu vou clicar neste pequeno botão mais para tradução x, e isso vai adicionar outro ponto vermelho aqui. Esses pontos vermelhos são conhecidos como quadros-chave. E você está basicamente dizendo que neste ponto da linha do tempo, eu quero que alguma propriedade aqui tenha um valor diferente. Atualmente, neste momento na linha do tempo, eu não mudei minha tradução X. No entanto, eu quero definir um novo valor aqui. Então, o que posso fazer? Posso clicar aqui e definir esse valor para 50. E eu vou apertar Enter. E você pode ver em cima o que isso está feito é deslizar para fora do nosso ícone um pouco. Agora você pode ver esse tipo de animação tocando pegando sua descoberta de linha do tempo aqui e movendo-a de 0 para 0,05 segundos. Então vai fazer isso muito rápido. Ok, então note que o nosso quadro-chave aqui é definido como uma tradução X de 0, são quadro-chave aqui é definido como uma tradução X de 50. Então, só um pequeno movimento. Agora eu também quero dimensionar o tamanho deste ícone para ser um pouco maior. Então olhe para cá. Tenho algumas propriedades de escala. Eu poderia clicar aqui é bom para adicionar isso à minha linha do tempo, mas eu já tenho a capacidade de acessar escala aqui em baixo. Então, eu só vou expandir isso assim. E eu quero escalar isso nas coordenadas x e y. Agora, eu quero começar aqui na marca de 0 segundo. Sempre comece na marca de 0 segundo. E eu vou adicionar quadros-chave para a minha escala x e y na marca de 0 segundo. Então eu vou clicar mais aqui, e eu vou clicar mais aqui. Agora, o que eu quero fazer é agora que você vê isso zerado. Eu realmente quero sentar minha escala para ser 1 para cada um desses 1.00 no X e 1 no y. Você está basicamente dizendo que eu quero que isso seja 100% seu tamanho habitual,
o tamanho de nós dissemos isso antes, isso é o que eu queria ser. Agora, eu vou mover meu abate da linha do tempo para 0,05. E eu vou adicionar quadros-chave aqui para a escala x e y. Agora aqui, eu queria ser um pouco maior em tamanho. Então, com sua escada de linhas de tempo logo acima desses quadros-chave, eu vou selecionar minhas escalas x que tem que ser 1.2. E minha grande escala para ser 1.2 está bem, então agora você pode ver na marca de 0 segundo quando esta animação começa, estamos dizendo, hey, vamos começar com nossa posição original e nosso tamanho original. No entanto, em um curto período de tempo, vamos deslizar para a direita, e esse ícone vai crescer ligeiramente em tamanho. Tudo bem, agora isso é ótimo. Temos esta animação criada apenas para o botão de habilidade número um. No entanto, precisamos de fazer isto por mais vezes. Desde que construímos isto uma vez, podemos duplicar o nosso trabalho aqui e mudar algumas coisas e acabamos. Então vamos facilitar a vida para nós mesmos. Vou clicar com o botão direito do mouse aqui com nossa habilidade Botão 01 pairar. Vou clicar com o botão direito do mouse e duplicar isso e vou mudar o nome para ser a habilidade de pairar. Assim como. Eu vou novamente com ele destacado em amarelo como este, você pode fazer controle mais W para duplicar também. E eu vou chamar essa habilidade de três pairar. Vamos tornar a vida mais fácil. - Sim. Controle w duplicado novamente, vamos chamar este botão habilidade para pairar. E, em seguida, controle mais W novamente. E este será o botão de habilidade cinco pairar. Agora, se eu fosse selecionar essas habilidades, deixe-me apenas como o botão de habilidade três. Aqui está um problema. Atualmente ele ainda está associado com a habilidade do botão 01, que não é o que queremos. Todas estas animações estão associadas ao nosso primeiro botão aqui. Queremos associá-los a botões diferentes. Botão de habilidade O2 hover deve ser associado com o botão de habilidade número dois. Então, como fazemos isso? Bem, o que precisamos fazer aqui é com o botão de habilidade selecionado aqui. Vamos selecionar um botão, habilidade O2 em nossa hierarquia. Então é cinza aqui, amarelo aqui com este selecionado. Agora tudo que você precisa fazer é clicar com o botão direito do mouse aqui. E podemos substituir com o botão de habilidade O2. Certo, então é assim que podemos associar um botão diferente com essa animação. Certo, então vamos repetir esse processo algumas vezes aqui. Então vamos escolher habilidade Botão 03 que está em amarelo. Vamos selecionar a habilidade do botão três em nossa hierarquia. E agora vamos clicar com o botão direito aqui. Vamos substituir com a habilidade do botão três. Vamos selecionar a capacidade do botão para em nossa hierarquia, vamos selecionar a capacidade do botão para. Em seguida, vamos clicar com o botão direito aqui, substituído por habilidade botão para. E então vamos selecionar a habilidade do botão ou o botão da habilidade cinco. Vamos selecionar a habilidade do botão cinco aqui na nossa guia ou hierarquia do designer. E então vamos clicar com o botão direito aqui e substituir com a habilidade do botão 5. Então você pode ver que cada um deles está associado com o botão apropriado. Agora, e novamente, apenas para levar para casa o ponto em nossa guia gráfico na seção de variáveis do painel Meu plano, agora
criamos cinco animações diferentes. Estas são todas variáveis com dados de animação armazenados dentro que agora podemos chamar em nosso gráfico de eventos para jogar. Isso estará chegando muito em breve. Então, trabalho bem feito para isso. Isso é tudo o que queremos fazer aqui. Vá em frente e compile e salve caras que vão fazer isso por este. Vemo-nos na próxima.
47. Função de Hover: Bem-vindos de volta a todos. Tudo bem, agora que temos algumas animações widget habilidade criadas, vamos criar uma função de hover habilidade para que sempre que chamarmos esta função r widgets animações vai jogar e vamos fazer o botão de entrada associado a cada habilidade aparecer. O que eu quero dizer com isso? Quero dizer que este a, b, x, y e l botão de gatilho aparecem. Agora lembre-se que podemos ver esses botões enquanto estamos trabalhando em nossa guia de designer, mas quando jogamos o jogo, não os vemos. E a razão pela qual não os vemos é porque se eu selecionar um
desses botões de entrada aqui, definimos o comportamento para que isso seja escondido quando estamos em jogos. Então nossa função que vamos criar neste vai fazer com que
joguemos nossas animações de widget e que realmente mostramos esses botões. Vai ser um dois para um, rapazes. Certo, então o que temos que fazer? Em primeiro lugar, você tem que se certificar de que você tem seu w BP personagem UI aberto novamente, é neste diretório que deve ser padrão agora. E dentro daqui vamos saltar para a nossa guia gráfico. E vamos criar uma nova função no painel My Blueprint. Então, atualmente até este ponto, criamos um monte de funções que foram vinculadas a widgets em nossa guia designer. Aqui nós estamos apenas indo para criar uma função imediatamente. Então função mais função, ele vai pedir-nos para dar-lhe um nome. Vou chamar este botão pairado de FX. E você pode ver que temos uma guia aqui para efeitos de botão pairados. Agora, eu vou selecionar nosso nó de entrada aqui para criar esta função. E eu quero fornecer um par de entradas. Então você vê como eu meio que arrastei meu painel de detalhes aparecer. Você pode precisar fazer isso no caso de sua seção de entrada e saídas estar oculta. Então queria criar um par de entradas aqui. Então eu vou clicar neste botão de entrada mais. E esta primeira entrada que eu quero criar vai ser chamada de entrada para mostrar. E eu vou mudar o tipo de variável aqui de booleano também. Um widgets em quando eu estou procurando especificamente é este cara aqui em baixo, avião todos referência objeto widget. Este é o lugar onde eu vou passar no widget que eu quero mostrar o botão de entrada que eu quero que apareça na tela. Em seguida, vou criar outro parâmetro de entrada novo. Este vai ser chamado de animais nm, abreviação de animação. E eu vou jogar apenas este. Eu quero ter um tipo diferente. Eu vou chamar isso de nosso tipo de animação widget, animação widget. Animação de widget na referência de objeto. Esta função vai nos permitir inserir, nos
dizer o que mostrar, qual widget queremos mostrar em qual animação jogar. Em seguida, vamos arrastar um fio para fora de nossa entrada para mostrar assim. E eu vou arrastar um fio para fora desta visibilidade inserida tipo n. Então, apenas pulando de volta para nossa guia Designer ou realmente brevemente aqui, você não precisa fazer isso, mas apenas para ajudar a dirigir o ponto para casa, eu vou selecionar meu, meu botão de entrada aqui, que um botão meio que mostra, hey, você precisaria pressionar o botão a para ter essa habilidade jogar. Aqui em nosso painel de detalhes. Atualmente temos nossa visibilidade definida como oculta. Agora, novamente, você pode falar com esses vários parâmetros por meio da visibilidade de script atualmente definida como oculta. Então aqui no gráfico, eu estou dizendo, hey, widgets, eu quero definir sua visibilidade. vez, é um widget aqui que eu estou falando. Um widget, eu quero definir sua visibilidade para ser visível. Foi assim que eu sabia que eu poderia até mesmo encontrar essa propriedade de visibilidades porque meu widget aqui, meu widget de imagem aqui tem uma propriedade chamada visibilidade que eu posso fazer algo com. E neste caso, quero definir a visibilidade para ser visível. Em seguida, vou arrastar um fio do meu anime para tocar. E eu vou simplesmente procurar por animação de
reprodução que faria sentido que há uma função associada a uma animação widget para reproduzir essa animação. Então eu vou estruturá-los algo assim. Isto é um fio de execução. Então, nesta função, vamos dizer é definir a visibilidade do nosso widget para ser visível, aquele ícone de botão lá. E então nós vamos dizer a nossa animação para reproduzir agora, algumas coisas para observar sobre essa função em particular. Sim, estamos chamando uma função dentro de uma função é que você pode especificar quantos loops você queria jogar. Um vai ser um e feito apenas vai jogar aquela animação de deslizar para fora e crescer apenas uma vez. Você pode configurar seu modo de jogo para ser qualquer uma dessas opções. Queremos que seja para a frente. E, claro, você pode ajustar sua velocidade de reprodução. 1 é essencialmente 100% da sua velocidade normal, mas se você quiser ir mais rápido ou mais lento, você pode mexer com esse valor bem ali. Ok, nós temos nossas animações de widget construídas, e nós temos nossa função de botão de pairar construído. Estamos agora em uma boa posição para usá-los em nossos próximos scripts. Então os caras apenas compilar e salvar. Isso é literalmente tudo o que queríamos realizar neste. Vemo-nos a todos no próximo vídeo.
48. Script de botão padrão: Bem-vindos de volta a todos. Neste vídeo, eu quero torná-lo de modo que nós temos um dos nossos botões de habilidade aqui selecionados por padrão e que ele realmente parece que ele é o botão selecionado padrão. Agora, agora, temos uma de nossas habilidades selecionadas por padrão, é essa segunda, e estamos exibindo informações sobre isso. No entanto, se você viesse para esta tela, você não teria idéia de qual ícone de habilidade aqui você está realmente visualizando informações. Então este vídeo vai abordar isso também. Eu quero fazê-lo de modo que quando estamos destacando sobre esses vários botões, você pode realmente ver um destaque amarelo aparecer em torno dele. Então vamos fugir daqui e começar a trabalhar no nosso caminho para isso. Primeiras coisas primeiro, atualmente, quando eu passar o mouse sobre tudo isso, nós não vemos nenhuma mudança no visual do ícone, então eu vou escapar disso e resolver isso primeiro. Então, todas as nossas habilidades de botão aqui na nossa hierarquia, você pode selecioná-las múltiplas assim, mantendo a tecla Control pressionada no clique esquerdo. A razão pela qual não estamos vendo um destaque amarelo aparecer ao redor deles é porque, no painel Detalhes, não
estamos alterando o estilo com o cursor do mouse. Atualmente, estamos dizendo que quando estamos vendo nossos ícones de botão aqui, esse contorno é branco. Não importa se estamos apenas olhando para ele, normalmente, mesmo que estejamos pairando sobre
ele, ainda vai parecer branco. E uma vez que clicamos
nele, ele ainda vai parecer branco. Agora, uma maneira de ver essa mudança imediatamente é mudar seu pairado para uma cor matizada. Então eu vou mudar isso de branco. Vou clicar nesta barra de cores bem aqui embaixo do Hubbard. E eu vou definir isso para ser amarelo. E você pode ficar amarelo apenas fazendo R1, G1, que é lido de 100% G de 100%, B de 0. Clique em OK. E imediatamente se eu fosse pular e jogar agora e tocar isso como. Agora, quando eu realço sobre estes, podemos ver aquele destaque amarelo, que é um tipo de bom. Agora temos que fazer um botão selecionado padrão realmente aparecer como se fosse o padrão, o botão selecionado. Então, como fazemos isso? Bem, para isso, vamos saltar para a aba do gráfico. Agora aqui vamos navegar para o nosso gráfico de eventos. E novamente, se você acidentalmente clicou fora do seu gráfico de eventos e você está tipo, oh meu Deus, onde está o meu gráfico de eventos? No painel Meu plano, você pode rolar dois gráficos para cima. Clique duas vezes em Event Graph agora leva você de volta ao local onde estávamos. Agora o que vamos fazer aqui é criar algo conhecido como eventos personalizados. Então eu vou clicar com o botão direito do mouse no espaço vazio e vamos digitar o texto Evento personalizado quando meu computador subs perna. E aqui, lá vamos nós. Evento personalizado. Agora nós começamos a dar um nome a este evento e eu vou chamar essa habilidade padrão selecionada. Assim como agora este nó de evento, você pode dizer que é um evento personalizado porque tem realmente minúsculo c lá dentro. É muito difícil de ver, vai ser chamado quando eu disser para chamar o seu vai disparar um sinal. Quando dizemos, quando chamamos este evento personalizado para chamar. Vamos lidar com isso daqui a pouco. Agora fora disso, eu quero que a minha função fx botão de pairar para jogar. Quero que seja chamado aqui. Então eu vou clicar com o botão esquerdo e arrastar minha função de efeitos de botão pairado para o gráfico. Assim como. Agora temos de ligar isto. Quais entradas queremos mostrar por padrão? Então eu quero que esta seja minha habilidade padrão para ser mostrada toda a informação exibida aqui e ser meio que deslizou um pouco para fora. Então, pela entrada, eu estou falando sobre este ícone bem aqui. Quero que isso mostre porque lembre-se que está oculto por padrão. Então isso é conhecido como capacidade de entrada 01. Olhando bem aqui no seu painel My Blueprint sob as variáveis, eu tenho a capacidade de entrada 01, que é essa imagem. Vou clicar com o botão esquerdo e arrastar isto para a minha entrada para mostrar. Agora, se por qualquer motivo você não vê isso na sua lista de variáveis na guia Designer, você pode marcar essa caixa para torná-la uma variável. Você tem esse cheque, ele aparecerá aqui na sua lista de variáveis. Agora ele também quer saber, ok, ok, ok, que animação você quer tocar aqui? Bem, lembre-se no último vídeo, nós criamos sob a seção variável, essas animações, Eu quero habilidade Botão 01 pairar para jogar. Então eu vou clicar com o botão esquerdo e arrastar e soltar isso no meu átomo para jogar. Agora a razão pela qual eu posso arrastá-lo e soltá-lo lá é porque se eu passar o mouse sobre essa entrada, ele está procurando uma referência objeto de animação widget. E o que você percebe? Esta é uma referência de objeto de animação de widget que é os tipos apropriados. Posso arrastar e largar lá, assim. Boom. Agora o que mais eu quero fazer é aqui eu estou dizendo que eu quero botão
habilidade ou um para ser selecionado por padrão, e eu quero que o botão de entrada lá para ser exibido também. Agora eu também preciso ter certeza de que eu tenho meu, o,
o índice de habilidade selecionado apropriado mostrando. Lembre-se, nós criamos este índice de habilidades selecionado e isso é o que está levando todas as nossas várias informações de habilidades a aparecer em nossas funções. Atualmente ele está definido para ser selecionado índice de habilidade dois. Então eu vou arrastar e soltar isso no meu gráfico. Eu quero pegá-lo ou configurá-lo? Neste caso, eu quero configurá-lo para ser um valor de um. Quero que isto mostre a habilidade número um. Agora lembre-se com todas as nossas outras funções aqui em cima, como obter nome da habilidade, eu vou apenas clicar duas vezes sobre isso rapidamente. Seja qual for esse índice de habilidade selecionado, isso vai conduzir as informações que exibimos. Tendo a habilidade, ninguém exibe o nome, tendo nomes O2s capacidade exibindo assim por diante e assim por diante. E como o motorista de exibir todas as informações em nossa guia de habilidades. Tudo bem, voltando ao nosso gráfico de eventos aqui, vamos clicar com o botão esquerdo. Arraste em torno de todos estes e obter um toque para ver a tecla para criar uma caixa de comentários. E eu vou chamar essa habilidade padrão selecionada. E então eu vou colorir este preto imediatamente. Então, com isso selecionado aqui, eu posso definir uma cor comum. Eu só vou arrastar até aqui para fazer um olho roxo como ele está em preto para que eu possa ver todos esses fios facilmente. E isso é tudo bem e bom. Então agora você pode estar dizendo, ok, mas o que vai chamar este evento personalizado? Isso não vai fazer nada ainda. Na verdade, se eu fosse apenas executar o nosso jogo perto do plano e tocar na tecla E, como nós não fazemos, nada é diferente aqui. Não está mostrando capacidade para o número um, não
vejo nenhuma animação tocando. Nenhum widget é deslizou para fora tudo como se nada fosse diferente. E isso é porque este Evento Personalizado não está sendo chamado. Então, como podemos fazer isso? Bem, aqui em cima eu sou o gráfico de eventos? Temos Event Construct. Vou mover Event Construct para a esquerda aqui. E eu vou colocá-lo em algo conhecido como uma sequência de notas. Então, se eu manter pressionada a tecla S como na sequência e clicar com o botão esquerdo, eu posso trazer um nó de seqüência. Agora tem um top cinza. Então isso é algo conhecido como um nó de controle de fluxo. Vou ligar isto assim. Agora, o que um nó de sequência faz é que me permite disparar várias coisas. E eu posso adicionar pinos a isso em sequência com um evento. Agora note que normalmente podemos apenas ligar um evento, fazer uma coisa. Mas se eu quiser que várias coisas aconteçam, assim que construirmos como Widget Blueprint. Posso fazer isso trazendo uma sequência de notas. E agora eu posso dizer, ok, widget blueprints sua interface do personagem quando você é construído, Eu quero criar uma referência para a minha variável de instância de jogo aqui. Mas eu também quero chamar este evento personalizado. Então, eu só vou falar um pouco disso. E com este evento personalizado criado, agora
posso arrastar um fio para fora deste e digitar o padrão. Como eu chamei essa habilidade padrão selecionada, arrastá-la para fora. A capacidade de falha, e lá está, função de
chamada, seleção de capacidade padrão. Agora este é um evento personalizado aqui, mas isso está chamando para que esses eventos personalizados aconteçam. Este é essencialmente um sinal sem fio que está dizendo, Ei, evento foi construído, certo, diga a este evento personalizado para disparar. Agora só para apontar algo aqui, eu poderia ter projetado isso assim. E isso faria exatamente a mesma coisa. Tudo o que eu estou fazendo com esta configuração agora eu estou dizendo OnEvent, construir também jogar esta capacidade O1 para mostrar essa entrada e reproduzir essa animação e selecionar esse índice, et cetera. Mas isso é essencialmente criar um sinal sem fio. Fazendo a mesma coisa. Tudo bem, então agora se eu compilar, certifique-se que meu script aqui é bom. E eu salvo, e eu jogo. E eu toco assim. Agora podemos ver que a habilidade O1 é selecionada por padrão. Vemos que um estado bem ali que está mostrando e está exibindo as informações apropriadas. Cio na fenda, eu vou gostar disso, isso é meio legal, certo? Tudo bem, pessoal, isso vai fazer tudo por este. Vemo-nos no próximo vídeo.
49. Script Hover: Muito bem, bem-vindos de volta a todos. Neste vídeo, nosso objetivo é fazer com que quando passarmos o mouse sobre nossos diferentes botões de habilidade aqui que eles se acendam, eles reproduzam a animação e que o resto dessa informação seja preenchido com qualquer botão de habilidade que somos pairando sobre atualmente temos um botão padrão, e isso é ótimo. Mas nós queremos que isso realmente torná-lo para que toda esta informação aqui é relevante para qual sempre botão nós estamos pairando sobre. Então, vamos fugir daqui. Isso vai ser muito fácil de fazer porque temos muito do trabalho feito. Mais uma vez, certifique-se de que neste diretório você tem personagem WPP você eu abri. Tudo bem, vamos começar aqui na aba do gráfico. E no último vídeo, construímos esta seção de script bem aqui para nossa habilidade padrão. Agora, vamos roubar um pouco deste guião. Vou clicar com o botão esquerdo e arrastar. E eu vou roubar esses dois nós. Eu vou para o Controle C. E então eu vou encontrar um espaço vazio, um rato disposto a sair. Eu vou para a direita aqui. E eu vou fazer o controle V para colar. Agora, o que eu quero fazer é que eu quero ter algum evento
disparar para sempre que estivermos pairando sobre nossos diferentes botões de habilidade. Voltando para a minha guia Designer aqui por um momento. Se eu selecionar a habilidade botão ou um. E lá está selecionado lá minha guia Designer, se eu rolar para baixo no painel Detalhes, caminho, caminho para baixo na parte inferior, temos alguns eventos associados a esse botão. Há um evento que pode disparar quando você clica nele, quando você solta, quando você passa o mouse e passa o mouse, etc. Agora você tem acesso a esses eventos na guia gráfico também. Então note que esta é a habilidade Button ou uma. Vamos para a nossa guia gráfico e vamos selecionar nossa habilidade de botão variável ou uma. Isto é falar com o mesmo widget. E olhe aqui, temos acesso a alguns eventos. Queremos que algo aconteça quando estamos pairando sobre esses botões. Então, se clicarmos aqui, ele colocará esse nó de evento onde quer que eu vá arrastá-lo para onde eu quiser. E então, quando estivermos passando o mouse sobre esse botão em particular, isso vai disparar. Então diga à nossa função, nossa função de botão girado para disparar
e, em seguida, também para definir nosso índice de habilidade selecionado. Então isso é para a habilidade do botão 01. Portanto, queremos que o índice de habilidade selecionado seja um. Agora, novamente, precisamos encaixar em uma entrada para mostrar em um átomo para tocar bem, nosso anime que queremos tocar é r animação bem aqui. Novamente, se você não vê estes, isso é fácil de perder aqui sob variáveis, animações, botão de habilidade ou um Hummer. Então vamos arrastar e soltar isso em nossa entrada para mostrar. Começa com a entrada de palavra, capacidade de entrada um. Vamos arrastar e soltar isso aí. Agora. Então isto é para o botão número um. Nós simplesmente precisamos repetir este processo para o botão número dois, mas número três, etc. Então eu vou apenas destacar esses dois nós aqui, porque isso vai ser o nosso denominador comum aqui entre todos esses scripts, eu vou fazer Controle C. Então eu vou girar um pouco para fora, e eu vou fazer o controle v uma vez. Duas, três vezes e quatro vezes. Então, temos cinco desses no total. Então agora vamos precisar de nós de evento para a capacidade do botão sobre o pairar para 345, et cetera. Então vamos trazer todos esses eventos aqui. Então, há a capacidade de botão para quando estamos em pairar. E mais uma vez, isso é irritante. Ele vai soltar esses nós de evento em algum lugar aleatório. Então, pairando, mas uma habilidade para, o que queremos fazer? Queremos mostrar entrada, capacidade de entrada, para mostrar capacidade
de entrada para na animação que queremos mostrar é botão de habilidade também. Então você tem que se certificar de sobre O2, capacidade
de entrada, O2, botão de habilidade NO2, e índice de habilidade selecionado. Queremos ser o número dois. Aqui em baixo. Você vai querer ter o botão de habilidade três como seu anime para tocar. A entrada a mostrar será a capacidade de entrada três. Vamos mudar nosso índice de habilidade selecionado 23. E eu acho que você está pegando o jeito disso. E, claro, a animação que queremos, ou desculpe, o evento que queremos fazer para o nosso On hover
vai ser a habilidade Button três. Em pairar. Vamos arrastar isto para a posição. Como assim. Então 030303, índice de habilidade selecionado de três. É muito fácil perder algo aqui, então certifique-se de que todos os seus números são iguais. Vamos fazer a habilidade Button para on hover e conecte isso também. Tempos emocionantes de fato aqui caras, eu vou mudar meu índice de habilidade selecionado para quatro. Vamos encontrar nosso botão de animação para soltar isso aí. Eu amo apenas deixar cair isso nos pinos, a propósito, em nossa capacidade de entrada, 04, isso é o que queremos mostrar aqui. E então, por último, vai ser a capacidade de entrada cinco indo bem aqui. Mudança são selecionados índice de habilidade aqui para cinco. Vamos encontrar o nosso botão de habilidade. Cinco pairaram para plug-in aqui em baixo. E, em seguida, rir e Alise nossa habilidade botão cinco, nós temos que obter o on hover evento disparando para isso. E colocando isso bem aqui. Então nós temos todos esses plugins que podem ser um bom momento para verificar novamente o seu trabalho para ter
certeza de que você tem os números certos para todas essas entradas. E você está definindo sua variável aqui para ser o que eles deveriam ser. Vou clicar com o botão esquerdo e arrastar tudo isso. Clique com o botão esquerdo do mouse, toque nesse CQI. Vai levar-me a dar um nome a isto. Então eu vou clicar na minha caixa de comentários aqui e eu vou chamar essa habilidade em pairar. Vou colorir este preto imediatamente. E então vamos compilar. Bons scripts R são bons para ir. Vou salvar aqui. Agora, quando eu jogar, você vai notar um problema. Tudo bem, vou tocar numa chave. Agora temos nossa habilidade padrão que está selecionada aqui. Agora, quando eu passar o mouse sobre o resto desses, eles aparecem, tudo bem, e eles exibem a informação certa. E eu acho que você já pode ver o que está acontecendo errado é que eles não recuam agora. Todos eles simplesmente saem. Mas quando eu pairo sobre
ele, ele não volta. Não se preocupe. Vamos abordar isso no próximo vídeo. Então, trabalho bem feito com esses caras. Veremos vocês no próximo, onde
abordaremos a descoberta de nossos botões de habilidade. Vejo você lá.
50. Script de botão Unhover: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar algum script para lidar com o que acontece cada botão de habilidade quando o descobrimos. O que queremos que ocorra aqui é que queremos que nossos botões de habilidade
revertam sua animação, bem como ocultem esse botão de entrada. Você pode ver que atualmente eu tenho a habilidade do canhão de mão selecionada aqui ou selecionada por padrão, eu devo dizer, e que um botão está mostrando que queremos ser capazes de esconder isso. Agora, surpreendentemente, nós não vamos usar o evento desfazer hover associado a cada botão widget aqui. Em vez disso, vamos criar um Evento Personalizado singular e usá-lo para
impulsionar todos os efeitos da ONU que queremos que aconteça. E novamente, como aparecemos no último vídeo atualmente, o problema é que quando passamos o mouse sobre qualquer um desses botões de habilidade,
sim, eles deslizam para fora. Tudo bem, mas eles nunca deslizam para trás. Na verdade, eles só vão fazer essa coisa se eu continuar pairando sobre eles, isso não é bom. Queremos que eles sejam capazes de deslizar para trás quando os descobrirmos. Isso é para não estar pairando o cursor do mouse sobre eles. Certo, então vamos sair daqui e começar o caminho para fazer exatamente isso. Ok, aqui estamos nós na nossa UI personagem W BP. E novamente, se você se perdeu ao longo do caminho, você pode encontrar esse recurso dentro de sua interface do personagem de conteúdo, pasta
widgets, clique duas vezes sobre isso, DEUS abriu. Nós vamos trabalhar não em nossa guia designer, mas em nossa guia gráfico. Agora, basta deslizar o mouse para trás e, em seguida, clicar com o botão direito do mouse. Vou chegar a algum espaço vazio aqui no nosso Gráfico de Eventos ao lado de onde temos a habilidade em pairar. Agora, novamente, o que fizemos no último vídeo foi para nossos diferentes botões de habilidade. Temos uma habilidade de botão ou uma, por exemplo, se você selecionar isso em sua lista de variáveis. E novamente, nossos botões, nossas variáveis, nós temos esses diferentes eventos associados a eles,
no último vídeo, nós fizemos uso desses em eventos hover. Você pode ver em pairar nós podemos ver aquele evento ali mesmo é aquele cara ali. Agora há um para descobrir e nós poderíamos ir por esse caminho, mas há apenas outro método que eu quero mostrar a vocês como podemos fazer isso. E, de fato, eu gosto disso um pouco mais para nossos efeitos de descoberta. Então eu vou clicar com o botão direito do mouse sobre este lado aqui um pouco. E eu vou começar criando um evento personalizado. Então clique com o botão direito e algum espaço vazio. E vamos fazer uma busca por um evento personalizado. E novamente, um evento personalizado é simplesmente um evento que você nomeia e, em seguida, você chama quando quiser. Então eu vou chamar essa nova habilidade selecionada. Ok? E a maneira como eu vou secar esses efeitos de descobrir é que
eu quero acessar nossa variável que temos feito muito uso. Aqui. É r índice de capacidade selecionado. Agora lembre-se que esta é uma variável que estamos usando para decidir qual índice específico vamos exibir. E quando estamos pairando sobre nossos botões diferentes estavam dizendo para mostrar que a habilidade selecionada e que está dirigindo um monte de nossas propriedades vinculadas para mostrar certas propriedades para nossas habilidades. Certo, então temos nosso índice de habilidade selecionado. Vou arrastar e soltar isso no nosso ano gráfico. Arraste com o botão esquerdo do mouse. Eu vou buscá-lo. E então eu vou arrastar para fora deste índice de habilidade selecionado e fazer um switch no int, notado que é um switch no nó inteiro porque esta é uma variável inteira, vamos conectar isso imediatamente para que quando este evento acontece, nós vamos passar pelo nosso nó de comutação. Agora eu vou adicionar mais alguns pinos de saída aqui, 12345. E, na verdade, eu vou adicionar um sexto porque eu não quero que nada saia
desta saída 0 que eu estou executando são índice de habilidade selecionado entre 15 porque eu estou nomeando meus botões de habilidade 12345. Ok, então quando são selecionados, índice de habilidade é digamos um, o que queremos que aconteça? Bem, uma coisa que queremos que aconteça é que queremos que a nossa animação,
a nossa animação habilidade reverta a sua Reprodução atualmente, nossa animação de botão de habilidade está fazendo com que ela deslize para fora em habilidade em tamanho maior. Queremos reverter isso se estivermos descobrindo esse botão. Então o que vamos fazer é aqui em cima sob nossas animações, sob minhas variáveis de blueprint animações, vamos encontrar o botão de habilidade O1 pairar. Vamos arrastar e soltar esta informação, esta variável em nosso gráfico. E então eu vou arrastá-lo para fora daqui e digitar Play Animation. Esse cara aqui planeja animação. Agora você pode estar dizendo, bem, espere um minuto, nós não queremos tocar essa animação. Pensei que queríamos desfazer essa animação e fazemos. E para desfazer isso, jogá-lo em sentido inverso, nós simplesmente precisamos mudar o modo de jogo aqui é de frente para reverso. Tudo bem, então agora nós temos que ter certeza de que nós conectamos isso
assim, para que quando nosso índice de habilidade selecionado é um valor de um, ele será disparado aqui para dizer a nossa animação Botão 01 para reverter sua animação. Certo? Então isso é tudo bem e bom. Mas e quanto a esse botão ali? Estamos fazendo isso aparecer quando estamos pairando sobre ele, este botão, quando
descobrirmos, queremos que ele desapareça. Então aqui na nossa guia gráfico, temos que dizer para ir embora. E isso era conhecido como nosso botão de entrada. Então aqui está minha habilidade de entrada 01, que é correspondente a este cara aqui você pode ver a capacidade de entrada O1. Vou arrastar e soltar isso no nosso gráfico. Nós vamos conseguir isso. E então eu vou arrastar um fio para fora daqui e digitar a visibilidade do conjunto. Antes de torná-lo visível aqui, queremos definir a visibilidade para ser escondida, assim como agora, você pode ficar astuto como quiser organizar todos os seus nós aqui para torná-los todos bonitos e arrumados. Eu só vou escondê-los, algo assim. Então você pode ver como fizemos isso agora para quando,
quando são selecionados índice de habilidade. É o número um aqui. Então, para fazer isso para 2345, etc., é simplesmente uma questão de copiar e colar todos esses nós e, em seguida, encaixar na animação adequada e o botão de capacidade de entrada adequado lá. Tão simples, temos todos esses realçados, clique com o botão esquerdo e arraste. Vamos fazer o Controle C. E agora vou mover esses para cima assim. E eu vou fazer o controle V para colar. Deixe-me tentar de novo. Um controle C para copiar, controle V para colar. Lá estão eles. E eu só tenho que excluir esses conhecimentos,
não o botão de habilidade um e a habilidade de entrada um. Mas eu quero fazer a capacidade de entrada para ir lá. E botão de habilidade para animação vai lá. Então você pode ver como nós vamos fazer isso no final da linha. Então eu acho que isso é bastante auto-explicativo neste momento. Então, apenas trazendo essa entrevista toda, você vai estar fazendo isso de novo para 345. Então eu vou pausar o vídeo aqui. Faça isso do seu lado e então eu vou me juntar a você aqui em um momento. Ok? E quando você terminar com tudo isso, isto é o que deve parecer a partir de uma vista de 10 mil pés. Agora garante que para cada um
desses Reproduzir Animação e definir nós de função de visibilidade que você tem, as coisas apropriadas conectadas a ele para suas animações de reprodução, você deve ter suas variáveis de animação encaixadas nele e certificar-se se você estiver saindo das três saídas do interruptor que você tem o seu 03, sua animação 03 conectado. E para sua visibilidade de conjunto, certifique-se de que você tem capacidade de entrada O3 conectado lá. Eu tinha a habilidade do ícone dentro um momento atrás e eu peguei esse erro. Então certifique-se de que você tem todos eles encaixados apropriadamente. Novamente, os quatro resultados associados com o 0 para animação e o 0 para a imagem de capacidade de entrada. E a saída 0-5 sendo associada com a animação de habilidade 05 e o ícone de capacidade de entrada 0-5 lá. Tudo bem, agora com isso, vamos clicar com o botão esquerdo e arrastar e colocar uma caixa de comentário em torno de tudo isso tocando na tecla C. É assim que você pode adicionar uma caixa de comentários em torno disso. E eu vou chamar este botão habilidade hover FX. E eu vou colorir esta caixa de comentários. Chegando caixa são ótimos para manter notas organizadas. - Preto. E só uma dica rápida aqui. Se você tem sua caixa de comentários em torno de todos os seus nós, então eu vou apenas arrastar isso para fora um pouco para garantir que ele está em torno de todos esses nós. Você pode realmente mover este bloco inteiro de nós
clicando em sua caixa de comentários e movê-lo ao redor como um pequeno truque tão útil. E isso porque com a nossa caixa de comentários selecionada são movido modo é movimento grupo. Se isso foi definido para apenas comentar, você pode ver como eu poderia apenas mover a caixa de comentário em si, mas não todos os nós dentro. Então eu gosto de deixar isso em modo de movimento, movimentos de
grupo para que eu possa me mover em torno minhas caixas de comentários e deixar meu evento gráfico aqui, olhando todo agradável e arrumado. Ok, então agora isto está tudo bem, mas este guião está a fazer nada. Não está fazendo nada porque nunca estamos chamando esta nova habilidade selecionada para acontecer. Então agora vamos mudar isso e realmente chamar esse evento personalizado para acontecer em nosso script de pairar, nosso botão, nossa habilidade no script pairar. E a maneira como eu faço isso, eu vou fazer isso é eu vou encaixar a chamada desse evento personalizado para estar bem aqui. E é muito importante que nós encaixamos logo depois de passarmos o mouse
porque depois estamos mudando o índice de habilidade selecionado. Antes. Antes de alterarmos nosso índice de habilidades selecionado, queremos ter certeza de que estamos olhando para o que era o nosso antigo índice de habilidades selecionado para que possamos descobrir esse botão específico. Portanto, o momento que encaixamos esta chamada do nosso Evento Personalizado é muito importante. Queremos encaixá-lo bem aqui. Vou clicar com o botão direito do mouse e uma habilidade de digitação no espaço vazio. E aqui está minha nova habilidade selecionada é chamar esse evento personalizado. Isso é o que chamamos de nosso evento personalizado. Vamos ligar isto assim. E eu vou apenas fazer o controle C, controle V. Nós vamos colar isso
também também para todos esses. E novamente, o momento disso é muito importante. Queremos chamar essa nova habilidade selecionada para fazer isso e passar o
efeito antes de alterar o índice de habilidade selecionado. Se você quiser tentar colocar isso depois só para ver o que aconteceria, você seria meu convidado, mas no interesse do tempo, eu vou pular de mostrar a você esse erro. Ok, então agora com todo esse conjunto, eu vou compilar aqui e salvar, e vamos dar uma jogada. Isto ainda não vai ser perfeito, mas vai ser muito melhor. Ok, eu vou tocar este 0x0. Existe a nossa habilidade selecionada padrão. Agora, quando eu passar o mouse sobre esse cara, tudo bem, nós vemos aquele pequeno botão de entrada lá aparecer agora deixe-me pairar de volta sobre esse cara. Tudo bem, isso voltou. Tínhamos uma durabilidade profana lá. Está bem. Você pode ver como isso parece estar funcionando adequadamente agora você pode ter notado um erro rápido lá. E isso é quando nós simplesmente passamos o mouse sobre uma nova habilidade, tudo tipo de vai bem suave. No entanto, se eu passar o mouse fora disso e, em seguida, mouse de volta sobre
ele, ele meio que faz aquele estranho efeito estourar. E não queremos que isso aconteça. Então, o que podemos fazer para resolver isso? Bem, podemos adicionar um pouco mais de script e podemos adicioná-lo antes desta nova habilidade selecionada. Então é isso que vamos fazer. Vou clicar com o botão esquerdo, ampliar aqui, clicar botão esquerdo e arrastar em torno de todos esses nós. Eu vou deslizar estes sobre porque eu vou colocar em um pouco mais de script apenas para evitar esse erro. Então, eis o que vamos fazer. Depois de passar o mouse sobre o botão de habilidade, vamos ver qual foi o nosso índice de habilidade selecionado. Este tipo aqui, vamos arrastar e largar isto no gráfico. Novamente, se eu manter pressionado o controle enquanto eu clicar com o botão esquerdo, eu posso obter um getter imediatamente. Então o que eu vou fazer é eu vou fazer isso. E eu vou fazer uma busca por “não”. Igual. Estou à procura de um número inteiro não igual. E eu quero descobrir se esse índice em particular não é igual a um. Porque esta é a habilidade do Button 1. Se não for igual a um, e eu vou me arrastar disso e trazer um galho. Opa, lá vamos nós. Eu vou colocar isso no lugar ranhura nesta execução onde dentro da filial. Então, se nosso índice de habilidade selecionado não é igual a um, isso significa que pode ser dois,
pode ser três pode ser quatro, etc. Então vamos pedir que tudo isso aconteça. Caso contrário, se já for igual a um, não
faremos nada aqui porque já foi selecionado. Então deixe-me mostrar e demonstrar apenas com a nossa habilidade, um botão o que vai acontecer com este pouco de script? Coloque e vamos compilar isso, certifique-se
de que está tudo bem para ir. Vamos jogar. Toque na tecla para que já possamos ver que isso está aqui fora agora assista, veja quando eu mouse fora disso e de volta, ele não está fazendo aquele pequeno efeito estourando, enquanto este 12345 vai fazer isso. Então deixe-me pairar sobre isso. Deixe-me voltar atrás, ver como está fazendo essa estranheza, certo? Então encaixe este pequeno pedaço de script no botão de habilidade 2345, etc. No entanto, a única mudança que você vai fazer, eu vou fazer o controle C e o controle V. Mova todos estes para baixo, é que você vai querer mudar este valor aqui mesmo. Então, em vez de ver se não é igual, esse é o sinal para não igual a um. Nós vamos dizer não igual a dois para o botão de habilidade dois e aqui em baixo, controle v, eu vou colar isso e dizer que isso não é igual a três. Se isso for verdade. E aqui em baixo, o controle V não é igual a quatro. Estamos basicamente perguntando, é algo mais além do que já selecionamos? Porque se realmente não
escolhemos, não queremos mudar nada. Não é igual a cinco. Tudo bem? E a partir de uma visão de 1.000 pés de novo, whoops, tenho que ter certeza de que isso é encaixado dentro de uma visão de 1.000 pés. Isso é essencialmente o que nosso roteiro aqui vai parecer para o pairar agora. E vamos fazer mais um playtest que vou compilar e salvar. Deixe-me ampliar um pouco para o caso de você querer pausar o vídeo aqui e apenas verificar novamente. E vamos jogar e fazer um teste aqui. Batendo no tipo. Tudo bem. Tudo está parecendo bem inchado na ação. Todos os direitos que temos são descobrir efeitos para nossa habilidade. Todos os botões se endireitaram e até revisamos nossa habilidade em passar o mouse FX. Pessoal, isso vai fazer tudo por este. Vemo-nos na próxima rodada.
51. Script de voz Capacidade: De um vídeo bônus aqui como este realmente não tem muito a ver com Widget Blueprint maestria. No entanto, pensei que seria divertido mostrar como poderíamos usar eventos associados com nossos botões de habilidade aqui para fazer nossa interface de usuário se sentir um pouco mais viva. Então o que vamos fazer é fazer com que uma voz sobre linha toque
sempre que clicarmos em uma de nossas habilidades de cinco personagens. Então, quando eu vou assim,
assim, quando eu realmente clicar neles, nós ouvimos nosso personagem apenas sair de alguma linha. Isso vai ser legal, certo? Então vamos fazer essa coisa. Vou fugir daqui para fora. Vamos saltar para o nosso personagem WPP UI. E novamente, se você não se lembra onde isso mora no seu navegador de conteúdo, aqui está o conteúdo do diretório widgets da interface do usuário clique duas vezes sobre esse cara. E dentro de nossa UI personagem WPP, vamos passar para a guia gráfico. Agora, novamente, queremos que algo aconteça quando
clicarmos nesses cinco botões diferentes de habilidade. Então nós vamos encontrar algum novo espaço aqui em nosso gráfico de eventos. Então vou clicar com o botão direito do mouse e arrastar. Vamos colocar isso para a direita do nosso botão de habilidade paira. Pira. Ok, e novamente, aqui estão nossos cinco botões de habilidade diferentes aqui na seção Minhas Variáveis de Plano. E novamente, com cada botão, você tem eventos diferentes que você pode colocar um nó de evento quatro em seu gráfico de eventos. Então eu vou começar com o botão de habilidade um ou botão habilidade O1. E queremos que algo aconteça quando clicarmos nisso. Então, com isso selecionado aqui no painel Detalhes, temos a capacidade de adicionar eventos onclick. Vou clicar neste botão mais. Agora ele vai colocar este caminho aqui e você sabe o que, ele vai continuar me pulando de volta aqui de novo e de novo. Então eu vou ficar aqui por um momento. E nós vamos adicionar todos esses cinco eventos e então eu vou movê-los para onde eu quiser. Então botão habilidade O2. Em seguida, vamos fazer alguma coisa. Quando clicarmos nesse botão, habilidade três, vou selecionar isso aqui e quero que algo aconteça quando clicarmos nisso. Então, clique no botão de adição. Mas uma habilidade para eu selecionar que quando clicarmos nisso,
queremos que um evento seja acionado. E a habilidade do botão cinco, quando selecionamos isso e
clicamos, queremos que algo aconteça. Então, há meus cinco nós de evento. Vou simplesmente diminuir o zoom, clicar com o botão esquerdo, arrastá-los para cá. Assim só porque é onde eu quero que eles morem. Tudo bem, a próxima coisa que vamos fazer é criar uma nova função aqui dentro da nossa interface do personagem WPP. Então, no painel Meu plano, vou rolar. E temos um monte de funções aqui que estão ligadas a widgets. No entanto, este vai ser apenas uma função que chamamos em nosso gráfico de eventos. Então eu vou rolar para cima, rolando para cima, rolando para cima. Vou puxar este painel para trás um pouco aqui onde diz “funções”. Vou clicar nesta função mais. Clicar sobre isso irá pedir-me para dar-lhe um nome. E vai abrir uma nova conta aqui. Então vamos chamar isso de algo diferente da nova função. Vou chamar-lhe “Voice over line”. Ok. E como já fizemos antes, vamos obter uma referência para o nosso jogo é assim e assim vindo para baixo sob a seção Variáveis do painel meus blueprints, vamos pegar nossa referência de instância de jogo bp, indo arrastar com o botão esquerdo do mouse e obtê-lo. E vamos arrastar para fora daqui para que agora possamos acessar a função de dados de caracteres get dentro obter dados de caracteres. Mais uma vez, esta função vive dentro da nossa instância do jogo. E por termos uma referência à nossa incidência de jogo, podemos chamar essa função para acontecer. Agora, o que queremos fazer com nossos dados de caracteres? Bem, queremos extrair alguns dados que vivem em nossa habilidade 12345. Agora, nossa habilidade 12345 atualmente, esta é do tipo de estrutura de habilidade de caractere STR. Agora, novamente, o que fizemos foi no início do curso, nós criamos uma estrutura. Deixe-me apenas apoiar as coisas aqui em cima. Vindo sob nossa pasta de dados, criamos uma estrutura para cada uma de nossas habilidades de personagem. Isso manteria todas as informações sobre cada uma de nossas diferentes habilidades de personagem. Clicando duas vezes sobre isso, colocamos em coisas como o nome, a descrição do ícone, et cetera, et cetera. Uma das coisas que adicionamos foi a linha de viola incapacidade. E aqui isto é da variedade de sons. Isso é essencialmente um tipo de arquivo de som. E o que fizemos então foi na nossa estrutura de dados de caráter. Deslocando até aqui, atribuímos cada uma de nossas habilidades a esta estrutura de habilidades de personagem. Então, cada uma de nossas habilidades aqui
tem, tem essa informação dentro dela. Então colocamos uma estrutura, acesso a uma estrutura dentro de outra estrutura. Bastante inteligente. A, há uma linha VO habilidade. Agora nós não queremos encaixar isso aqui porque lembre-se, quando criamos nossa tabela de dados são data.table teve que ser criado usando uma determinada estrutura. E aqui está minha tabela de dados, minha lista de personagens cheia que eu importei. E novamente, aqui é onde ele vive em nosso navegador de conteúdo. Se você abrir sua lista de personagens e selecionar qualquer uma de suas linhas. E, atualmente, tenho minha linha de Regressados selecionada. Novamente, nossa tabela de dados é estruturada usando nossos dados de caracteres de estrutura como todas as diferentes colunas que vemos de dados, escolher afinidades completas nível, etc. E se entrarmos na seção de habilidades, vamos ver o que temos para habilidades de remanência. Ability O2 está aberto aqui. E podemos ver que já temos incapacidade linha V O entalhado aqui. Eu fiz isso quando criei esta tabela de dados. Então você pode encaixar qualquer arquivo de som aqui, qualquer fila de som que irá direto aqui. E você pode trocar isso clicando aqui. E está à procura de um recurso conhecido como sinal de som. Então você pode encaixar em qualquer coisa que você quiser aqui. Você não precisa deixar o que eu tenho por padrão agora novamente, todas essas habilidades já têm essa predefinição na minha lista de personagens cheia. Então, voltando ao personagem WPP UI, queremos acessar esse arquivo de som. Então o que podemos fazer aqui é arrastar para fora da habilidade ou uma, podemos quebrar essa estrutura. Porque novamente, essa capacidade de caractere estrutura contém muitas informações. Então vamos separá-lo. Clique nesta pequena seta suspensa e há minha linha VO que eu quero acessar. Agora o que eu preciso fazer é conectar isso em um nó de retorno. Ainda não temos um nó de retorno aqui,
então vamos clicar com o botão direito do mouse e digitar em retorno. Vamos adicionar um nó de retorno. E eu vou conectar este fio de execução nele imediatamente porque isso é muito crítico. E agora o que eu preciso fazer aqui é adicionar algumas saídas a esses nós de retorno. Então, com este nó retornado selecionado, eu vou levantar meu painel de detalhes aqui e adicionar algumas saídas. Agora isso pode ser feito simplesmente clicando neste botão mais ao lado das saídas. Clicando nisso, vou chamar isso de habilidade V0 01. E eu quero mudar o tipo aqui para ser um som, porque eu vou digitar na fila de som. E vai cortá-la para baixo. Estou procurando a referência do objeto do sinal de som. Agora isso não é erro porque quando eu criei esta estrutura, esta estrutura de habilidade de personagem aqui atrás, eu fiz nossa habilidade linha V O aqui B da variedade de sinais sonoros. Esse é o tipo de variável. Você é uma referência de objeto de sinalização de som. Então, vindo sob o meu personagem WPP UI, você pode ver agora este nó de retorno está procurando uma referência de objeto de sinalização de som. E quando quebramos nossa capacidade de
alcançar dentro da estrutura que criamos para isso. Esta é uma referência de objeto de sinalização de som. assim que eu soube criar uma saída com um sinal de som. Tudo bem, precisamos adicionar mais quatro saídas aqui. Então eu vou clicar no botão de mais aqui. E porque nossa primeira saída foi da variedade de sons, a segunda será, eu vou clicar nisso mais algumas vezes. Ele sempre coloca qualquer coisa que a última coisa que você criou foi como seu tipo de variável. E agora vou simplesmente clicar com o botão esquerdo. Eu vou copiar este controle de texto C, controle V. A única coisa que eu vou fazer é mudar o número aqui para
ser a habilidade VO2, controle v. Isso vai ser 03, controle V para colar sobre isso. Isso vai ser 0 para e Control-V, e isso vai ser 05. Então. Agora eu precisava simplesmente separar o resto
dessas habilidades arrastando para fora, vamos quebrar. Vamos expandir isto. E para poder, queríamos descobrir qual é a linha de viola associada isso e conectá-la ao nosso nó de retorno. E você pode ver como vamos continuar fazendo isso pela habilidade 345, etc. Então eu vou apenas copiar esta quebra de nossa habilidade de estrutura aqui, controle C. E eu vou diminuir o zoom e eu vou fazer o Controle V uma vez. E eu vou ligar a habilidade três aqui. Vamos pegar nossa linha VO e ligar isso na habilidade três. Vou colá-lo de novo. E só para me mover, eu vou meio que mover esses nós para baixo enquanto eu estou meio que trabalhando. Então você pode ver tudo isso em vista. Vamos ligar isso na sua capacidade através da linha vai para o nosso nó de retorno. E mais uma vez, Controlo-V. Traga esse cara para baixo. Vou reorganizar isso um pouco mais tarde. Vamos chegar dentro da habilidade ou cinco, descobrir qual é a linha VO associada com aquele V0 abreviação de voz. E conecte-o ao nosso retorno um nó lá. Então essa é uma espécie de nossas vistas de 10 mil pés, eu gostaria de dizer para esta função em particular. Como assim. Então temos uma função aqui. Então agora nós realmente temos que fazer uso desta função em nosso gráfico de eventos. Então isso vai ser bem simples. Vamos voltar ao nosso gráfico de eventos. E ao lado de cada um de nossos cinco eventos onclick, precisamos simplesmente arrastar em nossa função onde ele é nossa função aqui. Aí está, pegue a linha de narração. Vamos arrastar e largar isso aqui. E parece que não dei o nome a isso. Eu pensei. Quero dizer, aqueles muito bem. Oh, eu vejo. Está bem. Esta é uma boa lição para todos nós. Veja, olhe para minhas saídas aqui para obter Voice over line para nossas funções aqui. No entanto, se eu entrar na minha função, parece que eu definitivamente renomeei esses. Ok, mas se eu compilar aqui em segurança e voltar para o meu gráfico de eventos, isso ainda não foi atualizado. Bem, outra coisa que podemos tentar aqui é clicar com o botão direito do mouse neste nó. Podemos ir para atualizar o nó, aprendendo todos os tipos de coisas aqui. Lá vai você, basta atualizar a nota e essas serão todas as atualizações. Tudo bem, outra coisa que vale a pena apontar aqui, veja como esse nó de função está estruturado. Vemos alguns pinos de saída aqui. As saídas estão no lado direito do nó. Aqui, porém, em nossa própria função, parece que eles estão do lado esquerdo. Quando esta função é realmente criada. Novamente, você tem um nó de entrada, que é esse cara. E você tem um nó de saída, que é esse cara. Então essencialmente o que nossa função consiste é se você tipo de como apenas arrastar uma caixa em torno de tudo isso, que é essencialmente tipo do que nossa função consiste. O interior da minha linha pontilhada, há o interior da função. No entanto, os pinos de saída em nossa função são tipo do lado direito da minha linha tracejada assim. Como você vê aqui no gráfico de eventos. Então, espero que isso faça um pouco de sentido. Então eu vou ligar tudo isso para quando nós clicarmos, nós vamos ter nossa voz sobreposta agora não é o suficiente para obtê-lo. Precisamos de nos alistar. Então, a maneira como podemos tocar este som é arrastar um fio para fora da nossa habilidade vitela um. E eu vou fazer uma busca por um som de reprodução para d nó. Agora, um som 2D significa que não está localizado. Não vai parecer que está a dez metros de distância ou a 100 metros de distância. Só vai dispará-lo. Agora, nós simplesmente precisamos fazer isso para todos os nossos outros eventos onclick. Então eu vou controlar C, controle V. E a única coisa que eu vou mudar aqui é que aqui em baixo, eu quero que isso seja conectado à habilidade VO2 porque nós estamos clicando em uma habilidade de botão para. Então eu vou manter pressionado o controle, clique com o botão esquerdo e arrastá-lo para o O2. Então eu vou controlar V aqui e fazer o mesmo. Mantendo o controle pressionado. Clique com o botão esquerdo, vamos ligar isso em 03, Controle V. mantendo pressionado o controle, conectando isso na habilidade V0 para, para a habilidade do botão para, e depois controlar V mais uma vez. E nós vamos fazer isso. Mantendo o botão esquerdo do controle pressionado, podemos remover este fio e colocá-lo assim. Vamos colocar uma caixa de comentários em torno disso rapidamente clicando com o botão esquerdo, arrastando, tocando que CQI e digitando habilidade v, o. E eu vou colorir este bloco de comentários preto imediatamente. E vamos compilar. Vamos salvar. E agora vamos dar uma jogada, momento da verdade. Tocando isso como, estamos atualmente em materiais. Vamos ver o que ela tem de voz sobre linha quando clicarmos nesta história. Agora, mais longe, tudo bem, parece funcionar para Mario. Vamos tentar com remanência. Tudo bem. Sim, e vamos tentar com o Sever OG. Tudo bem, muito legal mesmo. Então eu pensei que todos nós gostaríamos de passar por aquele pequeno vídeo bônus. Eles são caras que vão fazer tudo por isso. Vemo-nos na próxima.
52. Atributos: Bem-vindos amigos. Neste vídeo, nosso objetivo é começar a definir a guia de atributos de nossa interface de usuário de personagem. Agora, minha intenção com esta aba é
mostrar o maior número possível de widgets diferentes para que você possa ter uma idéia de todas as coisas que você pode fazer ao criar uma tela de menu de qualquer tipo ou uma interface de usuário de personagem, neste caso, neste vídeo, nosso objetivo é simplesmente definir os widgets básicos para toda essa área de atributos. Porque nós temos um monte de passos diferentes aqui que nós
vamos dar para concretizar isso na íntegra. Agora, eu estou atualmente na versão preliminar deste projeto que eu
criei antes do tempo em preparação para montar este curso. Então, eu só estou dando uma olhada no que estamos prestes a criar aqui. Agora, antes de entrarmos em nossa versão do projeto, vamos falar um pouco sobre os diferentes tipos de
elementos com os quais você pode interagir em uma interface de usuário. Então, o que temos aqui é um campo Nome editável de tipos. Então, se você quiser mudar o nome do nosso personagem para algo como super cara, de cara, o super cara. Você tem algo como caixas de seleção. Muitas telas de menu têm a capacidade de ligar e desligar algo. Então este é um booleano simples, você sabe, booleano verdadeiro ou falso, ligado ou desligado. Então, neste caso, eu estou usando para desligar, para desativar este controle deslizante de velocidade de movimento automático. Como se eu não pudesse ativá-lo uma vez que é desativado. Uma vez que ele é ativado, porém, eu tenho acesso a este widget controle deslizante que você
possa alterar o valor de um número com um widgets deslizante. Então imagine que você poderia usar isso para algo como, eu não sei, mudar o nível de volume em seu jogo. Vamos usá-lo para ajustar a velocidade de movimento dos personagens. Esta é uma barra de progresso semelhante à nossa barra XP. Aqui em cima. Abaixo, temos a saúde regenerar e estamos usando algo chamado widget de caixa giratória. Isso nos permite clicar com o botão esquerdo e arrastar e você pode incrementar o valor que está presente neste campo com base nos valores que você tampá-lo para. Agora eu posso configurá-lo para dez como um máximo, por exemplo. E podemos especificar o intervalo em que esta caixa de rotação representa. Também temos um menu suspenso que podemos clicar e definir algo aqui. Então, neste caso, vamos usá-lo para selecionar uma provocação. Muito bom, certo? Você poderia usar isso para, eu não sei, escolher um personagem é uma arma padrão ou algo assim. Também temos botões aqui que vamos ser capazes de selecionar dois neste caso, basta mudar nossa cor de fundo porque isso é muito visual e fácil de entender. E você deve ter notado que enquanto eu rato para cima e para baixo aqui nós temos uma caixa de rolagem. Agora eu sei que eu poderia ter estendido isso todo o caminho baixo, a fim de encaixar todos esses atributos aqui. Mas eu queria tipo de encolhi-lo aqui só para mostrar que podemos usar algo conhecido como um widget de caixa de rolagem para rolar em nossa tela como zona deste projeto para que possamos começar a definir nossa área de atributos. Tudo bem, então aqui estamos de volta em nosso projeto de interface do personagem. E como de costume, Aqui estamos em nossa pasta widgets personagem conteúdo UI. Clique duas vezes na interface do usuário do caractere WPP para abrir isso. E nós vamos estar fazendo todo
o nosso trabalho aqui na guia Designer antes do tempo aqui eu recolho todos esses triângulos aqui em nossa hierarquia apenas para tornar isso um pouco mais gerenciável para trabalhar com. E atualmente eu tenho meu switcher de widget selecionado e eu
vou voltar a falar sobre o switch widget ou aqui em apenas um momento. Agora note que quando eu tenho minhas habilidades no painel de tela, aquela em que estávamos trabalhando em alguns vídeos atrás. Se eu tiver isso selecionado, isso é o que eu vejo aqui no meu designer, área de designer
visual, minha guia Designer, entanto, se eu selecionar atributos do painel de tela, repente parece que tudo o que eu trabalhei em minhas habilidades apenas vai embora. No entanto, se eu clicar no botão play aqui e, em seguida, tocar na tecla E para trazer nossa interface de usuário de personagem. Nós vemos nossas habilidades. Então, o que está acontecendo aqui? Explique esse comportamento. Bem, dependendo do que selecionamos ano, vai mostrar isso no nosso designer visual. Então, se eu tiver a habilidade do painel de tela selecionada, ele mostrará que se eu tiver atributos do painel de tela selecionados, ele mostrará o que eu tenho dentro de lá, que atualmente não é nada. Se eu tiver algo dentro da minha habilidade do painel de tela selecionada, como o plano de fundo da capacidade de imagem. Ele vai mostrar tudo naquele painel de tela. E se eu tiver o switcher de widget selecionado, ele vai selecionar e mostrar o índice de widget ativo é. Lembrem-se que isto é importante. Aqui estão o índice do widget ativo. Isto é o que vai mostrar por padrão quando eu clicar em jogar. Agora, porque isso mostra um 0, ele vai mostrar o primeiro widget que é anexado sob o switcher de widget, que é anexado ao switcher de widget. Então, neste caso, as habilidades do painel de tela é considerado índice de widget ativo de 0. Se eu fosse definir isso para um, veja o que acontece agora. De repente, parece que foi tchau-tchau. Novamente. Quando tivermos o switcher de widgets selecionado, ele mostrará qualquer que seja o índice ativo do widget. Neste caso é índice de um. O acima é índice de 0. Os atributos do painel Canvas são o índice de um. E se eu clicar em jogar aqui, agora se eu tocar que como, Nós vamos ver nada, porque novamente, não
temos nada definido em nosso painel de atributos tela. Tudo bem, então é bom saber. Eu vou deixar isso como índice de widget ativo de um porque nós vamos estar construindo nossos atributos de painel de tela. E nós vamos começar colocando uma caixa de rolagem dentro de nosso painel de tela aqui porque queremos ser capazes de rolar para cima e para
baixo para ver todos os nossos atributos diferentes. Então, sob o painel de paleta, vamos procurar uma caixa de rolagem. Há um. E como você pode ver lá a dica de ferramenta, ele diz, ótimo para apresentar dez a 100 widgets analistas. Agora, vamos com perto de dez. Não tenho certeza do número exato de centenas. Um pouco louco, mas claro. Vou clicar com o botão esquerdo do mouse e arrastar isso no topo de nossos atributos do painel de tela assim. E então eu vou selecionar isso porque eu tenho alguns detalhes que eu preciso definir para isso. Vou deixar o nome em paz porque será a única caixa de pergaminho. O ponto de ancoragem para isso está definido no canto superior esquerdo. Agora, de novo, isto é. Defina para os atributos do painel de tela. É considerado o ponto de ancoragem superior esquerdo e está ancorado em nosso painel de tela. Certo, próximo e defina o tamanho para isso. Então eu vou definir o tamanho para ser tamanho x vai ser 1100. E não é engano. Eu escolhi este número porque 1100 é o número exato de pixels em quatro são nosso cabeçalho categorias aqui. E você pode ver, a propósito, há um pouco de uma régua na parte superior aqui para mostrar quantos pixels ao longo versus pixels para baixo. Novamente, estamos fazendo 1920 por 1080. É uma proporção de 16 por 9. Certo, tamanho Y, vou definir para ser 600. Agora, se eu estivesse realmente projetando isso, não para fins acadêmicos, eu estenderia essa caixa até o fim. Quem eu quiser deixar esta caixa um pouco curto aqui apenas para torná-lo para que a nossa lista de atributos
diferentes vai fluir para fora do fundo para
que possamos ver um pouco desse comportamento de rolagem. Agora, eu quero mostrar como podemos definir a espessura da barra de rolagem e algum preenchimento. Mas para fazer isso, preciso de algo dentro daqui. Então eu vou colocar alguns botões aqui muito rapidamente. Estes vão ser apenas espaço reservado para que eu possa demonstrá-lo. Podemos ver como serão as barras de rolagem. Então, eu só vou colocar alguns botões aqui. Um, e eu vou colocar um segundo aqui assim. Com o segundo, eu vou mudar o tamanho da imagem e o Y para ser
algo enorme para que ele flua para fora do fundo. Tudo bem, e ao fazer isso, agora porque ele está rolando para fora da parte inferior, podemos ver nossa barra de rolagem aparecer no lado direito. Agora, se eu rolar para baixo, deixe-me selecionar minha caixa de rolagem. E se eu rolar para baixo no painel Detalhes, podemos ver que temos algumas configurações diferentes que podemos definir para nossa barra de rolagem. Podemos definir a orientação para ser vertical ou
pode ser uma barra de rolagem horizontal se você assim escolher. Você tem visibilidade da barra de rolagem. Assim como nossa visibilidade de imagem, você pode configurá-la para ser visível ou oculta, etc. Agora, esta espessura da barra de rolagem é a única que vai nos preocupar
agora eu vou definir a espessura da barra de rolagem para ser um pouco mais espessa no x, eu vou defini-lo para ser 15. E você viu isso engordado lá em cima um pouco. E o y, eu só vou definir que seja 0, não vou ver nenhuma mudança visível com isso. O preenchimento da barra de rolagem, eu vou definir que seja 0 no início. E eu vou apertar Enter e apenas ver como eu mudar é tudo 0. O que acontece? Agora você pode ver que não há preenchimento entre os botões e a barra de rolagem. E agora eu vou colocar um pouco de estofamento ao longo do lado esquerdo para ser 15. Então eu só quero ter um pouco de espaço lá entre minha barra de rolagem e qualquer coisa que esteja tentando empurrar contra ela. Agora, eu sempre gosto de ver a barra de rolagem. Então nós temos esta caixa de seleção aqui tem graça, nós estávamos apenas falando sobre o uso de caixa de seleção no início deste vídeo. Sempre permitir são sempre mostrar barra de rolagem. Então eu vou dizer sim, eu quero ver isso também. Agora, novamente, há muitos outros parâmetros aqui. Eu não vou passar por todos eles, mas esses são os principais que eu vou verificar agora. Agora. Além disso, eu queria apontar enquanto estamos aqui porque eu não vou mexer com aqueles neste vídeo. Você tem uma seção de estilo para a sua barra de rolagem para que você possa expandir
isso e disse todos os tipos de coisas sobre o estilo da barra. Quero dizer, todos os tipos. Então, analise isso no seu lazer. Um monte de coisas que você pode ajustar sua, Tudo bem, eu vou fazer mais uma coisa antes de encerrar este vídeo, nós temos a base para o nosso painel de atributos aqui tudo no lugar. Primeiro, deixe-me apagar há dois botões aqui. Há algo que eu quero colocar aqui de verdade, e isso é um widget espaçador. Fazer uma busca por espaço estão aqui em cima. Vou arrastar e soltar isso aqui no meu painel de tela, na minha caixa de rolagem. E eu quero definir alguns detalhes para isso. Eu simplesmente vou mudar,
whoops, rolar para cima lá com nossos espaçadores selecionados. Vou me trocar no painel Detalhes. São y para ser um valor de 50? Assim que eu apertar Enter aqui, você vai notar que isso se expande um pouco. A razão pela qual estou adicionando este espaçador é simplesmente porque eu quero ter um pouco de espaço no topo aqui para todos os nossos atributos que eles não estão amarrados contra o topo da nossa caixa de rolagem. Tudo bem, com isso, simplesmente salvo, você não precisa compilar aqui se não fizemos nenhum script tudo, salvar é bom o suficiente. Isso vai começar com este. Temos o layout base de nossos atributos no lugar. Vamos continuar rolando no próximo, vamos adicionar um layout para o nosso nome. Vemo-nos lá.
53. Layout de nomes de atributo: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é adicionar uma caixa de texto que possamos editar, alterar o texto para alterar o nome do personagem. Agora, nós não vamos fazer tudo isso neste vídeo. Neste vídeo, nós simplesmente vamos
colocar isso para fora e, em seguida, para baixo a estrada nós vamos adicionar esse script para que quando nós realmente digitar algum texto novo para mudar o nome do personagem, ele vai acontecer. Então apenas o layout primeiro é o que estamos buscando aqui. Agora só para ter certeza de que estamos todos na mesma página. Mais uma vez, estamos na pasta widgets de interface do usuário de conteúdo, e estamos trabalhando dentro de caráter WEP. Você quer clicar duas vezes naquele cara para abrir. Agora, eu vou fazer algo muito rápido aqui por minha própria sanidade. Para mim, para o meu gosto, não
há contraste suficiente enquanto eu estou trabalhando aqui entre meu fundo e meus botões e algumas de minhas texturas todas muito brancas. Então eu vou selecionar meu widget de fundo de imagem aqui rapidamente. E na seção de aparência do painel Detalhes, vou mudar a cor e a opacidade para vermelho reto assim. Agora, isso é apenas o que eu vou ver quando eu estiver trabalhando aqui agora, receita, quando nós realmente jogamos o jogo, ele realmente tem um fundo avermelhado e isso
vai ser determinado por essa ligação colorida. Então só saiba que esta configuração vermelha que eu tenho aqui, ele vai ser substituído por esta função get color que temos ligado a isso para que o sever OG mostra verde, material, mostra branco, etc. Esta leitura é apenas para minha sanidade, só para tornar as coisas um pouco mais fáceis de ver aqui, eu gostaria de ver essa barra de rolagem e outras coisas. Ok, então precisamos adicionar uma caixa horizontal aqui dentro da caixa do crânio. Esse vai ser o primeiro atributo aqui que vamos colocar para fora. Então vamos encontrar uma caixa horizontal em nosso painel Palo. Caixa horizontal. E eu vou arrastar e soltar isso bem dentro da minha caixa de rolagem aqui
no designer visual porque nós não demonstramos isso o suficiente como você pode simplesmente arrastá-los e soltá-los aqui. Boom, solte o meu clique esquerdo. Lá está ele. Podemos ver em nossa hierarquia bem dentro de nossa caixa de rolagem porque ele é recuado mostrando que está dentro de nossa caixa de crânio. Vamos selecioná-lo. Acerte F2. Vou chamar esse sublinhado caixa H chamado. Isso vai ser um belo nome. Em seguida, vamos adicionar um widget de texto dentro de lá. Você pode encontrar um desses caras embaixo da seção comum de nossos painéis de paladar. Vamos arrastar e soltar isso em cima do nosso nome da caixa H assim. Boom, deve parecer um pouco recuado. Vou selecionar isso imediatamente e pressionar F2 para renomeá-lo. E eu vou chamar isso de simplesmente texto. Vou chamá-lo de texto, caráter, nome, costa. E no painel Detalhes irá enviar alguns detalhes para isso imediatamente. Vou mudar as mensagens imediatamente. Então não diz bloco de texto porque isso é irritante. Vamos simplesmente selecionar isso no painel Detalhes e chamá-lo, nomeá-lo. Vamos estilizá-lo imediatamente também. Então, sob a seção de aparência, eu vou mudar a fonte. Aqui é onde você pode realmente tomar algumas liberdades criativas, nos
faz o que você quiser. Mas se estás a brincar em casa, vou mudar a minha família de fontes para ser uma espécie de modelo. Vou mudar o tamanho para 30. Eu vou definir um pouco de um tamanho de contorno aqui. Eu gostaria de ter um pequeno esboço em torno do meu texto, então eu vou definir o tamanho do meu contorno para ser um. E lá você vê um pouco de um contorno preto é determinado por essa cor bem ali. Vamos adicionar uma sombra está bem, então eu vou adicionar uma sombra vermelha. E novamente, eu posso, eu posso ligar isso a uma cor se eu quiser, a fim de tornar este personagem específico. E de fato, mais tarde na estrada, eu posso fazer isso, mas não neste vídeo. Vou mudar a cor da minha sombra para ser vermelha. Então, sob o valor r, o valor vermelho, eu vou definir que seja um, significa que eu quero 100% lido, 0% verde, 0% azul. No entanto, não vemos nada ainda por algumas razões. Um é um valor aqui é, que significa valor alfa está atualmente definido como 0. O que significa que podemos ver 0% deste 0,5
significaria que podemos ver 50% dele e ver através de 50% dele. O que significa que podemos ver através dele um pouco. Vou definir isto para um, que
significa que é completamente opaco. Vamos vê-lo na íntegra agora ainda não podemos vê-lo porque
não temos o suficiente de um início de um deslocamento. Nós temos, nós temos uma configuração de contornos de um e atualmente nosso deslocamento de sombra é um também. Então vamos fazer isso um pouco mais extremo e definir nosso
deslocamento de sombra 23 no x e três no Y. Agora você pode ver um pouco de sombra lá também. Tudo bem, a próxima coisa que vamos fazer isso, que deve fazer tudo para o meu estilo aqui é que vamos adicionar um novo widget dentro de cada caixa ou caixa horizontal. Para isso, vamos procurar uma caixa de texto. Vamos apenas digitar a caixa de texto. E desta vez eu vou arrastar e soltá-lo aqui dentro da minha caixa horizontal, estamos procurando caixa de texto não multilinha caixa de texto. Então vamos arrastar e soltar. E atualmente mostra como esta pequena lasca de branco e está apertada contra o nosso nome, que não é o que eu quero aqui. Quero que isto esteja no extremo extremo direito da nossa Caixa Horizontal. Então, como posso fazer isso? Bem, no painel Detalhes, temos algumas configurações de tamanho que podemos ajustar para nos ajudar com isso. Antes de fazer isso, só
quero mudar o nome disto. Deseja alterar isso para ser o nome de sublinhado da caixa de texto comestível. Como assim. Então isso é apenas algo que vale a pena notar. Arrastei um widget de caixa de texto. Mas, em seguida, no painel Detalhes disse caixa de texto imediatamente editável. Agora isso não é para ser confuso onde se você escolher caixa de texto editável em sua pesquisa, deixe-me apenas digitar editável. Você verá algo que se parece com texto
editável e você pode erroneamente escolher que, neste caso, a caixa de texto é o que estamos procurando. E você pode ver a dica de ferramenta diz permite que o usuário digite textos personalizados. Isso é o que queremos para este. Tudo bem, então agora nós temos isso. Vamos voltar a falar sobre o nosso tamanho aqui. Atualmente ele definido
como auto e Como a dica de ferramenta diz aqui, ele só vai pedir é muito espaço conforme necessário com base no, sobre os widgets tamanho desejado quando ele é definido como auto. E atualmente o tamanho do widget é muito pequeno aqui porque não temos nenhum texto dentro daqui. Então o que eu vou fazer é para baixo na área de conteúdo, eu vou apenas digitar a palavra. Vou apenas digitar remanência, nosso nome atual de personagens, e você pode vê-lo preenchendo lá embaixo. E, na verdade, deixe-me mudar o tamanho da fonte imediatamente. Vou mudar o tamanho para 24. E com certeza eu vou mudar o estilo da fonte imediatamente. Vou mudar a família de fontes para ser um modelo. Vamos fazer o paragon fino. E você pode ver que ele só ocupa tanto espaço quanto é necessário. E isso é novamente, o que este tamanho faz aqui, é quando ele se ajusta para auto, ele só vai ocupar tanto espaço quanto necessário. Agora você pode estar dizendo, ok, isso é tudo bem e bom. Vamos apenas escrever alinhados horizontalmente para morrer e então ele vai ser todo o caminho até aqui. Mas se você tentar
isso, não vai fazer o que você pensa que é. qualquer momento este é configurado para auto novamente só vai
ocupar tanto espaço em nossa caixa horizontal aqui quanto ele precisa. Não importa como você está tentando alinhar horizontalmente isso. Então, o que você pode fazer? Bem, se você mudar isso agora para falhar, ele irá respeitar sua linha horizontal e configurações. Se você realmente quisesse isso no meio, você poderia colocá-lo no meio ou se você quiser que ele se justificasse, você poderia deixar justificado também. Quero que isto esteja certo, justificado, assim. E eu vou querer isso para todos os diferentes atributos que eu coloquei aqui em baixo. Agora vamos falar sobre esses campos aqui em baixo. Temos mensagens de texto e temos texto de dica. Ok, então texto dica é o que realmente queremos ver se
escrevermos em texto aqui ele está indo sobre direitos são dicas textos. E então, se eu fosse apenas digitar em alguns textos de dica, como costume, nome vai aqui e pressione enter. Ainda vai mostrar remanência. Agora, eu quero permitir que o usuário digite seus próprios textos personalizados aqui e dê a eles uma dica sobre o que eles poderiam colocar perto. Então deixe-me tocar rapidamente aqui e meio que mostrar a vocês o que temos até agora. Certo, vou tocar isso de novo agora mesmo vemos a palavra “ Revenant” e eu poderia digitar meu nome, mas isso é como se meu nome fosse realmente “Revenant “antes quando estávamos em milagres. Então isso é todo tipo de confusão e está mostrando isso de forma bastante proeminente agora, tipo de texto preto escuro. Muitas vezes ver neste tipo de cenário é apenas algum texto dica. Então eu vou deixar minha mensagem aqui em branco. Vou redefinir isso para o padrão. E você vê como está meio acinzentado lá atrás. O nome personalizado deles vai aqui. Agora, se eu fosse tocar isso e tocar
aquilo, é mais do que eu estou procurando. Você sabe, apenas uma dica para o usuário sobre o que você poderia colocar aqui. E, novamente, essa caixa será redimensionada automaticamente com base no texto que você colocar lá. Certo, acertando fuga para sair daqui. Agora, vamos falar sobre mais algumas coisas com a nossa caixa de texto. vez, há um monte de formatação que você pode fazer para sua caixa de texto aqui. Eu não vou mexer com nenhum desses, mas você pode ver,
você pode mudar o que isso parece
no estado normal quando você está pairando sobre ele com o mouse. E quando você está focado nele, você também tem algumas opções de coloração. E também eu queria falar sobre essas opções aqui é somente leitura, Ann é senha, é somente leitura, faz com que você não possa digitar texto. Ok, é senha vai fazer com que quando você realmente digitar caracteres, ele não vai exibi-los. Na verdade, vamos tentar isso. Vou verificar se é verdade. E nós vamos chutar clique Tocar a tecla E. E agora quando eu digitar aqui e eu estou tentando escrever meu nome agora a razão que ele está mostrando como esses caracteres ímpares é porque o estilo de fonte que eu estou escolhendo não reconhece esses caracteres que eu estou tentando, ou é, é que estou tentando digitar meu nome Greg, mas não está encontrando o estilo de personagem dentro do
meu estilo de fonte para mostrar os personagens falsos reais. Na verdade, deixe-me mostrar isso como Roberto, muito rapidamente Rubato, só para que você possa ver como isso seria. Muito bem, vou tentar escrever o meu nome. Greg, aí vai você. É tipo aqueles pontos, é o que deve parecer. Mas minha fonte escolhida, tipo, fonte fina
paragon não vai mostrar que está tudo bem porque eu não quero que isso seja uma senha, então eu vou marcar isso fora. Agora, a coisa realmente importante com este widget caixa de texto vem todo o caminho na parte inferior do painel Detalhes, e que são os eventos associados a isso. Então a maneira como isso funciona é que nós temos alguns eventos para quando nós mudamos os textos e quando nós enviamos os textos. Confirmar o texto é quando você clica em Enter depois de escrever em um nome. Então você poderia disparar alguns eventos e então nós podemos fazer algum script e fazê-lo realmente mudar este texto aqui em baixo. Então isso vai chegar mais tarde na linha. Mas, por enquanto, temos esse widget em particular no lugar, como queremos. Mais uma coisa antes de encerrarmos este vídeo. No último vídeo, nós adicionamos este widget espaçador aqui em cima. Eu quero adicionar outro espaçador apenas para que tenhamos algum espaço entre cada atributo que exibimos aqui. Então, na nossa hierarquia, vou simplesmente clicar com o botão direito do mouse no meu espaçador e vou duplicá-lo. No entanto, não está nos pontos certos. Quero arrastá-lo e soltá-lo aqui. Veja o que acontece quando eu faço. - Ele. Na verdade, coloque-o dentro da minha caixa horizontal de horror e
coloque-o à direita da minha caixa de texto, o que não é o que eu quero. Então eu vou arrastar e soltar isso em cima da minha caixa de rolagem. E você vai ver um tipo de aparecer de volta. Agora temos isto alinhado como queremos. Então temos espaçador, Caixa Horizontal, espaçador. E eu estou bem com as configurações espaçadoras como estão. Tudo bem, pessoal, isso vai fazer tudo por este vídeo, nos vemos no próximo.
54. Layout de movimento automático: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é continuar exibindo a seção de atributos de nossa interface do usuário de personagem. Neste, vamos apresentar o widget caixa de seleção. E, eventualmente, vamos fazer uso desse widget de caixa de seleção para determinar se nosso personagem do jogo pode se mover sozinho ou não. Locomota automática ou não. Este vai ser tudo sobre o layout embora do nosso atributo para essa caixa de seleção. Eventualmente, vamos fazer os scripts para isso. Certo, vamos nos certificar de que estamos na mesma página. Então, sob a guia de nível principal, ele vai ser o diretório usual que você está procurando e clique duas vezes em WPP personagem UI para abrir isso. Certo, precisamos de outra caixa horizontal aqui. Na verdade, precisamos de mais caixas horizontais aqui porque vamos adicionar uma variedade de atributos. Acho que temos oito no total, e todos eles vão fazer uso de uma caixa horizontal, exceto talvez uma delas. Bem, agora já construímos uma Caixa Horizontal e por que queremos continuar reinventando a roda? Então, eis o que vamos fazer. Vamos começar trapaceando um pouco antes mesmo de nos preocuparmos com um widget caixa de seleção, eu vou selecionar esta caixa horizontal para o nosso nome. Vou clicar com o botão direito. Vamos copiar isso. Então eu vou selecionar minha caixa de rolagem aqui em cima. E então eu vou clicar com o botão direito sobre isso e eu vou colá-lo. Boom, ele colocou outra caixa horizontal bem onde eu quero agora, obviamente eu preciso fazer algumas edições nisso. Então a primeira coisa que vou fazer é destruir esta caixa de texto editável. Eu não quero isso. Então, com isso selecionado, ele aperta excluir e isso vai ser tchau. Agora, antes de adicionar meu widget de caixa de seleção a
isso, isso é meio que no formato que eu quero adicionar mais caixas horizontais aqui dentro da minha caixa de rolagem porque novamente, eu vou estar adicionando mais atributos no caminho. Então deixe-me ir em frente e selecionar esta caixa horizontal. Tudo o que tem algum texto dentro dele. E vou apertar o controle C para copiá-lo. Ou você pode clicar com o botão direito e copiar assim. Em seguida, selecione a caixa de rolagem. E vamos colar isto mais seis vezes. Então eu vou fazer o controle v1 para acidentalmente me pular lá embaixo. Então deixe-me desfazer um desses. Ok, um, isso significa selecionar minha caixa de rolagem novamente, controle V. Para selecionar caixa de rolagem novamente, controle V, três, selecione caixa de rolagem novamente. Podemos colá-lo assim também. botão direito do mouse em colar para selecionar caixa de rolagem novamente, clique com o botão direito do mouse colar cinco, caixa de crânio novamente Certo, e acho que são todas as caixas horizontais que queremos. Além disso, eu quero ter alguns espaçadores entre todos estes. Então eu vou duplicar meu espaçador imediatamente. Vou copiar isto e vou adicioná-lo à minha caixa de rolagem. Então, vindo debaixo da minha caixa de crânio, vou clicar com o botão direito e colar. E eu vou ter que continuar movendo isso para a posição certa. Então eu vou colocar isso. Bem acima da minha caixa horizontal. Boom, ON IT, coloque-o dentro. Então deixe-me pegar. Então ele tem essa seta para baixo e ver que seta para baixo, direita para a esquerda ou eles são seta para cima ou seta para baixo. Quero a seta para baixo para que não a coloque dentro da caixa. Ok, com isso, eu vou para o Controle C que selecionar meu controle de caixa de rolagem V. Estamos recebendo um monte de trabalho de base feito para o que está por vir. E deixe-me demonstrar o que fiz lá. Eu selecionei isso e agora veja como eu estou subindo, eu quero colocá-lo aqui mesmo. Agora olhe para a extrema esquerda. Tenho uma seta para cima e uma seta para baixo. Agora, se eu soltá-lo bem aqui com a seta para cima, ele vai colocá-lo dentro da caixa horizontal, que não é o que eu quero. Se eu pegar de novo e ir com a seta para baixo, ele vai colocá-lo lá fora como eu quero. Tudo bem, então eu vou apenas copiar isso novamente, controlar caixa VMI School e colar isso. E eu vou colocar isso, arrastá-lo de novo. Ali está aquela seta para baixo. Isso é meio complicado de fazer. Controle C para copiar novamente, controlado através da minha caixa de rolagem para colar outro destes. E você pensou que iria colocar uma caixa de seleção, certo? Controles C, juro que estamos fazendo muito trabalho para o futuro. Controle V, vai arrastar isso para a posição assim. E eu os peguei? Não, tenho mais um para levar. Controle C controle V na caixa do crânio ali e coloque-o entre a caixa H 67 ali, lá vamos nós. Tudo bem, então, você pode vê-lo realmente rolar isso um pouco para baixo. Vamos ir em frente e selecionar o que é atualmente chamado h caixa sublinhado nome um. Queremos renomear este guia e selecioná-lo aqui para nós. Vamos renomear esta caixa h, sublinhar movimento automático. E depois vamos mudar o texto dentro desta caixa H imediatamente. Então vá em frente e selecione isso novamente. Você pode selecioná-lo aqui no seu designer visual ou mais na hierarquia. E eu vou simplesmente mudar isso para ler. Acho que só queria ler automotivo e quero. Então eu vou rolar para cima. Lá é onde eu posso alterar os textos e eu vou mudar isso para ser auto move e eu vou colocar um ponto de interrogação depois dele porque isso é meio legal
agora a formatação já está feita para nós disso. É por isso que queríamos copiar e colar tudo isso. Agora estamos em um ponto onde podemos adicionar uma caixa de seleção no lado daqui. Então vamos em frente e fazer isso. Debaixo do meu paladar, vou fazer uma busca por caixa de seleção. É na seção comum é bem, a
propósito, caixa de seleção. Garota. Cheque, verifique lá está. caixa de seleção não estava
na seção comum, embora ela a mostre na seção de comentários aqui. Oh, aí está. Sinto falta dele. Vou arrastá-lo e soltá-lo bem aqui. E, claro, vamos olhar para o nosso tamanho mais uma vez. Atualmente está definido como automático. E novamente no último vídeo eu falei sobre isso onde ordem esquecer, para que isso respeite nosso direito justificativo aqui, eu vou definir isso para preencher. E eu vou definir isso para ser um direito justificado como. Então, agora que a caixa de seleção é muito pequena agora, vamos ajustar algumas dessas configurações aqui em apenas um momento. No entanto, vamos renomear nosso widget aqui. Eu só vou chamar essa caixa de seleção sublinhado automático, movê-lo para baixo na seção Estilo, nós temos um monte de coisas que podemos mudar. Então vamos expandir isso. E vamos, eu não vou cobrir tudo isso porque há uma quantidade maluca. Nosso tipo de caixa de seleção, você tem caixa de seleção ou botão de alternância. Eu vou com caixa de seleção. Vamos com a nossa imagem desmarcada. Agora, novamente, Ele está indo para nos dar tipo esta caixa de seleção genérica olhando, no entanto, para um monte dessas opções aqui, e isso é verdade para botões, caixas de seleção, todos os tipos de coisas. Você pode encaixar em uma imagem, uma imagem que você realmente gosta em vez de apenas ter esse visual genérico. Agora por que eu queria vir sob essas imagens desmarcadas porque eu quero alterar o tamanho atualmente ele está definido para 16 por 16. Eu vou definir isso para 40 por 40, e isso pode ser um pouco grande, mas é isso que eu vou escolher. E é claro que você pode matizar isso também. Ou novamente, você pode nos dar uma imagem única, mas minha caixa desmarcada vai ficar assim. Agora, sob a imagem desmarcada, você deseja definir isso também, e você deseja que isso seja consistente com o tamanho de sua imagem desmarcada. Caso contrário, o que vai acontecer é que vai
parecer deste tamanho quando você chegar aqui pela primeira vez. E então, quando você passar o mouse sobre isso e passar o mouse, se você não mudar o tamanho aqui vai diminuir para este tamanho de imagem de 40 por 40 para 16 por 16. E isso vai parecer muito estranho. Imagem desmarcada, vamos definir para 40 por 40. Imagem pressionada desmarcada. Vamos mudar isso para 40 por 40. Na imagem marcada. Essa é a aparência da nossa imagem verificada. Vamos definir isso para 40 por 40. E, em seguida, precisamos também obter são verificados imagem pairada. Então você tem Hubbard normal e pressione para checado e não verificado. Vou ajustar isto para 40 também. E eu acho que você vê um padrão emergindo aqui. E para a imagem de imprensa verificada, também
queremos que seja 4040 também. Agora, se você perder o redimensionamento de qualquer um desses, isso se tornará aparente, eventualmente, quando começarmos a testar isso. Tudo bem, mais uma coisa que eu quero mudar aqui é
rolando para baixo nosso som de verificação são som desmarcar e são som Hubbard. Não é legal que eles tenham tudo isso aqui para nós definir. Acho que sim. Vamos mudar o som do cheque e tenho um em mente. Vou chamar isso de aumento de escala. Agora, novamente, este está no conteúdo do mecanismo. Esse é o que eu quero. Portanto, se você não vir esse efeito de som, você quer vir e revisar as opções e verificar se o conteúdo do seu mecanismo está marcado. Aumentar a escala para verificar o som desmarcado. Vou fazer a redução da imagem pairada. Vou encaixar. Alterações de seleção. Agora, a razão pela qual eu sabia que esses efeitos sonoros existem é simplesmente através de um monte de tentativa e erro. Este também está no conteúdo do motor. Agora anote as caixas de seleção aqui. Estes tornam-se poderosos quando eu rolar para baixo aqui meu painel de detalhes. E nós marcamos isso ou desmarcamos isso porque ele irá
disparar esse evento que está associado a este widget. Temos um evento que pode disparar ou desmarcar mudança de estado. Então isto vai disparar, quer verifiquemos ou desmarcemos. E isso vai ser a magia do widget caixa de seleção caras, vamos em frente e bem, não
precisamos compilar porque não escrevemos nenhum script. Mas vamos compilar de qualquer maneira, vamos salvar, vamos dar uma jogada e vamos ver o que podemos ver imediatamente. Batendo naquele Ek. Lá vamos nós. Temos o nosso nome, nosso onde podemos soldar um nome e, em seguida, temos este movimento automático aqui que podemos verificá-lo ou podemos desmarcá-lo e ouvir os sons associados a cada um. Muito bom, tudo bem pessoal, que vai fazer tudo para este vídeo, vamos ver vocês no próximo.
55. Atributos Mover automático: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é introduzir o widget de controle deslizante enquanto
continuamos a adicionar ao nosso layout de atributos de personagem. Agora vamos eventualmente usar um widget de controle deslizante para modificar nossos personagens velocidade de movimento automático. Mas só se a caixa de seleção foi movida, isto é, este cara aqui está marcado. Então nós vamos tipo de casar esta caixa horizontal e esta caixa de seleção aqui com esta caixa horizontal. E este vai ser o lugar onde nosso controle deslizante de velocidade de movimento automático vai estar. Tudo bem, então vamos nos certificar de que estamos todos
na mesma página vindo sob nosso editor de nível principal aqui. No personagem de conteúdo UI, widgets que diretório, você vai clicar duas vezes em WPP personagem UI. Como temos trabalhado para bem, praticamente todo o curso agora. E esta é a caixa horizontal em que vamos trabalhar. Então, atualmente ele é chamado H caixa underscore name para vamos pressionar F2 neste imediatamente para renomeá-lo. E eu vou chamar essa caixa de sublinhado. Vamos com velocidade de movimento automático, assim. Ok, a próxima coisa é seguir em frente dentro da nossa caixa horizontal, nós temos alguns textos. Vou mudar isso imediatamente. Vou renomear isso primeiro. Então eu vou, vou renomeá-lo aqui no painel Detalhes. Vou chamar este texto de velocidade de movimento automático. E então para o texto em si, vou mudar isso de nome para auto. Velocidade de movimento, assim. Então precisamos adicionar mais algumas coisas dentro de nossa Caixa Horizontal atualmente tudo o que temos é este texto. A próxima coisa que eu quero adicionar dentro daqui é eu quero adicionar um espaçador. Então eu vou fazer é procurar um espaçador. E novamente, eu poderia arrastá-lo e soltá-lo em cima da nossa caixa horizontal aqui, mas eu vou apenas demonstrar colocá-lo bem aqui ao lado dos meus textos de velocidade de movimento automático. Boom, ele vai mostrar que é uma pequena lasca porque eu preciso definir o tamanho real dele. Vou definir o exercício aqui para 172. Por que um valor tão estranho de 172? Porque testei isso antes do tempo e determinei que esse é o tamanho que estou procurando. Agora, widget de tamanho é ótimo para quando você quer explicitamente quanto espaço você quer entre widgets,
você sabe, às vezes se você está fazendo como, como o que temos aqui em cima, como justificação direita ou uma justificação esquerda. Ou talvez queira justificar o centro. Talvez você queira apenas compensar algo um pouco enquanto um widget espaçador é ótimo para casos como este onde eu quero ter algum texto, um pouco de espaço, e então um widget deslizante, certo, com o nosso espaçador no lugar, agora podemos colocar em nosso widget deslizante, e que é encontrado aqui na seção de comentários. Lá está o nosso widget deslizante. Vamos clicar com o botão esquerdo e eu gosto que o gráfico leia seu sotaque é muito indicativo do que isso é. É um controle deslizante que você pode pegar e mover para a esquerda e para a direita. Vou clicar com o botão esquerdo, arrastar e soltar isso aqui dentro ao lado do meu espaçador, assim vai mostrar muito, muito, muito pequeno. Vamos começar renomeando. Então eu vou chamar este slider sublinhado auto, velocidade de
movimento e pressione enter. E eu vou definir meu tamanho aqui para ser cheio ou não cheio, preencher melhor, ele vai estender para fora. Vai ocupar o resto do nosso espaço aqui, pelo
menos por enquanto, ainda não
terminamos. E para baixo na seção de aparência, vai mudar. Primeiro de tudo, vamos falar sobre o que temos aqui. Temos valor, min, valor, valor máximo. Então, essencialmente, este controle deslizante é destinado a representar um intervalo de valores. Agora o valor vai ser o valor inicial que você quer que este seja. Vou definir isto para ser 1. Porque novamente, este valor vai representar como,
quão rápido queremos que o nosso personagem
se mova automaticamente se de fato o nosso personagem está indo para locomota automática em torno do nosso mapa. Então um valor de 1 é basicamente dizer, Sim, vá sua velocidade normal normal, 100% sua velocidade normal. Agora, como eu fiz isso, você deve ter notado que eu coloquei nosso controle deslizante aqui todo o caminho para a direita. E isso porque atualmente são controles deslizantes em uma escala de 0 a 11 sendo a extrema direita, ou valor máximo 0, significando nossa extrema esquerda, o valor mínimo. Agora eu quero que isso seja executado em uma escala de um valor mínimo de um e um valor máximo de dois. E você vai notar agora que eu fiz isso porque nossos valores padrão vai ser um que está combinando nosso valor mínimo que é um. Então este controle deslizante é essencialmente agora especificando sua pode ir de um valor de 1.01.5 seria o meio. 2 é o fim. Então eu quero permitir que nosso personagem para auto locomote até duas vezes sua velocidade normal. Agora você pode mudar a orientação aqui, horizontal ou verticalmente. Vou deixar isto horizontalmente. Em seguida, vamos falar sobre, Eu não vou apenas o nosso controle
deslizante, cor barra deslizante ou lidar agora você pode fazer isso, se você quiser. tamanho do nosso passo aqui. O que isso significa? Então, basicamente, quando você está indo para mover este controle deslizante para a esquerda, clicando em cima dele e arrastando-o para a esquerda e para a direita. Quanto ele aumenta quando você move da esquerda para a direita? Isso é o que este tamanho do passo está especificando. Quero que isto se mova em incrementos de 0,1. Então basicamente de um para 1 para 1.1 ou desculpe, de um para 1.11.1 para 1.2, et cetera, et cetera. Agora, só te avisando aqui para mais tarde no coro. Isto é através de alguns testes. Não permita que o seu valor mínimo aqui vá abaixo de um. Isso é porque se você fizer
isso, ele vai quebrar nossa locomoção personagens para fatores que estão muito além do escopo deste curso. Então, só um aviso para todos vocês. Não defina seu valor mínimo abaixo de um. Você pode definir como dois se quiser, mas não vá abaixo de um. Tudo bem, então vamos falar sobre algumas de nossas configurações de estilos aqui em baixo. E novamente, vai haver um monte deles vão expandir isso. Você pode definir seu estilo novamente para os estados normais do Hubbard ou desativados. E você tem opções de barra ou polegar. Então o bar vai ser referido como este pequeno bar ali. Esse é o bar R. Desculpe, eu entendi isso ao contrário. O bar é da esquerda para a direita. O polegar é essa coisinha grudada bem ali. Peço desculpas por isso. Foi um longo dia. Tudo bem, vamos definir nossa imagem polegar um pouco, então eu vou ficar sob a imagem normal do polegar. Novamente, você não precisa ter este tipo de olhar genérico. Você pode encaixar em uma imagem real para isso. Se você não gosta do olhar disso, vou deixar que seja por enquanto. Eu vou definir o meu tamanho de imagem aqui para ser 20 no x. e você pode vê-lo imediatamente engordou. E para o y, vou definir para 40. E novamente, se você definir um tamanho aqui para o estado normal, é, como isso vai parecer quando você chegar a esta tela pela primeira vez? Como é que isso vai parecer? Você vai querer definir o mesmo tamanho para os estados pairados também. E também o estado deficiente. O estado desativado será para quando toda
esta caixa horizontal ficar acinzentada porque temos movimento automático desmarcado. Então queremos definir isso para o estado normal do Hubbard e desativado. Então, nossa imagem do polegar, vamos definir isso para ser exatamente do mesmo tamanho, 20 por 40. E a imagem do polegar desativado, nós também vamos definir isso para ser um x de 20 e um y de 40 m. Agora aqui em cima, nós poderíamos definir a imagem da barra ou a imagem da barra pairada em imagem de barra desativada. No entanto, há também um outro caminho de configuração aqui chamado espessura da barra. Você vê como esta é uma linha muito fina. Vamos mudar isto para tornar isto um pouco mais fino. Atualmente está definido como dois. Vou definir isto para 15. E isso vai engrossar um pouco a barra. Tudo bem, estamos quase terminando aqui. Temos um pouco mais para fazer. Então este controle deslizante vai representar um intervalo de 1 a 2. Mas eu realmente quero ter uma saída numérica aqui para que possamos realmente ver o que este controle deslizante representa numericamente. Então, a fim de fazer isso, nós vamos adicionar mais um pouco de mensagens aqui. Então o que eu vou fazer é pegar minha velocidade de movimentos automáticos bem aqui porque isso é Textos e eu vou duplicar isso. Então eu vou clicar com o botão direito sobre isso e dizer Duplicar. E agora eu só preciso movê-lo para o local apropriado para que eu
possa arrastá-lo e soltá-lo em nosso arrasto e movê-lo para baixo abaixo do meu controle deslizante aqui, no entanto, eu vou usar essas setas. Então eu vou movê-lo para a direita do meu espaçador, e então eu vou movê-lo para os direitos do meu controle deslizante. Agora eu quero definir alguns detalhes para isso e eu vou começar com o nome deste widget. Então ele vai ser chamado de textos, auto, velocidade de
movimento, valor de sublinhado. Assim é bom ser crianças organizadas. E eu vou mudar o texto aqui para não ser velocidade de movimento automático. Isso é certo porque isso vai ser um tipo numérico de saída. E então eu vou mudar isso para ser 1 apenas para tipo de dar a vocês uma idéia de aproximadamente como eu quero que isso pareça 1. Agora, mais uma coisa que eu quero mudar aqui é onde ele mostra o tamanho aqui, eu tenho auto ou Phil. Vou mudar isso para ser Bill. Assim. E vai preencher isso um pouco mais. Mas então eu vou definir isso para ser certo. Justificado e fique de olho no que vai acontecer aqui, certo, justificado. Então ele vai saltar para lá. E eu vou dizer, eu não quero que isso encha 1, que é essencialmente pegar todo esse espaço. Vou definir isto para 0,3. E isso só vai torná-lo de modo que ele vai apenas empurrar, é,
ele vai dar um pouco mais de espaço aqui para o nosso controle deslizante. Então, tudo isso foi feito através de alguma tentativa e erro também. Novamente, você sabe, se você definir isso para ser como 0,1, vai torná-lo um pouco mais lotado. E esse 0.3 é o que eu resolvi. E eu gosto, então se eu diminuir um pouco aqui, isso é o que nós temos. Todo esse auto move velocidade, caixa
horizontal aqui de novo, tudo isso vai ficar acinzentado eventualmente, ainda não. Quando isso for
desmarcado , isso acontecerá por meio de scripts. Mas pessoal, nós temos nossa velocidade de movimentação automática e um widget deslizante dentro do nosso trabalho de painel de tela de atributos, bem feito, isso vai fazer tudo para este vídeo, pessoal, vamos ver vocês no próximo.
56. Layout de saúde em Compromisso: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é adicionar um widget de barra de progresso que será usado para refletir a quantidade de saúde que nosso personagem tem em relação ao seu valor máximo. Agora nós já colocamos um desses widgets de barra de progresso para o nosso XP são mostrados pontos experientes aqui em cima. Mas que diabos? Por que não outro? Tudo bem, vamos nos certificar de que estamos todos na mesma página antes de começar rolando aqui de volta em nosso editor de nível principal, aqui na pasta widgets dentro da interface do personagem de conteúdo, estamos clicando duas vezes em w BP personagem UI para abrir aquele cara de volta para cima. E, claro, certifique-se de que aqui em nossa hierarquia, que está crescendo cada vez mais sob os widgets, que são categorias, estamos trabalhando dentro de atributos do painel de tela. E atualmente estamos nesta Caixa Horizontal agora que precisamos renomear. Porque lembre-se, copiamos e colamos um monte dessas caixas horizontais enquanto voltamos. Então este é o cara em que estamos trabalhando. Você pode selecionar a caixa horizontal aqui no seu designer visual. Se isso for mais fácil para você, vou renomear isso imediatamente para ser saúde de sublinhado, porque esse nome faz sentido. E então eu vou renomear este widget de texto aqui para outra coisa. Deixa-me mudar o nome do aquecimento F2 nisto. Vamos chamar este texto de sublinhar a saúde, assim. E então o que vamos fazer é mudar esse texto em vez de dizer o nome no painel Detalhes, vamos realmente ter que ler como saúde. Então sabemos o que essa barra de progresso vai realmente representar. Ok, a próxima coisa que eu quero fazer é exatamente como fizemos acima, nós adicionamos um espaçador entre texto e este widget deslizante. Eu vou fazer algo semelhante aqui onde nós vamos ter texto,
um widget espaçador, e, em seguida, nossa barra de progresso. Então eu vou subir sob o tipo de painel de paladar no espaçador. E eu vou colocar um desses e ser realmente, realmente colocá-lo bem lá em baixo. Eu poderia dizer que eu iria colocá-lo aqui em baixo, minha hierarquia, mas eu pensei que era mais fácil apenas colocá-lo aqui em baixo na minha caixa horizontal. Aí está, aquela pequena lasca. Então vamos especificar o quão grande queremos que este espaçador seja contra. Espaçadores são ótimos para determinar exatamente quanto espaço você deseja ter entre widgets. Agora, eu descobri isso antes do tempo. Quanto espaço eu ia ter. Então eu sei que valor eu quero aumentar para o meu espaçador, meu exercício que eu vou definir aqui para ser 375. E quando eu faço, você pode notar que ele vai expandi-lo para ser praticamente em linha com o meu widget deslizante acima. E isso não é erro, porque eu essencialmente quero que a minha barra de progresso seja sobre este mesmo comprimento que o meu widget de controle deslizante. Tudo bem, então com isso no lugar, próxima coisa que eu preciso fazer é pegar uma barra de progresso. Então, novamente, podemos encontrar que em nosso painel de paladar aqui em cima sob a seção comum, há uma barra de progresso e eu vou arrastar e soltar isso. Deixe-me dar um zoom aqui um pouco. Então você pode ver que eu vou arrastar e soltar isso bem aqui, bem ao lado da saúde, minha barra de progresso espaçador e ir lá. E isso vai mostrar um muito, muito, muito apertado agora porque eu não defini nenhum de seus detalhes ainda. Primeiro, vamos em frente e renomear isso. Então eu vou renomeá-lo,
nomeá-lo aqui para progredir a saúde da barra. E eu vou dar um zoom para trás um
pouco para que você possa ver como isso vai ser preenchido. Atualmente, o tamanho disso é que você auto, significa que ele só vai ocupar tanto espaço quanto ele precisa. Agora eu quero que isso seja preenchido um pouco mais horizontalmente. Então eu vou mudar este tamanho de auto para preenchimento. E agora ele vai preencher toda esta seção aqui,
porque aqui em nossa linha horizontal e nós estamos dizendo, hey, vamos preencher tudo isso horizontalmente. Agora. Nós vamos adicionar um pouco mais, outro widget de texto sobre esta borda. Então, ele vai eventualmente ser empurrado para trás 6m. Mas, por enquanto, isso vai ficar bem. Preencha em 100% aqui essencialmente. Agora eu quero adicionar um pouco de preenchimento. Bem aqui. Eu vou clicar neste pequeno drop-down para meu preenchimento e manter um olho
aqui em nosso designer como estamos adicionando algum preenchimento para isso, você pode ver como isso vai afetar as coisas. Vou mudar meu estofamento aqui para um valor de 12,5. E quando eu apertei Enter, você pode ver que ele vai empurrá-lo para baixo um pouco, meio que apertá-lo para baixo. E eu também vou fazer isso pela minha parte inferior 12.5 e apertar Enter. E você pode ver que está indo apenas para olhos esbeltos, nossa barra de progresso, eu essencialmente queria que ele fosse tipo da mesma espessura, se você quiser, é o nosso controle deslizante acima. Todos os direitos sob nossas configurações de estilo aqui, vamos ver o que temos. Eu vou mudar o fundo da nossa barra de progresso atualmente é sua cor acinzentada. Vou definir os tons de fundo de estilo para ser preto reto. E então isso é essencialmente o que nossa barra de progresso aqui vai parecer quando não está preenchida agora ele está mostrando completamente não construir porque abaixo em nossa seção de progresso são porcentagem está definido como 0. Posso clicar com o botão esquerdo aqui. Esta é uma caixa de rotação por si só. A propósito, você pode encontrar uma caixa giratória que fizemos aqui em cima no seu paladar. Isso é o que este widget é aqui. Você pode clicar com o botão esquerdo e arrastar e você pode ver isso é executado de 0 para um. Vou deixar isso em apenas 0,5 agora para ser meio cheio, você pode mudar o tipo de Barfield para ser esquerda e direita ou para cima e para baixo,
direita para esquerda, o que quer que lhe convier. Eu também vou mudar a cor de preenchimento na aparência atualmente é esta cor azulada. saúde para mim tende a ser melhor como uma cor esverdeada. Então eu vou definir meu valor verde aqui, o valor g para ser um, então um 100% totalmente verde. E eu vou definir meu valor azul aqui como 0 porque eu não quero nenhum azul, apenas verde direto. Tudo bem, deixe-me ver. Temos mais uma coisa a acrescentar antes de chamarmos isto de rap. Eu quero ter mais um widget de texto aqui que vai viver neste espaço. Então o que vou fazer é pegar minha saúde aqui. E vou duplicar isso. Então, certificando-se de que você tem sua saúde selecionada porque eu quero manter toda a formatação que já fizemos. Vou clicar com o botão direito sobre isso e vou duplicá-lo. Agora. Vai colocar isto ao lado de onde temos saúde. Mas novamente, eu tenho algumas setas esquerda e direita aqui que eu posso clicar. Vou empurrar-nos para a direita. Então clique nele uma vez e você pode ver que ele está movendo-o em nossa hierarquia também. Vou empurrá-lo de novo para que seja a última coisa na nossa caixa horizontal na hierarquia. E agora eu só vou atualizar os detalhes para isso. Isso vai ter um nome de texto sublinhado valor de saúde. Porque acabarei por fazer isso cuspir o valor que é representativo disso aqui, barra de progresso. E eu vou me trocar lá em cima. Atualmente, o tamanho é dito ser automático, então ele vai ocupar tanto espaço é por mais tempo que o nosso texto está aqui. Deixe-me apenas mudar exatamente sobre onde ter um valor de 100 porque é o maior
que eu estou antecipando este ser e você pode ver que ele encolheu para baixo. Mas novamente, eu quero este medidor aqui, esta barra de progresso para essencialmente meio que se cortar bem ali. Não quero que seja apertado contra esse valor. Então a maneira que eu posso fazer isso é eu vou mudar nosso tamanho aqui de auto para preenchimento. E vai empurrá-lo para fora desta forma. No entanto, eu vou definir isso para ser justificado corretamente. Boom, você pode ver isso. Escove-o. Mas ainda está tentando encher todo esse espaço, está apertando nossa barra de progresso. Então, se eu mudar meu valor de preenchimento aqui para ser 0,33 e pressione enter. Agora é um pouco difícil ver esse preto. Lá vamos nós. Se eu destacar sobre ele, você pode vê-lo. Agora você pode ver que através de algum ano de ajuste eu consegui para que esta barra de progresso é praticamente vai
estender o mesmo que o meu widget deslizante acima. Se eu fosse mudar isso para ser algo como 0,5, você pode ver como minha barra de progresso não se estenderia lá fora. Então eu obtive esse valor 0,33 apenas através de alguma tentativa e erro. Tudo bem, agora isso está tudo muito bem e inchado. Isso vai fazer isso aqui para a nossa camada de saúde. Vamos em frente e salvar isso rapidamente. Pessoal, essa está toda embrulhada. Trabalho bem feito. Farão tudo por este vídeo. Vemo-nos na próxima.
57. Employment Regen: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é simplesmente adicionar um widget de texto que vai refletir quantos pontos de sucesso são personagens que irão regenerar quando nosso personagem, de fato, recuperou alguma saúde. Agora, novamente, estamos trabalhando apenas no aspecto de layout de nossos atributos aqui. E eventualmente no caminho vamos adicionar um sistema de saúde muito, muito simples, onde um personagem será capaz de regenerar um pouco de saúde. Então só quero deixar isso claro também. Vamos ter um campo de saúde aqui. Vamos ter um campo de quantidade regenerada de saúde aqui,
e então um campo de taxa de regeneração de saúde que vai bem aqui. E todos esses dados, o carro movido, a velocidade automotiva, etc. Todos estes dados vão ser retirados da
nossa tabela de dados apenas para um círculo de volta e martelar para casa este ponto aqui, a minha tabela de dados. Novamente, temos todos esses dados atualmente. Tenho material selecionado dentro da nossa tabela de dados. O milagre pode se mover automaticamente? Sim. Velocidade automotiva, isso é o que eu tenho atualmente um padrão como o que é milagres saúde. Quanta saúde ela vai regenerar? Bem, neste caso, quatro pontos de saúde a cada 1,3 segundos. Então isso é essencialmente nós estamos puxando, eventualmente vai ser puxando todos esses dados de, novamente de nossa tabela de dados. Tudo bem, vamos nos certificar de que estamos todos na mesma página para definir a quantidade de nossa região de saúde. Voltar aqui no editor de nível principal sob widgets de interface do usuário do personagem de conteúdo, seu duplo clique em WPP personagem UI. Tudo bem, vamos direto ao assunto. Certifique-se de que esta caixa horizontal foi selecionada diretamente abaixo da saúde. E é claro que temos que renomear isso. Então eu vou fazer isso imediatamente. Este será h caixa sublinhar região de saúde. Região é abreviação de quantidade de região regenerada. Tudo bem, e em seguida vou selecionar aquele pedaço de texto bem ali que atualmente diz nome. E vou mudar o nome deste céu imediatamente. Vou chamar este texto de sublinhado. Textos da região. Vamos lá, quantidade de textos da região. Claro. Ou como é bom. Que tal apenas textos, quantidades de região, esse é um belo nome. E então eu vou mudar o texto para esta exibição aqui mesmo. É uma quantidade de
região de saúde das abelhas , assim. E a formatação já é o que queremos que seja. Então isso é tudo bem e bom. Agora, para isso de novo, eu só quero ter outro widget de texto aqui. Eu não quero quaisquer outros widgets e aqui, simplesmente outro widget de texto vai fazer porque isso vai exibir algo como o que temos aqui na minha tabela de dados, quantidade de região Saúde. Eu quero ter uma exibição algo como 4. Então, um widget de texto vai fazer muito bem aqui. Então eu vou duplicar este texto existente bem aqui. Vou clicar com o botão direito. Vou duplicar. E, claro, preciso renomear isso. Então eu vou chamar essa mensagem. Vamos lá Valor da região. Vou ligar para o valor da região. Que tal a quantidade da região? Valor de sublinhado ou nenhuma região de saúde ou texto valor valor de região, isso é bom o suficiente. Difícil manter todos esses nomes na linha. Agora aqui também, eu não quero que isso seja apertado contra os outros textos. Quero que fiquemos longe para a direita para que eu possa fazer o que fiz antes. Vou mudar o tamanho aqui para ser preenchido. E então eu vou mudar o alinhamento horizontal para ser justificado corretamente. Agora, novamente, esses parâmetros só estão disponíveis quando este texto é colocado dentro da minha caixa horizontal. Se eu apenas colocar qualquer widget de texto antigo aqui e isso vai ser uma boa demonstração. Você não tem que jogar junto com isso. Vou colocar um simples widget de texto aqui em baixo, em algum lugar por aqui. Deixa-me só expandir o alcance disto. Então você não vê, você não vê todo esse alinhamento horizontal aqui porque isso
não é ranhurado com qualquer caixa horizontal, como este pedaço de texto é, certo. Então, quando ele é encaixado dentro de uma caixa, você vê esses parâmetros aqui para alinhamento
horizontal e vertical no dimensionamento para ser automático ou preenchimento, etc. Também algumas configurações de preenchimento. Quando está por conta própria, você não os vê. E quando esse texto está por conta própria, se você rolar para baixo no painel Detalhes, você vê que tem alguma justificativa para justificação à esquerda, uma justificada do meio ou direita. Isso difere de quando este texto é colocado dentro de uma caixa horizontal. Quando ele é colocado dentro de outra caixa, você vai ver esquerda justificar, meio, justificá-lo direito? Justificar. Mas um não vai fazer nada. Essas configurações justificativas são apenas para quando este texto está por conta própria. Quando seu texto está dentro de uma caixa de algum tipo, você precisa usar essas configurações aqui para justificar à esquerda, justificar o
meio, justificar à direita, etc. Espero que isso esclareça qualquer confusão. Certo, mais uma coisa que quero fazer com isso é mudar as mensagens aqui. Em vez de ser quantidade de região de saúde, eu simplesmente vou mudar isso para, eu não sei, este é apenas um valor padrão de 5 porque isso vai ser um pouco mais indicativo dos tipos de números que irão aqui. Tudo bem, isso vai literalmente fazer tudo para o layout aqui
para a quantidade de nossa região de saúde. Vamos salvar os rapazes rapidamente. Isso vai fazer tudo por este. Vejo-te no próximo ano.
58. Layout de saúde: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é demonstrar o uso de um widget de caixa de tamanho e um widget de caixa de rotação. Agora, o widget caixa de rotação é essencialmente um metro de tipos com um valor projetado sobre o topo dele. Vamos usar este widget para permitir que o usuário personalize sua taxa de regeneração. E enquanto esta não é uma aplicação super realista deste widget particular, eu pensei que seria uma maneira divertida de exibi-lo. Nós podemos realmente ver alguns desses widgets caixa de rotação. E, de fato, podemos ver um monte deles sobre em nosso painel de detalhes sempre que estamos lidando com qualquer widget, por exemplo, este aqui é um widget caixa de rotação sob são renderizados transformar sempre que você vê um valor com um tipo de estes esquerda e para a direita ou para cima e para baixo setas, no entanto você deseja ver que isso é um widget caixa de rotação. Vamos nos certificar de que estamos todos na mesma página aqui. Voltando ao seu editor de nível principal, estamos dentro da pasta de widgets de interface do usuário de conteúdo usual, clicando duas vezes em WB p personagem UI. E novamente, se você fez uma pausa entre os vídeos, estamos trabalhando dentro do nosso switcher de widgets, especificamente nossos atributos de painel de tela. E dentro daqui estamos ajustando algumas
dessas caixas horizontais que copiamos e colamos um tempo atrás. Atualmente, estamos trabalhando com essa caixa horizontal que tem o nome Horizontal Box sublinhado nome cinco. Vamos renomear isso imediatamente. Vou acertar F2 aqui. E vamos renomear isso para taxas de região de caixa H. Então toda essa Caixa Horizontal vai mostrar nossa taxa de regeneração. Quantos segundos precisam passar antes de regenerarmos essa quantidade de pontos de sucesso. Muito bem, a seguir vamos selecionar o nosso widget de texto dentro daqui. Vamos renomear isso imediatamente. E eu vou renomear isso para ser texto sublinhado. O, como eu quero chamar isso? Como eu chamei aquela acima das taxas de região? Claro. Taxa de região vai fazer muito bem. E eu quero realmente mudar o texto aqui para ser taxas de região de saúde. Não deve ser confundido com a quantidade da região de saúde. Ok, a próxima coisa que eu quero fazer aqui é adicionar um widget de caixa de tamanho. Agora, vamos encontrar um desses e eu vou explicar o que um widget de caixa de tamanho faz. Aqui no meu paladar, vou procurar uma caixa de tamanho. E eu vou simplesmente arrastar e largar isso na minha caixa H assim. Ok, então você pode vê-lo dentro da minha Caixa Horizontal. Vou deixá-la nomeada como caixa de tamanho. Isso vai ficar bem. Vai dar um número aleatório no final. Eu não me importo, tudo bem. Agora, como caixas de tamanho são ótimas para dar a você a capacidade de
determinar explicitamente quanto espaço seu conteúdo ocupará. Então eu vou deixar isso ser por enquanto e você vai ver o que um widget caixa de tamanho pode fazer depois que eu adicionar o nosso widget caixa de rotação no tamanho dele, ele está dentro dele. Dentro dela. Belo deslize de lá, Sr. Andra. Ok, vamos encontrar este widget caixa giratória a seguir. E novamente tem sido widget caixa se parece muito com esses caras aqui em baixo. Vou arrastar e soltar esse cara em cima da caixa de tamanho aqui embaixo. Tudo bem. Então você deve ver um pouco recuado aqui. E você viu isso se expandir para ser um pouco maior em tamanho. Vou mudar o nome da minha caixa de spin aqui. Eu não gosto desse 393 só porque eu sou DDA assim. Então eu vou deletar isso só para ser chamado de caixa giratória. E é claro que vai deixar 39 três, eles estão bem. Faça do seu jeito. Não posso mesmo apagar isso? Deixa lá dentro. Tudo bem. Faça do seu jeito irreal. Ok, então isso está parecendo um pouco esmagado e
há várias coisas que queremos mudar sobre isso, obviamente. Então a primeira coisa que eu vou mudar sobre isso é que eu quero mudar a largura disso. Não gosto que pareça tão espremido. Então, com a minha caixa de tamanho selecionada, veja, o que podemos fazer aqui. Temos essa seção de layout infantil. Agora esta caixa de rotação, porque está anexada à minha caixa de tamanho, é considerada uma criança da minha rotação por ou na minha caixa de tamanho. Então, se eu definir minha largura Substituir aqui e eu preciso marcar esta caixa, a fim de tornar isso ativo para algo diferente de 0, que é basicamente vai triturá-lo todo o caminho para baixo. Eu vou definir isso para 150 e ver o que acontece quando eu apertar Enter. Agora vai definir isso para ser muito mais amplo através, obviamente, você definiu isso para ser 300. Vai torná-lo mais largo ainda, etc, e assim por diante e assim por diante. Estou feliz com um. Agora também, eu não quero que isso seja bem apertado contra meus textos regenerados de saúde. Quero que isto acabe do lado direito. Assim como fizemos antes, vou mudar meu tamanho aqui de auto para preenchimento. E atualmente ele vai preenchê-lo todo o caminho para fora no entanto phi, certo, apenas desafiar isso. Vai respeitar a minha largura de ser 150 lá. Tudo bem, então estou feliz com o tamanho disso. Agora a caixa de tamanho está especificando o tamanho da criança dentro dela é a caixa de rotação. Então vamos selecionar nossa caixa giratória próxima porque eu tenho alguns detalhes que eu quero definir. Para isso, vamos começar com nossa seção de conteúdo aqui. E eu vou sair, eu quero definir meu valor aqui para ser 11 vai ser um valor padrão. Agora novamente, eventualmente vamos ligar isso
ao nosso regenerado de saúde encontrado dentro de nossa tabela de dados. Mas apenas ter um valor de um aqui como um padrão vai ser bom. Agora, assim como fizemos antes com um de nossos outros widgets, podemos especificar um valor mínimo e máximo. Então eu vou definir meu valor máximo, valor máximo controle deslizante aqui para ser um tamanho de dez. E eu vou definir meu valor máximo aqui para 20. Agora você pode estar dizendo, espere um minuto, isso é estranho. Você está definindo o valor máximo do controle deslizante. Isso é o quanto nós podemos deslizar para fora para ser dez. Mas o valor máximo aqui é 20. O que exatamente isso significa? Bem, o valor máximo é o valor mais alto que podemos inserir manualmente aqui. O valor máximo do controle deslizante é o valor mais alto que você pode definir através do controle deslizante. Agora, a fim de realmente fazer isso, assim como eu vou ter que pular e jogar aqui. Então deixe-me pular e brincar. Vou bater naquele e qui. Certo, e aqui está minha caixa de spin. Agora vou clicar com o botão esquerdo neste clique esquerdo e arrastar para a direita. E reparem como posso incrementar esse valor. Vou deslizá-lo o mais longe que puder. E isso é o mais longe que eu posso fazer quando eu estou apenas usando este controle deslizante. E novamente, eu estou segurando o botão esquerdo do mouse e eu estou deslizando. Então dez é o mais longe que eu posso configurá-lo quando eu estou deslizando, no entanto, eu posso realmente clicar dentro daqui e eu posso colocar até um valor máximo de 20. Na verdade, o que acontece se eu tentar bater em 30? Então eu vou fazer 30 e depois apertar Enter. E vai dizer, não, estamos limitando isso em 20 porque esse é o valor máximo que estamos permitindo que você coloque. Agora, se eu estiver deslizando isso, ele vai cobrir em dez. Mas se eu inserir em um valor, ele vai tampá-lo em, não importa o tamanho que eu
colocá-lo, ele vai tampá-lo em 20. Então espero que isso explique isso e faça algum sentido em sua mente. Agora, novamente, você pode definir um valor mínimo aqui é bem, então eu vou fazer isso. Vamos definir meu valor mínimo para 0. E eu também vou definir o meu valor mínimo de controle deslizante para ser 0 também. Então não posso entrar nos negativos. Em seguida, vamos ajustar o estilo
da caixa de rotação um pouco e podemos fazer isso sob a seção Estilo aqui. Então eu vou expandir o meu triângulo suspenso estilo aqui. E há um monte de coisas sobre isso que você pode mudar. Você tem seu passado, por exemplo, que poderíamos mudar. Eu não vou mexer com tudo isso, mas vou mudar alguns desses. E eu vou começar aqui no meu pincel de preenchimento ativo. Eu tenho pincel de preenchimento ativo e pincel de preenchimento inativo. E você vai ver a diferença entre estes em apenas um pouquinho. Então vamos expandir meu pincel de preenchimento ativo. E eu vou mudar a tonalidade disto para ser. E eu recomendaria jogar junto em casa indo para definir o valor para ser 0, que é 0% vermelho. Eu vou definir o G em um, então um 100% verde, eu vou definir o valor B como 0. Então eu só quero ter uma cor verde reta para isso. Isso vai ser o pincel cheio ativo para que quando eu estiver interagindo com essa caixa de rotação, essa lasca do medidor, quando eu estiver interagindo ativamente com
ele, ele vai aparecer em verde. Agora isso vai diferir do pincel de preenchimento inativo, que está definido atualmente para esta cor acinzentada quando eu não estou interagindo com a caixa de rotação vai mostrar como qualquer cor que eu especificar aqui. Então, sob a tonalidade, sob o pincel de campo inativo, eu vou definir meu valor r para ser 0.4. O valor G deixarei em um, o valor b que colocarei em 0,5. Então tipo de uma cor verde mais clara é essencialmente quando eu estou indo para. E vocês podem ver agora, essa cor está sendo refletida bem aqui em nossa caixa giratória. Então, novamente, quando não estamos interagindo com ele, ele vai mostrar que é esta cor. No entanto, quando eu estou clicando com o botão esquerdo em uma gravura, vai mostrá-lo como é mais proeminente, cor verde. Vamos tocar isto e mostrar-lhe isto. Ok, eu vou bater assim como. Lá você pode ver aquela cor verde clara. Agora note que assim que eu passar o mouse sobre, isso está mostrando verde mais escuro pairando fora. Está mostrando aquela perna verde mais clara. Então movendo-o verde mais escuro, soltando-o e arrastando-se. Então mostra aquele verde mais claro. Ok, ainda não terminamos. Você é mais algumas coisas que eu quero mudar novamente aqui no painel Detalhes sob as imagens de setas. Vamos clicar nisso e expandir isso aberto. Atualmente, essas setas são muito pequenas. Eu quero torná-los um pouco maiores, então eu vou mudar o tamanho da imagem aqui. Atualmente ele está mostrando essas setas por padrão, você pode ter suas próprias setas se você realmente quiser encaixar em algo diferente, eu vou encaixar em 25 por 25 como meu tamanho aqui. Então você pode ver como isso expande um pouco mais. Você se ajusta como quiser. E para o meu preenchimento de texto, eu vou expandir isso e mostrar a vocês como podemos empurrar este texto dentro da nossa caixa giratória, esquerda, direita, para cima e para baixo, dependendo do valor ou valores que colocamos aqui, eu vou mudar o meu acolchoamento esquerdo para 50. Carregue em Enter, e parece que nada acontece. No entanto, se eu fosse compilar este projeto. Você pode ver como isso agora é empurrado meus textos
aqui colocando um pouco de preenchimento entre a borda e nossos textos. E é assim que você pode fazer isso. Eu vou definir isso de volta para o seu padrão clicando nesta pequena seta amarela aqui. E então eu vou recompilar adicionar para definir que de volta para onde ele estava. Agora, rolando para baixo minha lista de detalhes aqui, eu vou parar quando eu chegar a esta seção de valores controles deslizantes. Eu tenho este valor delta aqui que está atualmente definido como 0. Agora, o que isso afeta os incrementos aos quais você está limitado quando você está incrementando isso. Com isso, quero dizer, se eu apertar Play e apertar a tecla E e mover isto para a esquerda e para a direita. Olhem para as nossas casas decimais, realizem seis lugares. Quero dizer, isso é ridículo. Eu não preciso dele para levar a cabo seis lugares além do ponto decimal. Então, se eu definir meu valor delta aqui para ser 0,1, eu vou restringir isso apenas para incrementar por décimos. Então, agora, se eu fosse clicar em jogar, toque que 0x0. Agora, como eu incremento isso, você pode ver que ele está apenas limitando esse incremento a 1 décimo de cada vez. Agora ele faz essa coisa onde ocasionalmente ele está piscando um valor como esse. Isso é apenas algo que o motor faz. Não tenho controle sobre isso. Portanto, apenas esteja ciente de que ocasionalmente ele faz algo assim. Como isso. Tudo bem, Escapando em um expoente deslizante aqui, eu vou recomendar que você não altere este. Ele pode basicamente distorcer quão rápido ou lentamente o valor ocupa para cima ou para baixo à medida que você move seu voxel spinner, por favor deixe esse em paz. Tudo bem, rolando um pouco aqui. Temos algumas configurações de exibição. Vamos expandir nossa fonte aqui podemos modificar nossa fonte e tamanho da fonte que é exibido aqui. Vou mudar o tamanho para ser um pouco maior. Vou usar o tamanho 25. E mais uma vez, não vejo nada mudar ainda. No entanto, se eu compilar, ele vai mostrá-lo um pouco maior como esse estilo como você vê o ajuste. Certo, pessoal, eu gosto do jeito que isso
está ganhando vida e vai rapidamente salvar esse cara que vai fazer. Para oferecer este vídeo, veremos você no próximo.
59. Layout de Taunt: É adicionar a capacidade para o nosso usuário para definir seus personagens provocações. Esta vai ser uma voz sobre linha que vamos escolher de uma lista suspensa. E vamos fazer isso através de um novo widget aqui conhecido como uma caixa de combinação. Vamos nos certificar de que estamos na mesma página aqui no nosso editor de níveis. A pasta usual é o que estamos na pasta widgets. Clique duas vezes em UI de caracteres WPP E novamente, se você perdeu seu lugar entre vídeos, estamos trabalhando dentro de nossos atributos de painel de tela. E está ficando bastante grande aqui porque temos um monte de caixas
horizontais colocadas dentro de nossa caixa de rolagem. E nós temos que rolar todo o caminho até aqui em nossa hierarquia para chegar à nossa próxima caixa. Atualmente, no último vídeo, trabalhamos nas taxas de regiões de saúde. Nós vamos estar trabalhando na próxima caixa horizontal para baixo a partir daí, que é atualmente nomeado cada caixa Nome seis. Então vamos selecionar esse cara. E você pode ver como ouvir a visão do designer, isso meio que mudou nossos pontos de vista sobre isso. Podemos vê-lo, estava abaixo dos limites da nossa caixa de pergaminho aqui. Vou apertar F2 nisso imediatamente para renomeá-lo. E isso vamos chamar de xixi xixi xixi porque provocação é divertido, certo? Tudo bem, nós vamos deixar este widget de texto aqui, embora nós vamos definir o texto para isso. E vamos definir o texto para isso ser provocação, provocação perna. Então, e é claro que devemos realmente renomear o próprio widget. Então eu vou chamar este texto de sublinhado. Provocações. Parece um belo nome. Certo, a próxima coisa que quero fazer é adicionar uma caixa lateral
, como fiz no último vídeo. Mas, em seguida, dentro da caixa de tamanho vai esta caixa de combinação widgets. Primeiro, vamos encontrar uma caixa de tamanho. Ali está no meu paladar. Vou arrastá-lo e soltá-lo aqui na nossa caixa horizontal assim. E vai ser apenas uma pequena lasca por enquanto porque eu preciso colocar algumas coisas dentro de lá e então nós vamos decidir o quão largo queremos que seja. Então, antes de eu começar a definir os parâmetros para a nossa caixa de tamanho, seguida eu vou encontrar esta caixa de combinação. Então vamos passar por baixo do nosso painel de paladar aqui e fazer uma busca pela caixa de combinação. Essa é a arma ansiosa, caixa Campbell. Vou arrastar e soltar isso em cima da nossa caixa de tamanho assim. Tudo bem, e agora você pode ver que parece que é esta pequena seta para baixo aqui. E novamente, a razão pela qual isso parece tão pequeno, tão pequeno é porque não definimos nenhum detalhe para nossa caixa de tamanho. Então, vamos nos certificar de que temos nossa caixa de tamanho selecionada aqui. E novamente, eu vou tentar renomear isso me livrando desse 52. Mas se este vídeo for parecido com o último, vou configurá-lo para a caixa de tamanho, aperte Enter. E dessa vez ele se livrou do 52 no final. Não sei porquê. Oh, há uma caixa giratória. E da última vez que tentei me livrar do número da caixa de rotação, ele não iria embora. Isso estava me deixando louco entre vídeos, o ADD e eu tentando nos livrar disso, e não vai se livrar dele por qualquer motivo. De qualquer forma, de volta ao assunto. Há nossa caixa de tamanho no painel Detalhes. Queremos explicar explicitamente a largura que queremos a nossa caixa de combinação. Então eu vou verificar esta largura substituir novamente. Isto é para o nosso layout infantil. A caixa de combinação é considerada uma criança da nossa caixa de tamanho porque é colocada dentro dela. Por isso, ao clicar
nisto, permite-me definir a largura que quero que a nossa caixa de combinação seja. Então eu vou dizer que eu quero que isso tenha 150 pixels de largura. A propósito, é a mesma largura que esta. E agora, é claro, eu não quero isso atrapalhado contra minhas provocações de texto. Então, na área de tamanho, eu vou mudar isso de auto para preencher mudando isso para Bill. Agora eu posso usar essas configurações de alinhamento horizontal aqui. Então eu vou escrever justificar isso. E agora vai respeitar a minha largura de 150. Quando você tiver este definido para preencher horizontalmente, ele irá substituir seu Override aqui se isso fizer algum sentido. Tudo bem, aí está. Preencher, certo, justificou uma sobreposição de 150 para a nossa caixa de tamanho. Entendi, ótimo. Muito bem, a seguir vamos selecionar a nossa caixa de combinação. Tente renomear isso. Vamos tentar nos livrar desse pouquinho no final. E se eu apertar “delete “aqui e “enter , é
claro, não vai gostar disso. Então, o que quer que vamos deixar, está tudo bem. Hábitos, você está fora. Tudo bem, sob o painel Detalhes, sob a seção de conteúdo, temos que fornecer algumas opções. Novamente, este é um pouco de um seletor suspenso aqui, temos que decidir quais são as nossas opções que vão ler como. E podemos fazer isso clicando neste pequeno
botão mais aqui sob nossas opções padrão. Vou clicar nisto uma, duas e três vezes. E, claro, começa com o elemento 0 aqui, porque os programadores gostam de contar a partir de 0. E eu vou chamar este primeiro provocador um. E o próximo será, sem surpresa, chamado de provocação também. E o próximo será chamado de provocações. Três agora são selecionados opção é qual
deles vai mostrar como a opção selecionada quando chegamos a esta tela pela primeira vez. Então eu vou definir isso para ser ensinado um, assim. E a direita. E então vamos entrar em nossas configurações de estilo em. Vamos ver o que podemos mudar aqui dentro. Novamente, há um monte de coisas que podemos definir aqui e eu não vou definir todas elas, mas eu vou vir sob estilo, estilo caixa de combinação. Vou expandir isso. Então eu vou entrar no estilo de botão. E novamente, um monte de coisas aqui que você pode mudar. Você pode alterar o estilo deste botão se quiser. Dependendo se é o estado normal, o estado flutuante, ou o estado da imprensa, vou deixar tudo isso como está. No entanto, eu quero acessar o som pressionado e o som pairado. Então o som pairado é um som que vai tocar
assim que passarmos o mouse sobre esta caixa de combinação, assim, The Press out vai tocar quando clicarmos nesta caixa de combinação, etc. Então vamos fazer o som pairado para. Então eu vou clicar aqui. Vamos escolher. Solte o item do navegador de conteúdo. Esse é o que estou procurando. E novamente, este é um som de motor, como você pode ver a partir dessa dica de ferramenta que, por alguma razão, está aparecendo lá em baixo. E se você não vir seu motor, isso é som. Isso ocorre porque ele está em suas pastas de mecanismo e você tem que vir Opções de
exibição e certificar-se de mostrar conteúdo do mecanismo está sendo exibido. Então, vamos definir que para soltar item do navegador de conteúdo tentou tornar isso legível para vocês. Para o nosso som de imprensa eu vou selecionar para bem aqui. E isso por si só, a
propósito, é uma caixa de combinação, certo? Quero dizer, olha para isto, temos uma pequena lista suspensa aqui. Eu clico nisso e posso escolher alguma coisa, certo? Isso é essencialmente o que estamos construindo aqui. Vou escolher uma seleção. Mudanças. Este som dois está no caminho do motor. Certo, então temos esses conjuntos. Agora, apenas uma coisa a mencionar aqui é que eu tenho um som de imprensa que eu posso encaixar aqui. E você também pode ver aqui embaixo que você tem um som de imprensa. Vou deixar este em branco. Estes são redundantes, então vou deixar este em branco. Só saiba que por ter dito aqui, vai funcionar muito bem. Agora, para nossa seleção, mude o som quando você muda pela primeira vez ou quando você altera sua seleção de caixa de combinação de algo diferente do que é. Agora, neste caso, seria ensinado um número, um por padrão. Então tocaria um som. Assim, ele só reproduz um som quando você muda de sua seleção atual. Nesse caso, selecione uma para outra seleção. Eu vou deixar isso em branco também, mas só para você saber o que isso faz. Tudo bem. Vou rolar um pouco mais para baixo. Temos essa seção de fontes aqui, vai expandir isso. E esta fonte vai afetar essas opções aqui em cima são ensinados 123. Então eu vou definir minha família de fontes. Na verdade, vou deixar a família da fonte como Rubato. Rubato, não sei como dizer isso. Eu vou mudar o tamanho da fonte aqui para ser 25 embora. Tudo bem, então eu acho que isso é tudo o que queremos definir aqui. Então vamos tentar isso. Vou compilar e salvar. E uma vez que compilamos, você pode ver que esse texto imediatamente preenchido com aqui. E depois salvamos, vamos dar uma jogada a isto. Eu vou tocar isso como para trazer isso. Agora observe que não vemos essa opção dentro da nossa caixa de rolagem
porque ela está abaixo de nossos limites aqui você pode ver a borda inferior da nossa caixa de rolagem. Mas se eu usar a roda do mouse nesta região, eu posso realmente rolar para baixo. Então agora podemos ver que caixa de rolagem funcionando. Se eu estiver fora dos limites da minha caixa de rolagem como estou agora, eu sou rato disposto para cima e para baixo, mas nada aconteceu. Assim, podemos ver que nossa caixa de rolagem está funcionando. Aí está a minha categoria TA1. Você ouviu esse som assim que eu pairei sobre ele. Você ouviu aquele som quando eu cliquei nele. E eu vou mudar isso para dizer tau1, T2. E agora eu não toquei nenhum som para minhas cadeias de seleção. Então você não ouviu nada lá. Vou deixar isso sem tocar nenhum som porque,
eventualmente, através de alguns scripts, faremos nosso personagem dizer uma provocação quando eu mudar de digamos, dois para três, etc. Então é por isso que eu não estou definindo nenhum som de mudança de seleção agora eu vou fazer alguns scripts manuais mais tarde. Tudo bem, pessoal, isso vai fazer tudo para o nosso layout ensinado aqui. Trabalho, bem feito. Vemo-nos no final agora, se pensarmos bem, esta caixa de combinação pode ter todos os tipos de bons usos para jogos. Pense em usar esta caixa de combinação dois itens equipar em seus personagens. Talvez você possa usá-lo para atribuir um feitiço a um certo espaço. Ou talvez você possa usá-lo para atribuir vantagens a um personagem. Muitos usos possíveis para a nossa caixa de combinação. Vou deixar você pensar sobre isso. Tudo bem, pessoal, isso vai fazer tudo por este. Veremos quando o próximo.
60. Layout de cores em atributo: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é adicionar a capacidade para o nosso usuário. Isso é você para selecionar seu personagem é cor fazendo uso de um painel de grade e alguns widgets de botão. Agora, eventualmente, vamos fazer essa seleção de cores impactar a cor da interface do usuário do personagem, o fundo aqui, a cor desse fundo. Mas primeiro, temos que fazer nosso layout de grade para exibir algumas opções de cores. Então só para revisar o que temos acontecendo aqui, meu widget de fundo de imagem, esse cara aqui, o primeiro widget. Acho que foi o primeiro widget que adicionamos ao nosso layout aqui. Atualmente ele está sendo ligado a uma função de cor get. E se eu navegar até isso clicando
nesta lupa pequena vai nos saltar para a aba gráfico. E está mostrando o que esta função está fazendo. Ele está indo dentro de nosso alcance dentro de nossa referência de instância de jogo, onde nós temos nossa função de dados de personagem get, que é onde ele mora. E dentro daqui estamos pegando a cor de qualquer jogador estamos apontando nesta função de dados de personagem get dentro de lá. Tudo bem, nós vamos fazer isso para que eventualmente de volta em nossa guia designer, nós vamos ter uma linha de diferentes botões coloridos aqui. E quando selecionarmos esse botão colorido, ele vai mudar. Ele vai atualizar nossa seleção de personagens coloridos. Tudo bem, agora isso vai envolver alguns scripts bem abaixo da estrada. Nosso objetivo neste é simplesmente obter aqueles botões com cores
diferentes sobre eles que um usuário pode selecionar vai se preocupar com todos os scripts abaixo da estrada. Ok? Primeiro, se você não sabe onde estou agora, você fez uma pausa entre os vídeos. Estamos dentro da pasta de widgets de interface do usuário do personagem de conteúdo, clique duas vezes na UI de caracteres WEP. E, assim como uma atualização, estamos trabalhando dentro de nossas habilidades do painel de tela do
switcher de widget e estamos no fundo aqui. Sim, de fato, temos uma hierarquia totalmente definida aqui. Ok, agora temos mais
uma caixa horizontal aqui que está abaixo dos limites da nossa caixa de rolagem. E se eu passar o mouse sobre ele, você pode ver aqui que ele descreve. Vou selecionar isso. Agora, dê uma olhada. Ele vai movê-lo para cima no lugar aqui na nossa barra de rolagem. Tão fraca que nossa caixa de pergaminho, devo dizer, é para que possamos vê-la. Mas eu não quero que este seja um widget de caixa horizontal. Quero um widget de caixa vertical. Eventualmente, o que estou apontando aqui é uma barra de nomes aqui. Eu vou ter essa cor de leitura e então eu quero ter alguns botões com algumas cores sobre eles. Então o que eu vou fazer é transformar essa caixa horizontal em uma caixa vertical. Eu poderia excluí-lo e simplesmente adicionar uma caixa vertical, mas então eu não teria a chance de mostrar o que eu estou prestes a mostrar. Então, observe este ícone aqui para a nossa caixa horizontal. É colocado de lado assim. Ok. Eu vou agora transformar este ano caixa horizontal em uma caixa vertical. E é assim que vai ser feito. Vou selecioná-lo clicando com o botão esquerdo sobre ele. Então eu vou clicar com o botão direito sobre ele. E vou substituí-lo por este cardápio de flores. Vou substituí-lo por uma caixa vertical. E quando eu faço esse pequeno ícone agora mostra uma caixa vertical em vez de uma caixa horizontal. Ainda aparece como a caixa de nome H. Então isso não é confuso. Certo, vamos renomear isso. Então eu vou apertar F2 sobre isso, e vamos chamar esta caixa V para cor de sublinhado de caixa vertical. Tudo bem, a próxima coisa que eu vou fazer é selecionar, eu vou ter que expandir este pequeno triângulo aqui
fora porque nós vamos fazer algum trabalho dentro da nossa caixa vertical. Aqui temos as nossas mensagens. Vamos mudar o nome imediatamente. Eu vou para F2. E vamos simplesmente chamar essa cor de sublinhado de texto. E vamos mudar os textos reais aqui para que isso possa ser feito no painel Detalhes. Vamos chamar isso de cor. Tudo bem, a próxima coisa que eu quero fazer é adicionar um painel de grade em nossa caixa vertical. Certo, vamos encontrar um painel de grade aqui em nossa seção de paladar. Painel de grade. Esse é o cara, esse cara aqui, não uniforme. Vamos escolher o painel da grade. Painel de grade. Eu vou selecionar isso e eu vou soltar isso em cima da minha caixa vertical, assim. Agora você não pode ver porque eu tive que rolar um pouco para baixo na minha hierarquia. Ok, a seguir vamos selecionar nosso painel de grade. Painel de grade para ajudar, ajudar. Claro. Vamos deixar esse nome porque você não tem me permitido apagar isso às oito horas e isso está me deixando louco. Ok, a próxima coisa que vamos fazer é especificar algumas colunas. Podemos preencher para o nosso painel de grade, e isso pode ser feito aqui nesta seção de regras de preenchimento. Então, onde diz Coluna Phil, vamos clicar nisto uma vez. Vamos clicar nisto duas vezes. Vamos clicar nisto uma terceira vez, uma quarta vez e uma quinta vez. Então queremos ter cinco colunas diferentes onde cinco botões coloridos diferentes podem viver. Agora, quais são esses valores aqui? Essencialmente, estas são a sua coluna esperando para que você possa especificar quão dominante, largura de uma coluna é versus outra. Eu vou definir minhas colunas para ser igual ponderação de 111, 11. Isso é basicamente especificar aqui que todas as minhas colunas serão igualmente amplas. Se você quisesse esperar que algo fosse um pouco mais largo, você daria um valor maior. Pode testar isso no seu tempo livre. Estou num ano de crise temporal. Tudo bem, eu não vou declarar nenhuma linha aqui, mesmo que eu vou ter alguns botões que se encaixam em uma fileira. E a razão pela qual eu não vou fazer isso é porque até mesmo a lógica diria que precisamos ter pelo menos uma linha para nossos botões preencherem. Irreal é inteligente o suficiente para saber que vamos de fato. Ter uma linha se nenhuma linha for criada. Então eu só vou mostrar isso também por não criar uma linha. Haha. Muito bem, a próxima coisa vamos adicionar um botão. Vamos encontrar nossa palete sob a seção comum. Um botão. Vou arrastar e soltar isso em cima do painel da grade assim,
ver como ele está cercando o painel da grade. E quer saber, vou tentar renomear meu painel de grade aqui, tentar me livrar desse 288. Pressione Enter. E com certeza alto
, me permitiu me livrar disso desta vez. Inchar. Certo, vamos selecionar nosso botão aqui. Nós vamos renomear isso imediatamente, apertando F2, eu vou chamar este botão sublinhado vermelho. Tudo bem, e virando minhas notas de página, eu preciso especificar alguns detalhes sobre isso. Então, em primeiro lugar, nós temos, e notar que ele está entalhado dentro de nossa libra grade porque é uma criança do nosso painel de grade. Está entalhado dentro dele. Temos estes conjuntos de parâmetros bem aqui. Diz ranhura. Está entalhado em quê? Nosso painel de grade. Então, esses são todos parâmetros especificando o que você pode definir porque ele está em um painel de grade. E um deles é o que rho e em que coluna você quer que ele esteja? Agora, este é o primeiro botão. Queremos isso na linha 0. Só temos uma fileira aqui. Será rho 0 na coluna 0, nossa primeira coluna, então não precisamos mudar nada lá. No entanto, eu quero mudar meu alinhamento horizontal e vertical para ser centralizado e centralizado assim. E, atualmente, isso é o que temos. Não se preocupe, vamos agitar isso um pouco mais aqui. Só uma nota rápida aqui. Você tem alguns parâmetros de empurrar aqui. Então você pode empurrar isso de um lado ou de outro. Como se eu acertasse 50 lá você me visse apenas empurrá-lo daquele lugar para aquele ponto. Então só saiba que você tem a capacidade de empurrar seus botões aqui da esquerda para a direita, se você assim escolher a direita. Vamos entrar em nossa seção de aparência. Vamos definir uma imagem para os nossos normais são Hubbard e são pressionados. E a imagem que eu estou indo para encaixar vai ser chamado t círculo sublinhado. Esta textura aqui. O tamanho da imagem é 75 por 75. Isso é o que queremos. Nós vamos desenhar isso como mesmo que ele nos mostre o círculo, eu vou dizer desenhar como uma imagem para ser realmente específico com ele. E novamente, vamos definir esses mesmos parâmetros para pairar e pressionar também. Então sob pairado, vamos fazer t círculo sublinhado. Esse tamanho da imagem é ótimo. Novamente, não quero que apareça assim se estivermos pairando sobre ele. Então eu estou indo para o extra cuidado aqui e definir isso como imagem para que ele vai aparecer assim. E, em seguida, sob a categoria de imprensa, este vai ser t sublinhados círculo também. E nós também vamos desenhar isso como e imagem. Agora, se eu continuar rolando para baixo, eu posso definir um som de imprensa em um som hubbard para isso. Vou fazer isso imediatamente. Vamos fazer nosso som pressionado primeiro, vamos expandir isso e eu vou procurar por flutuar você. Fecho o mais alto de novo, que também está no conteúdo do motor. Para o som pairado, vamos colocar em punho de gizmo clicado. Isso também está no conteúdo do motor. Tudo bem, então agora que temos um botão aqui, nós deveríamos realmente, você sabe, duplicar esta coisa algumas vezes porque nós vamos ter vários botões. Isso seria bom, certo? Vamos fazer isso imediatamente. Então, vou pegar este botão aqui. Vou clicar com o botão direito do mouse. Vou dizer “copiar”. Então eu vou selecionar meu painel de grade aqui e eu vou colá-lo uma vez. E reparem que vai saltar para cá. Então você tem que selecionar seu painel de grade novamente. Paga duas vezes. Selecione o painel Grade novamente. Vamos colar uma terceira vez e, em seguida, vamos selecionar nosso painel de grade novamente, clicar com o botão direito e colar uma quarta vez. Agora, todos esses botões estão atualmente em cima um do outro, então temos alguns consertos para fazer aqui. Vamos começar renomeando todos os nossos botões aqui. Então eu vou selecionar esse cara bateu F2, este vai ser Button laranja. O próximo atingindo F2. Este vai ser um botão. Você adivinhou, amarelo. Próximo, botão F2 verde, e o próximo botão, azul. Agora, a primeira coisa que precisamos fazer é definir todos esses botões diferentes nas colunas apropriadas. Então eu tenho meu botão lido aqui. E se eu rolar para cima, eu posso ver que ele está na linha 0, coluna 0, deixe-me selecionar laranja em seguida. Isso vai ser na fila 0. Vamos dizer coluna um. E você vai ver que vai pular isso. Vamos selecionar amarelo próximo, que será na linha 0 coluna para selecionar o botão verde seguinte, que será na linha 0, coluna três. E, finalmente, vamos selecionar o botão azul, linha 0, coluna quatro. E agora você pode ver que ele está espaçando uniformemente tudo aqui fora. Agora, se eu fosse voltar para minha grade LB, isso é apenas para mostrar a vocês muito rapidamente aqui. Novamente, eu tenho igual ponderação entre todas as minhas colunas como se eu fosse dizer, eu quero uma coluna para o ano, minha última coluna para ser maior em tamanho. Vou definir isto para cinco. Veja o que acontece. De repente. Vai conseguir, vai alocar uma grande parte do meu Rho aqui para a coluna número quatro, que não é o que eu quero. Então, só mostrando isso lá. Ok, a próxima coisa que eu vou fazer é ir com esses botões novamente e vamos selecionar cada um desses. E eu vou pedir a todos que pintem isso apropriadamente. Vermelho, laranja, amarelo, verde e azul. Não quero fazer isso tudo na câmera. Por isso, no interesse do tempo, vou pedir-te para fazeres isto sozinho. Faça o normal, o pairado na imprensa também. Você pode querer ter algumas variações de cor sutis. Então eu vou colorir este vermelho e eu vou ter este um vermelho afiado só para demonstrar um. Este vai ficar todo o caminho vermelho para um estado normal. Quando eu estiver pairando sobre ele, eu quero que ele seja apenas um pouco menos do que vermelho completo. Então talvez seja um pouco de cor rosada, algo assim. E então, para a imprensa, eu vou ter que ser totalmente vermelho assim. Então você provavelmente vai querer fazer algo assim para o seu verde ou viu seu laranja, amarelo, verde e azul. Uma pausa o vídeo aqui e se juntar a você em apenas um pouco. E como podem ver, agora
tenho cores associadas a cada um dos meus cinco botões diferentes aqui. Aqui está um exemplo das cores normais que eu defini para o meu botão vermelho. Eu fiz as mesmas coisas pelos meus botões laranja, amarelo, verde e azul também. Agora mais uma coisa que eu queria falar sobre para todos esses widget Button que eu ainda não
cobriu que eu queria é novamente, com estes ranhurados dentro do nosso painel de grade, temos acesso a essas configurações de linha e coluna, mas não falamos sobre as configurações de extensão de linha ou coluna. O que são esses? Bem, eu só vou demonstrar isso. Você não tem que seguir por aqui, mas caso queira saber o que pode fazer com isso, o que eles são. Vou demonstrar algo aqui rapidamente. Vou duplicar W controlado, meu botão vermelho. Vou para o Controle W, meu botão amarelo e meu botão azul. Tudo bem? E eu vou selecionar meu botão vermelho aqui e eu vou apenas movê-lo para baixo uma linha. No entanto, a fim de movê-lo para baixo uma linha, eu realmente tenho que criar algumas linhas mais. Então eu vou selecionar meu painel de grade aqui rapidamente. E agora eu vou dizer para preencher regras, eu vou ter duas linhas, 12 e eu quero que estas sejam igualmente ponderadas. Então eu vou dizer 100% em 100%. Então ponderação igual lá. Obviamente, eu sei que isso parece um pouco levantado agora, não se preocupe, eu vou selecionar agora botão, ler um e eu vou dizer que eu quero que isso seja na coluna é 0, mas nós vamos colocá-lo na fila um, assim. Agora, novamente, você não pode vê-lo porque ele está rolando para fora da parte inferior da tela aqui um pouco. Então deixe-me apenas redimensionar manualmente minha caixa de rolagem aqui. Atualmente tenho um tamanho de 600. Eu vou definir temporariamente isso para
800 para que você possa ver tudo um pouco melhor. Vou mudar isso no final do vídeo. Ok, então aqui está o meu botão vermelho, um, botão, amarelo. Vou pôr isso na primeira fila. E então eu vou colocar meu botão azul aqui para estar na primeira fila também. Então você pode ver agora que temos uma grade de botões. Mas, novamente, estamos falando sobre esses vãos de linha e coluna. O que são esses? Bem, veja isso. Se eu fosse selecionar este botão vermelho aqui em baixo. E eu deveria mudar meu alinhamento horizontal e vertical para não ser Central, mas as opções de preenchimento. Então essa é uma coisa que estou preenchendo minha coluna inteira aqui. A próxima coisa que vou fazer é desenhar como em vez de um círculo. Eu vou desenhar isso como uma, em vez de uma imagem, eu vou dizer que eu vou desenhá-lo como uma caixa e agora ele vai tipo de preencher toda
esta área apenas para torná-lo um pouco mais fácil de ver. Não é realmente uma caixa, mas é uma espécie de caixa. Próximo. E é aqui que a magia realmente vai entrar. Para a minha coluna, vou mudar isto para dois. E uma vez que eu apertar Enter relógio, o que acontece. Agora abrange duas colunas. Se eu fosse mudar isso para três, agora
vai abranger três colunas. E se eu fosse definir isso para quatro, agora
vai abranger quatro colunas e assim por diante e assim por diante. Por que isso pode ser útil? Bem, imagine se você quiser, e você tinha um painel de grade e talvez uma linha que você queria ocupada por uma barra de cabeçalho inteira. Isso permitiria que você fizesse isso sem quebrar toda a grade. Assim, você pode ter uma grade com uma barra de cabeçalho de tipos ou uma barra de rodapé. Então escolha. Então o que eu vou fazer agora é agora que eu tenho demonstrado o uso de span de coluna, só sei que span de linha é o mesmo tipo de conceito apenas em forma de linha, não forma de colunas. Vou apagar os meus botões vermelhos, amarelos e azuis. Eu vou definir meu painel de grade para não ter linhas mais uma vez, e eu vou definir minha caixa de rolagem mais uma vez para ser um tamanho de 600. Tudo bem, vamos compilar e salvar isso rapidamente. E antes de terminar isso, eu só queria que você pensasse um pouco mais sobre possíveis usos em seus projetos para um painel de grade porque há muitos deles. Deixe-me apenas ir para a interwebs aqui e mostrar-lhe alguns exemplos de painéis de grade no trabalho. Aqui estamos Lenda de Zelda, Sopro da Selvagem. Este é um painel de grade para itens de inventário. Que tal algo como Madden Football? A classificação? Sim, painel de grade. Incrível. Muitos usos, muitos usos para painéis de grade em jogos. Certo, pessoal, isso vai acabar com isso. Vemo-nos na próxima.
61. Script de seleção - Mouse: Nós vamos criar algum script dentro do nosso personagem UI Widget Blueprint que nos permitirá selecionar nossas diferentes guias de personagens aparecem, a guia habilidades e a guia de atributos. Agora, por enquanto, vamos nos concentrar apenas na funcionalidade do mouse. Vamos nos preocupar com a funcionalidade do gamepad, o pára-choques direito e o pára-choques esquerdo mais tarde. Agora eu sei que nós não temos nenhuma das nossas funcionalidades aqui sob os atributos ligados ainda. Não se preocupe, vamos chegar a isso, mas por enquanto eu só quero ser capaz de alternar entre diferentes categorias de personagens. Tudo bem, vamos escapar daqui. Vamos nos certificar de que estamos todos na mesma página. Editor de nível principal sob a pasta de widgets de interface do usuário do personagem de conteúdo. Novamente, estamos fazendo o trabalho dentro da UI do personagem WEP. Então clique duas vezes naquele cara para abrir. E neste vídeo vamos fazer todo o nosso trabalho na guia gráfico,
especificamente o gráfico de eventos da nossa guia gráfico. Agora, só para mostrar o que temos aqui na aba Designer, temos esses dois botões de categoria diferentes. E enquanto eu os seleciono, você pode ver no painel Detalhes que há uma caixa de seleção ao lado de cada um deles dizendo que é uma variável. E isso é importante porque com isso marcado e ele é verificado por padrão na guia gráfico, podemos encontrar botão categoria um e botão categoria dois na seção variável do painel Meu plano. E isso é importante porque quando você tem acesso a eles, nós temos acesso aos eventos associados a
eles porque nós vamos adicionar alguns desses eventos ao nosso gráfico bem aqui. Eu tenho categoria de botão em um selecionado, que é nossos botões de habilidades. Então, com isso selecionado aqui no painel Detalhes, eu vou clicar aqui onde ele diz on-click. Vamos adicionar um evento para quando clicarmos neste botão. Tudo bem, então isso vai adicionar este evento. E agora, em primeiro lugar, vou clicar com o botão direito do mouse em nós ao adicionar nó comum, apenas me avisando que essas são minhas habilidades. Ops, clique com o botão direito Sem comentários. Este é o meu botão de habilidades que me ajudará a identificar facilmente. Agora, o que eu quero que aconteça quando eu clicar neste botão? Bem, na verdade quero que algumas coisas aconteçam. A primeira coisa que eu quero fazer é despejar de volta para a minha guia Designer aqui é que eu quero ter certeza que o meu switcher de widget está dizendo que eu quero que este seja o widget ativo. Assim, com o meu switcher de widget selecionado, novamente, eu posso definir qual é o meu índice de widget ativo, índice 0. E novamente ele começa em 0 ou 10 é a primeira coisa anexada aos meus widgets que estão aqui, isso é habilidades do painel de tela ou atributos do painel de tela é o número um. Agora, se eu estiver clicando na guia de habilidades, eu quero que este seja o índice de widget ativo de 0. Então, na guia gráfico, vou arrastar uma referência do meu switcher de widget para o meu gráfico. E com uma referência aqui, eu vou obter isso e eu posso arrastar para fora dele e fazer uma pesquisa para
definir índice de widget ativo. Novamente, uma vez que você tem uma referência a algo, neste caso nosso switcher de widgets, você tem acesso a todos os vários detalhes dentro dele,
como nosso índice de widget ativo. Então esse é o poder de ter uma referência a algo. Você pode então modificar alguma coisa sobre ele, neste caso são índice widget ativo. Então, aqui queremos nosso índice de widget ativo se estamos selecionando nosso botão de habilidades para ser o índice de 0. Então ele mostra aquele painel de tela. Tudo bem, isso não é tudo o que queremos que aconteça. Eu vou secar aqui e trazer um nó de sequência porque eu quero que mais algumas coisas aconteçam. E eu quero organizar este melhor que eu tenho. Algo aconteceu aqui em cima e então algo aconteceu aqui em baixo. Então isso é apenas aqui para fins organizacionais. Então a primeira coisa que quero que aconteça é algo para abotoar. Oh, botão de um ano categoria O1. Não se confunda com a habilidade do botão O1, mas na categoria um. Então eu vou arrastar em uma referência a esse cara, nós vamos pegá-la. E então eu vou arrastar um fio para fora disso e dizer set renderer scale. Agora, novamente, porque eu tenho uma referência a este botão, eu posso modificar alguma propriedade sobre essa escala, enquanto que na nossa guia designer,
Bem, se eu selecionar o botão Categoria 01 e eu rolar todo o caminho para baixo, nós temos em nossa seção de renderização, renderizar transformar algumas propriedades de escala que eu posso modificar. Então, quando selecionamos isso, eu quero que este botão apenas cresça em tamanho e um pouco, apenas para ser um pouco mais proeminente. Então eu vou definir isso para ser 1.11.1. Portanto, 1 é o padrão. 1.1 vai ser um pouco maior, 10% maior. Então essa é a primeira coisa que eu quero que aconteça com o botão categoria um. Eu também quero arrastar para fora disso e eu quero definir a cor de fundo. Agora só para tornar isso mais fácil saber qual categoria eu selecionei, eu quero que esse botão para crescer e também eu quero mudar a cor de fundo do botão. Vou clicar aqui nesta pequena cor de preto bem ali. E eu vou definir isso para ser amarelo. Tudo bem, então isso vai destacar essa aba amarela. Posso fazer um teste agora mesmo. Então vamos tentar isso. Vou compilar aqui, só ter certeza que meu script é bom e não está feito ainda. E eu vou salvá-lo. Vou clicar em jogar, tocar assim. E agora, quando eu selecionar este botão, o botão de habilidades, ele deve crescer em tamanho e deve ser destacado em amarelo. Você também vai notar, por isso é crescido em tamanho é destacado em amarelo. E você percebe que o switcher de widget está agora dizendo, mostrar os widgets que são índice 0. Esse é o painel de tela para nossa habilidade. Então, tudo isso já está funcionando. Agora. Eu quero fazer outra coisa aqui, e eu só quero ter certeza de que minha outra categoria de botões, neste caso, botão categoria dois, está ajustado de volta ao seu tamanho normal e sua cor normal caso eu esteja alternando entre eles. Então vamos pegar um pouco de atalho aqui. Vou destacar esses dois nós. Eu vou, eu só fiz isso clicando com o botão esquerdo e arrastando. Vou fazer o controle C para copiar, controlar V para colar. Ponha estes aqui em baixo. Agora vou apontar meu botão categoria dois, não 12 para ser o alvo para isso. E isto. E eu vou apenas trocar os valores associados a cada um. Eu vou definir o valor aqui para ser 11, e eu vou definir a cor de fundo aqui para ser de volta para o valor RGB branco
reto de 111. Agora, novamente, o que eu estou essencialmente assegurando ouve quando eu clicar no botão categoria um, eu vou definir o meu switcher widget para mostrar o índice ativo de 0. Ou seja, esse é o meu painel de tela aqui, porque essa é a primeira coisa anexada ao meu switcher de widgets. E isto começa a contar em 0. Então eu vou mudar meu widget switcher índice ativo aqui para 0. Então eu estou dizendo, OK, fazer botão categoria um, o botão habilidades crescer em tamanho e ser branco e garantir que isso vai garantir que, se nós estamos alternando entre os dois, categoria de botão para o botão de atributos volta ao seu tamanho normal e é colorido assim. Agora esta parte é importante por causa do que estamos prestes a fazer. Quatro, botão número dois aqui, categoria de
botão para, vamos em frente e encontrar categoria de botão para. Vamos selecionar isso. Vamos adicionar um evento onclick para aquele cara. E agora vou destacar todo esse roteiro aqui em cima. No entanto, eu estou indo para desmarcar minha categoria botão, quer um controle pressionado no clique esquerdo, Eu agora desmarquei que. Observe o contorno amarelo ao redor de todo o resto. Então, isso é destacado. Vou fazer o controle C para copiar, controlar V para colar. E eu vou mover todos esses nós aqui, assim. E agora eu vou dizer, eu vou colocar um comentário de nó sobre isso clicando com o botão direito do mouse. Este vai ser meus atributos atributos de botão. Agora, quando clicamos sobre isso, queremos ter certeza de que o nosso switcher widgets está apontando para o índice de um. Certo, então temos que trocar algumas coisas aqui. Além disso, eu quero trocar quais botões estão associados a cada um. Se eu estou clicando no botão também, Eu quero botão para, para crescer em tamanho e ser amarelo. Então tudo que tenho que fazer aqui é trocar esses dois caras. Agora, nós temos alguns cruzar os fios aqui. Então o que eu poderia fazer é clicar com o botão direito do mouse em qualquer um desses nós aqui. E eu posso dizer quebrar links de nó. Vou clicar com o botão direito do rato neste. Quebrar links de nó. E agora eu vou ligar botão para, para crescer em tamanho. Botão para, para ficar amarelo para quando selecionarmos esse botão um agora, eu vou dizer, hey, você vai voltar ao seu tamanho normal quando eu selecionar o botão dois, e você também vai voltar para suas pernas de cor normal. Ok. Agora vou clicar com o botão esquerdo e arrastar esses
dois caras e esses dois conjuntos bem aqui. Vou tocar no CQI para trazer uma caixa de comentários. E eu vou simplesmente chamar é alternar abas para exibir através de widgets. Então, o que quer e definir barra de escala, cor. X. Tudo bem, eu também vou fazer minha categoria aqui, minha caixa de comentários aqui ser preto reto, que mistura fios, pop um pouco mais. E vamos compilar aqui para ter certeza de que meu roteiro está tudo bem. Parece que está bom para ir. E eu realmente vou mover este bloco de script para cá só porque eu gosto de organizá-lo um pouco. Tudo bem, agora eu vou clicar em Play. E antes que eu faça muita coisa aqui, uma vez que eu pular, eu vou bater naquele e qui. Certo, observe antes de eu fazer qualquer coisa que não temos nenhuma categoria selecionada aqui por padrão. Vamos consertar isso em um momento. Mas agora note que quando eu seleciono meus atributos, boom, ele cresce em tamanho e é amarelo. Ele estava mostrando isso por padrão. By the way, quando eu selecionar, selecionar habilidades, boom, ele vai trocá-lo por cima. Vai crescer isso em tamanho mostrado em amarelo. E ele colocou isso de volta ao seu tamanho e cor padrão, mostrando a informação apropriada cresceu em tamanho, mostrado em amarelo. E o redimensionamento, a re-colorir e mostrar as informações certas estão funcionando adequadamente. E agora o que precisamos corrigir é ter algo selecionado por padrão quando chegamos à tela pela primeira vez. Então esse é o nosso próximo passo. Agora, para fazer isso, isso vai ser simples. Vamos até a parte do nosso guião do Event Construct. E vocês devem se lembrar, fizemos algo semelhante a isso quando tínhamos uma habilidade padrão selecionada. Fizemos um roteiro lá atrás. Este vai ser bem parecido. Então também vamos precisar de um evento personalizado como tivemos aqui. Então nessa região, vamos clicar com o botão direito do mouse. Vou digitar eventos personalizados. Vamos chamar este evento de cliente porque podemos dar-lhe um nome, padrão, categoria selecionada. Tudo bem, eu vou deixar esse tipo de neste intervalo agora e eu vou fazer é diminuir o zoom e eu vou roubar algum script aqui do meu clique da categoria um. Então eu vou selecionar o meu switcher de widgets. Vou manter o controle pressionado e selecionar esse cara. E eu vou manter pressionado o controle e selecionar o botão categoria um, definir escala de renderização e essa cor de fundo. Então eu selecionei o controle, selecionei esses cinco nós. Então eu vou apertar o controle C para copiar esses nós. Então eu vou para o botão direito do mouse e arrastar até aqui. Vou controlar o clique esquerdo neste espaço aqui para me definir o controle V para colar estes. E agora eu só tenho que formatar isso assim. Nós vamos fazer assim. E nós vamos fazer assim. Então eu estou dizendo que quando este evento personalizado é chamado, nós vamos garantir que nossos switchers de widget vai mostrar o índice de 0. Essa vai ser nossa categoria de habilidades. Que Ross vai garantir que nosso botão de habilidades aqui é tamanho um pouco acima e está aparecendo em amarelo. Vou clicar com o botão esquerdo e arrastar tudo isso, tocar no CQI. E eu vou chamar essa falha D padrão. O que eu quero manter a habilidade padrão de nomeação selecionada lá em cima. Então este vai ser a categoria padrão selecionada. Tudo bem, e eu vou colorir caixa de comentários preto. E agora, de novo, isso não será chamado a menos que digamos para ser chamado. Então, a maneira que eu posso fazer isso, eu só vou rolar aqui em cima, um
pouco CR Event Construct bem aqui. Temos um nó de sequência que está se separando do nosso sinal de Constructo de Evento. E nós vamos apenas construir fora deste nó de seqüência e chamar para esses eventos personalizados. Então eu vou apenas digitar na categoria padrão selecionada. Lá vamos nós. Então, quando esta planta do widget for construída, vamos disparar sinais para fora daqui. E uma das coisas que vamos dizer é: “Ei, chame esse evento aqui para começar e isso vai fazer todo esse roteiro acontecer.” Agora note, se eu me livrar disso e disso, e eu apenas conectei isso aqui, isso faria exatamente a mesma coisa. No entanto, eu gosto de ter um pouco de uma conexão sem fio aqui para manter meus gráficos arrumados e limpos. Tudo bem, vamos compilar, salvar isso e jogar. Toque nisso. Gostei. Olha o que temos. Temos uma categoria é selecionada por padrão, a informação apropriada é mostrada, Ele é dimensionado para cima, é colorido em amarelo, e tudo parece estar em bom estado de funcionamento. Tudo bem, pessoal, isso vai fazer isso para como mudar nossas seleções de categorias com uma entrada de mouse de PC. Veja todos os caras no próximo vídeo.
62. Script de seleção - Controller: Muito bem, bem-vindos de volta a todos. No último vídeo, fizemos isso para que pudéssemos alternar essas diferentes categorias aqui com um mouse. Agora, como fazemos isso para que tenhamos nosso pára-choques esquerdo e pára-choques direito, alguma funcionalidade do controlador ligado para alternar essas categorias. Bem, é sobre isso que este vídeo vai ser. Então, vamos fugir daqui. Vamos nos certificar de que estamos dentro de nossa interface de usuário do personagem WPP. Você pode abrir esse cara vindo a este diretório e clicando duas vezes na interface do personagem WPP. E dentro daqui nós vamos estar fazendo algum trabalho sobre a guia gráfico. E eu quero que você navegue até onde acabamos de criar nossa alternância de guias. E isto foi para os nossos eventos onclick, para a nossa interface com o rato. Então o que vamos fazer é uma vez que você esteja dentro desta seção, vamos encontrar o nosso botão de categoria onclick,
um, que era o nosso botão de habilidades. Vamos clicar com o botão direito acima disto. Vamos adicionar um evento personalizado. E este evento personalizado que vamos chamar, vamos chamar isso, vamos chamar essa aba de habilidades selecionada. Claro, vamos chamá-lo assim. E eu vou colocar isso em um bem aqui. Então isso vai disparar da mesma maneira que quando clicamos nele. Agora vamos ter que chamar isso de um evento personalizado de outro lugar. Mas agora este é um corado e nomeado e no lugar e pronto para ser chamado para que guia habilidades selecionado. Isso é bom. Vou apenas clicar com o botão direito do mouse e rolar meu caminho até aqui, vou clicar com o botão direito do mouse novamente, fazer outra busca por um evento personalizado. E eu vou chamar este um Atributos guia selecionado. E vamos prender esse cara assim. Então este vai se comportar como se tivéssemos clicado em nossa guia Atributos. Muito bem, agora passo muito importante aqui com esses dois eventos personalizados criados, você deve compilar aqui, absolutamente crítico para o nosso próximo passo. E o nosso próximo passo será saltar para o nosso plano de controle de jogador. E se você esqueceu onde abrir, esse cara no Navegador de conteúdo está dentro dos blueprints da interface do usuário de caracteres. Lá está o seu controlador B P jogador. Clique duas vezes naquele cara para abrir para algum espaço vazio aqui no nosso gráfico de eventos. Então eu vou apenas manter o botão direito do mouse pressionado. Construiremos em algum lugar nesta seção. Agora, de volta ao nosso personagem WPP UI, você pode ficar aqui. Eu só vou pular aqui momentaneamente. Tínhamos um botão de para-choques esquerdo e escrever botão de
para-choque tipo de em exibição aqui na nossa barra de categorias para mostrar que, hey, é assim que você poderia alternar entre essas duas guias. Então vamos fazer isso acontecer. Aqui no nosso controlador de jogador BP, vou clicar com o botão direito do mouse e vou fazer uma busca pelo jogo, e é conhecido como ombros direito e esquerdo. Então ombro direito. Botão do ombro direito, que é o equivalente a pára-choques do ombro direito ou pára-choques direito, devo dizer. E então vamos fazer um clique com o botão direito do mouse. E isso vai ser uma busca pelo jogo pad, botão do ombro esquerdo. Ok, eu vou colocar a esquerda em cima
da direita aqui porque eu estou pensando sequencialmente aqui. Pára-choques esquerdo, pára-choques direito, ombro
esquerdo, ombro direito. Ok, então estas serão
as duas entradas que podemos inserir em um controlador para fazer algo acontecer. Agora, como vamos construir isso? Como vamos fazer isso para que nós realmente alternar qual guia que vamos estar focando sobre em nossa UI personagem WPP. Bem, no início do curso aqui fizemos uma referência ao nosso personagem W b p Yuan. Se eu clicar com o botão direito do mouse sobre isso, eu posso encontrar referências aqui e aqui em baixo em meus resultados finos, ele pode me mostrar onde eu tenho referências à minha interface do personagem WPP. Você encontra aqui que quando
estávamos fazendo nossa entrada para mostrar e esconder da interface do usuário do personagem,
Este é o lugar onde nós, nós criamos uma referência para a nossa interface do usuário do personagem. E isso vai ser muito útil agora, ter nossa interface de usuário de personagem armazenada nesta variável vai nos permitir
falar com elementos dentro de nossa interface de usuário do personagem WPP. Bem, o que queremos dizer? Vamos arrastar isto para fora. Arraste com o botão esquerdo do mouse. Nós vamos pegar isso. Agora, dentro da UI de caracteres WEP, queremos descobrir o que nosso switcher de widgets atualmente tem ativo. Lembre-se aqui em WPP personagem UI e um de nossos widgets de hierarquia aqui é nossas categorias de widgets switcher. Então vamos trazer uma referência a widgets que são categorias. Então, ouvindo o controlador do jogador BP, eu posso arrastar para fora da minha referência ao personagem WPP UI, que todo o Widget Blueprint. E eu posso fazer é procurar widget, widget switcher. Se eu conseguir soletrar direito. E eu quero obter a referência para os widgets, que são categorias. Então nós temos uma referência ao nosso, um blueprint aqui, um personagem UI widget blueprints para que pudéssemos obter uma referência para nossas categorias de widgets switcher. Tudo bem? E fora disso, nós queremos sair e nós queremos descobrir qual é o índice ativo. Queremos obter o índice ativo do widget. E o que é isso? Apenas como um lembrete, ouvir meu personagem WPP UI com os switchers de widget selecionados, eu quero descobrir qual é o nosso índice de widget ativo está em 0 ou um. Se for 0, mostraremos o painel de habilidades. Se for um, estamos mostrando o painel de atributos. Tudo bem, então aqui no nosso controle de jogador, eu vou apenas uma espécie de pilha de somar estes para que eu possa tipo de trazer isso mais para uma visão singular como assim. Ok, então fora destes eu vou fazer uma comparação. A primeira coisa que vou fazer é arrastar para fora do meu índice de widget ativo. Esta é uma variável inteira, como você pode ver, e eu vou fazer uma busca por igual. E eu estou procurando inteiro é igual a inteiro. Fez índice widget é igual a um. Então eu estou socando a palavra um aqui. Então eu vou sair daqui. E eu vou arrastar um nó de ramificação. E nós vamos ligar nosso nó de filial assim acima. Então aqui está o que estamos procurando. Se eu pressionar o botão do ombro esquerdo ou o botão do pára-choques esquerdo em um controlador, eu vou avaliar é os widgets que estão dentro do meu personagem UI é o índice widget ativo atualmente em um. E lembre-se quando era um, tivemos a guia de atributos selecionada se for igual a um, se isso for verdade, se essa condição for verdadeira, o que eu então quero fazer é chamar, eu quero chamar mais no meu w BP, Eu quero chamar a aba habilidades selecionado evento personalizado para
disparar para que eu faça este o ativo Na guia ativa, se você quiser. Então guia Habilidades selecionado como o que eu chamo isso aqui no controlador jogador BP. Eu posso arrastar para fora da interface do personagem aqui, assim, e fazer uma busca por habilidades. E lá está ele procurando uma guia de habilidades de função chamada selecionada, assim. Então, novamente, se eu pressionar o botão do ombro esquerdo quando meu índice de widget ativo é igual a um. Se isso for verdade, então eu quero dizer, ok, você está atualmente no SAB atributos. Em vez disso, vamos mudar para a aba de habilidades. Tudo bem, e vice-versa. Queremos fazer isso aqui em baixo. Então aqui eu vou arrastar para fora outro fio e digitar o símbolo de igual. Vai ser igual a inteiro. Mesmo notar esse cara, e desta vez eu vou deixar isso como um 0. Vou trazer outros nós de ramo. Eu posso arrastar para fora disso e fazer uma pesquisa por um nó Branch como alguns. E então a pergunta que eu estou fazendo antes de prosseguir com nosso botão do ombro direito sendo pressionado é que eu estou dizendo OK, quando eu pressionar o botão do ombro direito, qual é a condição aqui são meus widgets que estão atualmente em 0. O que significa que a minha aba de habilidades está aberta? Se for igual a isso, então eu quero trocá-lo. Se isso for verdade, então eu quero chamar minha guia Atributos para ser selecionado. Guia Atributos. No meu derramamento escrever atributos, guia atributos, o que eu chamo mais em WB q personagem UI, guia
Atributos selecionado, que é o que eu estou procurando. Atributos auto-selecionados. Oh, e a razão pela qual eu não estou encontrando porque eu preciso
arrastar um fio para fora da interface do personagem WPP. A única maneira que eu vou encontrar esse erro estúpido é se eu arrastar um fio para fora daqui porque ele vive dentro WPP personagem UI. Será lições aprendidas lá, Atributos, guia selecionado. Então, se isso for verdade, vamos dizer, hey, queremos ir para a guia de atributos selecionada. Agora estou aproximando estes por uma razão, por algumas razões. Na verdade. Uma delas é porque eu vou ter uma reprodução de som depois que esses nós são chamados. Não importa qual e dois, porque não gosto destes fios cruzados. Não gosto de fios que se estendem tão longe. Então o que posso fazer é desengatar cada um desses. Vou manter pressionada a tecla Alt e clicar com o botão esquerdo para cortar esses fios. E eu só vou trazer outra referência do meu personagem BW BP UI. Então eu posso fazer assim. Clique com o botão esquerdo do mouse aqui para obter um destino. E eu posso conectar isso assim vai fazer exatamente a mesma coisa. E realmente não importa quantas referências à nossa UI personagem W BP eu tenho aqui. Eu poderia ir assim se eu realmente quisesse. Eu poderia ter duas referências separadas para o meu personagem WPP UI. Realmente não importa. Tudo vai fazer a mesma coisa. Eu só gosto de ir com isso para o meu estilo. Certo, e por último, mas não menos importante, quero tocar um som aqui. Então eu vou arrastar fora de qualquer um desses pinos de execução. Tocar som, 2D. Novamente, um som 2D é aquele que não está localizado no espaço em algum lugar. Não vai soar como se estivesse a 50 metros de distância ou a 100 metros de distância. E o som que eu quero tocar aqui vai ser caminhável, janela aberta. E a razão pela qual estou escolhendo este som é porque este é o mesmo efeito sonoro. O mesmo efeito de som que no meu personagem WEP UI. Deixe-me ir para um desses botões aqui eu tenho o botão habilidades selecionado que se eu fosse para pressionar esse botão, ele iria tocar o botão vai janela som, mas isso é apenas se eu estou clicando nele aqui. Eu estou chamando isso para acontecer manualmente quando eu estou alternando essas abas através dos botões do ombro esquerdo e direito aqui. Certo, então isso deve estar funcionando agora, dedos cruzados. Indo para compilar isso rapidamente, vamos colocar uma caixa de comentário em torno deste clique esquerdo e arraste toque que CQI. E eu vou chamar essa categoria de alternância, guias de
categoria com controlador. E eu vou compilar salvar, e eu vou colorir este preto imediatamente. E, na verdade, isso não vai funcionar imediatamente. Mas vamos entrar e mostrar como não
vai funcionar agora que tenho um controlador ligado. Tenho o meu confiável controle Xbox ligado. E então eu vou tocar esta torneira assim. E agora estou. Eu tenho meu controle até o microfone aqui. Estou pressionando os botões do ombro esquerdo e direito e nada está acontecendo. E a razão e nada está acontecendo é porque lembre-se, quando trazemos nossa UI personagem WEP, quando fazemos isso, estamos, quando isso está aparecendo na tela, estamos chamando para mostrar, nós estão configurando o jogo a ser pausado. E lembre-se, quando o jogo for pausado, nós de
evento, como o gamepad esquerdo,
não serão disparados, a menos que no painel Detalhes com o selecionado, dizemos que isso pode ser executado quando pausar. Então eu vou verificar se dizendo sim, você ainda pode executar quando pausar. E então eu vou selecionar meu gamepad, certo? E diga que sim, você pode executar. Quando pausado. Vamos compilar mais uma vez. Vamos poupar mais uma vez. Vamos jogar mais uma vez. Batendo assim como. Vamos tentar o botão direito do ombro. Boom. Agora, se eu tentar pressionar o botão do ombro direito novamente, nada acontece no entanto, botão do ombro esquerdo. Rachel ou Botão? Esquerda. Esquerda de novo, nada certo. Acabou com o nosso excelente, excelente trabalho. Agora temos a capacidade de alternar categorias com um controlador ou selecionando-o com o nosso trabalho de milhas. Bem feito caras, vamos começar a vincular alguns widgets de atributo. Na nossa próxima secção, vemo-nos lá.
63. Ligado de movimento automático: Muito bem, bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar uma ligação para nossa interface de usuário de personagem que irá vincular nosso conjunto de variáveis de movimentação automática para cada caractere dentro nossa tabela de dados ao nosso widget de caixa de seleção aqui. Então lembre-se, nós temos um widget de caixa de seleção bem aqui em nossa área de atributos de nossa interface de usuário de personagem. Isso se chama Auto move. Lembre-se, e aqui em nossa lista de personagens, nossa tabela de dados para qualquer linha de caracteres que selecionamos aqui, você tem uma variável para movimentação automática. Isso é sim ou não, desmarcado ou irregular. Então remanência, entendi. Os milagres perceberam. E sever OG, todos eles têm essa variável lá, rho dentro da tabela de dados. Então é isso que vamos estar trabalhando em encadernação neste vídeo, vamos voltar para o editor de nível principal aqui. Vamos nos certificar de que estamos todos na mesma página. Você quer vir sob personagem UI, widgets w, w, w, w, clique duas vezes em WB p personagem UI para abrir isso. E dentro daqui, selecione seu widget de caixa de seleção na sua exibição de designer aqui, ou você pode clicar nele na hierarquia. E o que queremos criar uma ligação para é aqui estão os estados verificados. Atualmente ele está configurado para desmarcar, mas queremos vincular isso. Vamos criar uma vinculação clicando em vinculação, criar vinculação. Isso vai saltar-nos da aba Designer para a nossa guia gráfico, nos
pedindo para criar uma nova função. Veja a nova aba de função aberta aqui. E se eu rolar para cima no painel Meu plano, teremos uma nova função sendo nomeada aqui. Agora, eu vou mover isso para cima em nossa pilha, e eu posso fazer isso clicando com o botão esquerdo e arrastando. E se eu passar o mouse sobre ele e soltar o clique esquerdo, vou movê-lo aqui para cima. Quero ter todas as minhas funções de ligação juntas. Estas são duas funções que estou usando em outro lugar dentro do meu gráfico de eventos. Então vamos renomear isso imediatamente. Vou acertar F2 nisto e chamar isto, fica automático, mexam-se. Em, assim como fizemos muitas vezes antes. Vou obter uma referência à minha instância de ganho, rolando para baixo duas variáveis. Há uma referência à nossa instância de jogo bp. Desta vez eu vou manter pressionado o controle enquanto eu clicar com o botão esquerdo e arrastá-lo para dentro E enquanto eu manter o controle pressionado enquanto eu clicar com o botão esquerdo e arrastar e, em seguida, liberar um get, uma versão getter da minha variável. Então eu posso arrastar para fora deste tipo em obter dados de
caracteres para que eu possa chamar essa função que vive dentro da minha instância de jogo. Certo, vamos quebrar essa nota. Vou manter pressionada a tecla Alt, clique com o botão esquerdo. Eu vou quebrar isso lá. Quero que isto passe aqui. E eu quero que isso conecte assim, na verdade, eu não quero este fio e desculpe o meu mal. Ainda não, de qualquer maneira. Certo, assim que pudermos falar com essa função aqui, queremos extrair essa informação aqui. Podemos nos mover automaticamente ou não? Então eu vou ligar isso em arrastar e soltar um nó de ramificação. Tudo bem, e você tem sua linha vermelha indo para a condição aqui, sua variável booleana que está na condição, seu fio de execução está fluindo assim. Agora precisamos retornar os nós aqui. E você pode ver esta nota de retorno já sabe se queremos que este valor de retorno seja marcado ou desmarcado porque esse é o tipo de variável aqui,
E, enum estado de caixa de seleção. Ele nos dá duas opções verificadas, desmarcadas ou indeterminadas. Desculpe, três opções marcadas ou desmarcadas. Queremos desmarcada ou verificada. Vou apertar o controle C e o controle V para copiar isso para que tenhamos que retornar os nós. Vamos ligar um ao verdadeiro, um, ao falso. E para o mais alto, se a movimentação automática for avaliada como true, então nosso valor de retorno deve ser verificado. A caixa deve ser marcada. Verificado é igual a verdadeiro. No entanto, se a nossa movimentação automática for avaliada como false, se em nossa tabela de dados ela for falsa, isso significa que queremos que o valor de retorno nossa caixa de seleção mostre como desmarcada. Tudo bem, isso deve bastar para este. Vamos dar um teste aqui rapidamente compilando e salvando. E eu só quero ir para a minha lista aqui muito rapidamente. Portanto, o sever OG deve ser exibido como marcado, material deve ser exibido como marcado, e a remanência deve estar mostrando como desmarcada. Então, o Regresso é o único que deve mostrar descontrolado. Vamos em frente e jogar aqui rápido. Alternativamente, ao contrário de clicar em Reproduzir, você pode ver na dica de ferramenta lá na ALT e pico irá iniciar automaticamente uma sessão de lugar também. Então vamos mostrar isso aqui. E p, lá vamos nós. Estou a tocar na tecla E. Então, indo para meus atributos SAB, lembre-se, materiais devem ser verificados. Ela é Sever OG está verificada. - É. Eu não tenho certeza. Vários OG é masculino ou feminino. Regressado está aparecendo como desmarcado. Isso está funcionando como pretendido. Muito bem, trabalho, bem feito pessoal, isso vai servir para este. Vemo-nos na próxima.
64. Atribuir ligações Auto: Bem-vindos de volta a todos. Neste vídeo temos três objetivos em que é criar três ligações. Encadernação número um vai ser para o nosso widget caixa horizontal velocidade de movimento automático. seja, precisamos ativar ou desativar essa caixa inteira
dependendo se a caixa de seleção acima é movida automaticamente, caixa de seleção está marcada ou não. Se não for despachado, bagagem está aparecendo aqui. Vamos desativar toda essa caixa horizontal, que
significa que você não pode interagir com isso porque não faz sentido
ajustar sua velocidade automotiva se não estiver definida como verdadeira aqui em cima. Encadernação número dois vai ser para nossos movimentos automáticos, controle deslizante de velocidade, widget. E isso vai refletir o quão extrema é a velocidade de nossos personagens se eles realmente estão configurados para mover automaticamente. E, em seguida, o número três vai ser para os nossos movimentos automáticos de velocidade textos, widget. E isso vai refletir a velocidade real de nosso personagem, quão rápido eles podem auto locomota. Então, um valor de 1 aqui seria igual a 100% de velocidade normal. 2 equivaleria a 200% de velocidade normal, certo? Três amarras, acho que estamos prontos para a tarefa, certo? Tudo bem, vamos começar criando uma ligação para todo o nosso widget de caixa horizontal. Então temos que ter certeza que aqui na hierarquia você tem sua velocidade de movimento automático caixa h, que é a caixa horizontal toda a coisa selecionada. Tudo bem, a próxima coisa que você vai querer fazer é sobre o painel Detalhes, nós temos que encontrar a seção de comportamento e verificar isso. Temos este parâmetro para está habilitado ou não. É uma caixa de seleção atualmente está marcada se estiver desmarcada. Isso significa que você não seria capaz de interagir com nada aqui. Tudo bem, vamos deixar marcado por padrão, tudo bem, mas vamos criar uma ligação para isso. Então aqui, clique em Criar vinculação, verifique se ele está na linha direita aqui. Criar vinculação. Isso vai saltar-nos para a aba do gráfico. E de costume, ele vai abrir uma nova aba aqui e acima na área de funções vai nos pedir para dar-lhe um nome. Vou arrastar isso acima de nossos efeitos de botão pairados. E se eu deixar cair aqui e colocaremos logo em cima. Então eu vou apertar F2 sobre isso, e eu vou chamar isso habilitar, desabilitar movimentação automática. É um belo nome. E, em seguida, para uma criação de nossa função aqui, isso vai ser muito semelhante. Então eu vou rolar aqui para baixo, obter uma referência para a nossa instância do jogo. Nós vamos conseguir isso. E é claro que vamos nos arrastar para fora disso. Vamos obter dados de caracteres. Essa função onde isso é assim. E tudo o que precisamos fazer aqui é conectar automaticamente movido para o nosso valor de retorno. Então, com base no que nosso personagem definiu para sua movimentação automática, que vai ativar ou desativar toda essa Caixa Horizontal. Todos os direitos. Então isso deve ser tudo bem e bom. A próxima coisa que vamos fazer é criar uma função de widget deslizante. Nós vamos vincular algo aos nossos widgets de controle deslizante. Então, certifique-se de selecionar aquele cara. Você era um widget Slider. E o que precisamos fazer é no painel Detalhes, você tem que encontrar a seção de aparência. Bem onde diz valor e temos esse número um atualmente, há onde podemos definir uma ligação para isso. Então clique aqui, vamos criar uma ligação. Em, novamente, ele abre uma nova guia para uma nova função. E eu vou eliminar algumas dessas guias ao longo do topo aqui apenas para tipo de limpar tudo, tudo exceto para o nosso gráfico de eventos e ir embora. E eu vou deixar nosso controle deslizante do get atualmente aqui em cima. Vamos rolar um pouco para cima até nossas áreas de funções para que possamos renomear isso primeiro. Vou arrastar com o botão esquerdo do mouse, soltá-lo em cima de nossos botões Hubbard para que ele coloque acima de nossa função de botão pairado aqui. Acertando F2, vou chamar isso de auto,
movimento, velocidade, controle deslizante. Tudo bem? E como você deve ter esperado, claro que vamos precisar de uma referência para a nossa instância do jogo. E vamos pegar isso mais uma vez. Aí está, instância do jogo. Vamos tirar esse arrasto de que obtém dados de caracteres de acordo com o habitual. Você pode ver esta função de dados de caracteres get realmente é o cavalo de batalha de todo este sistema aqui. E agora o nosso valor de retorno aqui está à procura de um valor flutuante. Agora dentro de nossos dados de personagens aqui temos essa velocidade de movimento automático. Agora, eu vou ligar isso aqui, e isso é essencialmente o que nós queremos ter para esta função. Mas você pode ter se lembrado de mim dizendo alguns vídeos atrás. Eu vou voltar para a nossa guia Designer aqui que este controle deslizante de velocidade de movimento automático. Quero ter certeza de que nosso valor está entre 12, porque se for abaixo de um, sei disso por alguns testes. Se ele vai abaixo de um, são personagem em, mesmo se ele está definido para auto locomota, pode ter alguns problemas e eu não
quero que você encontre aqueles agora como uma questão muito além do escopo deste. Então eu quero ter certeza de que atualmente em nossa lista de personagens, todos os nossos personagens têm uma velocidade de movimento automático que é algo entre 12. Então eu vou saltar para a minha tabela de dados. Vou começar com remanência. E podemos ver que sua velocidade automotiva está atualmente em 0,25, não é boa o suficiente. Então vamos mudar isso diretamente aqui em nossa tabela de dados. Vou definir isso para 1,25. Então eu vou selecionar a velocidade de movimento automático milagroso está definida para 1.5. Isso é bom. E vários correu sua velocidade de movimento automático está ajustada para 0,6. Não é bom o suficiente. Eu vou definir isso, eu só vou definir isso para um para Sever OG. Tudo bem, e vamos em frente e salvar isso. Então isso é apenas uma verificação para ter certeza de que tudo vai correr bem aqui uma vez eventualmente obter nossos personagens auto locomoting no jogo agora estamos apenas focando em vincular os dados. Vamos nos preocupar com a locomoção automática um pouco mais tarde. Certo, então temos dois dos três widgets ligados a uma função. Agora, último aqui, vá em frente e selecione seu widget de texto. E no painel Detalhes ao lado de onde você tem os textos de 1.00, vamos criar uma ligação aqui. Criar vinculação em uma nova guia novamente, abre em nossa guia gráfico. Vamos encarar isso um pouco e ir até a função
para a área do painel My Blueprint. Há o nome feio que ele atualmente atribuiu para esta função. Eu vou bater F2 sobre isso e nós vamos chamar isso ainda deve mover velocidade. Como assim. É um nome melhor. E então eu vou rolar para baixo em como eu fiz muitas vezes aqui, nós vamos obter uma referência para a nossa instância de jogo, obter isso, arrastar para fora um fio para acessar nossa função de dados de caracteres get que vive dentro de nosso instância de jogo onde isso em assim. E para isso, o valor de retorno está procurando um texto. Agora, novamente, você pode converter certos tipos de dados em outros tipos de dados. E o que temos aqui em baixo é a nossa velocidade de movimento automático. Queremos converter isso em texto. Uma maneira fácil de fazer isso. Vamos converter um flutuador em texto. E eu sei disso por experiência própria. Você pode tentar sempre fazer isso se você não tiver certeza se ele vai converter diretamente arrastar e tentar colocá-lo sobre o pino de entrada do nó retornado. E se você ver que aparecendo uma dica de ferramenta de conversão, então ela trará uma nota de conversão automaticamente. Então ele vai converter nosso flutuador em textos, assim. Todos os direitos que deveriam estar aqui. Vamos compilar, certificar-nos de que os nossos scripts são bons. Nós vamos salvar. Vamos entrar e brincar agora. Vou tocar que 0x0. Tudo bem, eu tenho que ir para os meus atributos, Sam. Ok, e eu posso ver que nós temos velocidade de movimento automático aqui para conjuntos milagrosos, 1,5, e eu acredito que isso é o que nós tínhamos em nossa tabela de dados. E, no momento, isso está marcado,
portanto, está habilitado. Tudo bem, então a seguir eu quero apertar uma tecla. Olhe, olhe aqui. Ressonância. Está desativado. Diziam que o Regresso não pode automotivos. Então esta fila inteira está desativada, certo? E, em seguida, temos Sever OG. Estamos dizendo que sim, vários Hodgkin automotivo. Então, atualmente esse controle deslizante está em um e tudo é bom. Agora, se você tentar interagir com isso, ele ainda não pode, mas não se preocupe, nós vamos ser capazes de interagir com isso e mudar esse valor mais tarde na estrada e então salvar esse novo valor também. Então, muito mais interações por vir, mas agora estamos apenas colocando todas as nossas ligações no lugar, algumas das interações, alguns dos scripts mais finos são para vir mais tarde no caminho. Tudo bem, mas pessoal, nós temos todo o nosso conjunto de ligação para a nossa caixa horizontal de velocidade de movimento automático aqui, trabalho, bem feito. Isso vai servir para este. Veremos quando será o próximo.
65. Bindings: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar duas ligações. Número 14 são saúde, widget barra de
progresso aqui. Isso mostrará em forma de metro quanta saúde nosso personagem tem em relação à sua quantidade máxima. E número dois, queremos criar uma ligação para nosso widget de textos de saúde que refletirá de forma numérica quantos HP, se você quiser chamá-lo de pontos de saúde ou pontos de sucesso, nosso personagem tem. Novamente, certificando-se de que estamos todos na mesma página caso você tenha feito uma pausa de uma semana entre os vídeos. Aqui estamos dentro da nossa pasta de widgets UI personagem conteúdo, clicando duas vezes em uy personagem WEP. E estamos trabalhando dentro de alguns dos widgets em nossos atributos de painel de tela. Especificamente, vamos focar nesse cara primeiro, nosso widget de saúde da barra de progresso. Você pode fazer uma busca lá em cima, caso você esteja realmente se sentindo perdido. Tudo bem, então com este widget selecionado no painel Detalhes, vamos descobrir onde temos nossa categoria de progresso. Agora lembrem-se, este medidor pode encher, mostrando vazio para cair baseado em um intervalo de 0,021 como determinado por isso aqui você pode ver como eu estou movendo isso entre 01, está esvaziando ou enchendo. Então, criando uma ligação aqui, precisamos garantir que nosso número permaneça entre 0,01. Agora isso pode parecer um pouco complicado no começo porque, hey, se eu tenho 100 pontos no quadril, um 100 é obviamente muito mais do que um. Então, o que fazemos aqui? Bem, temos que mostrar que são mantidos em uma base percentual. Um pouco de matemática vai ser envolvido aqui. Não se preocupe, se passar na terceira série, vai ficar tudo bem. Tudo bem, vou criar uma ligação aqui. Vincular, Criar vinculação. Boom. Para a nossa guia gráfico. Ali está a nossa nova cidade de eventos. Vou criar esse espaço. Vou rolar para cima. Vamos renomear nossa função aqui. Bater F2 nisso, vamos chamar isso de saúde do personagem,
boa saúde do personagem, barra de progresso. Barras de progresso, é claro. Sim. Tudo bem, é bastante habitual. Vou obter uma referência à minha instância de jogo que pode ser encontrada na seção Variáveis. Nós vamos ter que dreg ciente, recebe função de dados de caracteres. Que cavalo de batalha você tem sido bons dados de caráter. Conecte isso assim, então vamos colocar isso em nosso nó de retorno. Ok, agora podemos ver que nossa nota de retorno está procurando por esse valor flutuante e sabemos que ele precisa estar entre 01. Então o que podemos fazer é agarrar a nossa saúde aqui mesmo. Novamente, cada personagem em nossa lista tem um valor de saúde associado a ele. Remanência tem 25 de saúde. Muriel tem 75 pontos de vida por padrão aqui em Praga tem 100 pontos de vida. Ok. Então vamos nos arrastar para fora do nosso mais saudável. E eu vou digitar a chave de divisão aqui, e nós queremos procurar um carro alegórico dividido por flutuador. Agora, eu vou assumir que nossa escala vai ser de 100. Então um 100 vai ser uma quantidade máxima de pontos de quadril. Então eu vou digitar 100 neste campo inferior, vamos dividir por 100, todos os direitos. Então, se olharmos para a nossa lista de personagens aqui, e vários cães têm 100 de saúde divididos por 100 equivale a 1
em, na nossa visão de designer aqui, esta escala, lembre-se vai de 0 para um, então 1 seria igual a barra completa. Tudo bem? Então, com essa matemática feita, eu preciso garantir novamente que esse valor permaneça entre 01. Então eu vou pegar o resultado desta matemática, que vai ser saída aqui. E eu vou fazer uma busca por um nó de pinça, flutuador de
pinça, um flutuador apertado é o que você está procurando aqui. E assim isso vai nos permitir garantir que um número permaneça entre dentro de um intervalo e eu quero fixá-lo entre 01, que felizmente são os padrões aqui. E então o resultado disso eu posso conectar aqui, então isso deve estar funcionando. Tudo bem. Agora, vamos voltar ao átomo de nossos designers. Vamos selecionar este widget de texto ao lado da nossa saúde. E nós vamos criar uma ligação bem aqui para nossos textos,
saúde, valor, vincular, Criar Binding. Vamos chamar isto. Vamos chamar isso de novo. Abrimos a nova conta e dá-nos um nome horrível. Vamos rolar para cima. Vamos chamar isso de bater F2 ganha saúde de caráter. E quer saber, vou arrastar os dois de novo aqui para cima. Então pegue a saúde do personagem. Vamos trazer uma referência à nossa instância do jogo. Eu vou manter o controle pressionado enquanto eu clicar com o botão esquerdo e arrastá-lo para dentro e isso vai nos dar um getter imediatamente. É um atalho para isso. Retire e obtenha dados de caracteres de acordo com o habitual. Assim. Conecte isso ao valor retornado. E aqui vamos fazer algo um pouco extravagante, mas não deve ser tão ruim. Ok, então o que eu quero fazer é primeiro, eu preciso me arrastar para fora do nosso nó de saúde aqui. E eu vou digitar para flutuar dois carros alegóricos. Quero voltar para carros alegóricos, para flutuar a saúde. Não para mensagens de texto. Em vez disso, dois textos de fluiu meu mal, é um flutuador para começar, dois textos com flutuador entre parênteses. Então o que eu vou fazer uma busca é em um nó pendente e você vai ver o porquê daqui a pouco. Vou clicar com o botão direito do mouse e fazer uma pesquisa para um nó de acréscimo. Este tipo aqui, isto vai permitir-nos acrescentar uma corda a outra. E agora note que isso está procurando entradas de string. Agora, convertendo isso em um, um, de um flutuador para um texto, agora
posso converter texto em uma string. Então imagine se nossa saúde aqui é digamos 100, ele vai converter esse número 100 em um texto e, em seguida, em uma string. Então isso é para todos os propósitos, vai mostrar o valor 100. Agora o que eu quero acrescentar a
isso, que está ligado ao final é H p. Então eu vou fazer um espaço e então eu vou fazer HP assim. E então eu vou ligar minha string aqui na minha entrada de texto. E você pode ver quando eu passar o mouse sobre
ele, ele vai converter uma string em texto. Boom, assim. Então não foi tão ruim aqui. Vamos ver o resultado disso. Devemos? Vamos compilar em salvar. E agora, quando eu pular e jogar, tocando que e qui, passando para os meus atributos SAM, Tudo bem, podemos ver que os milagres tem 75 HP. Legal. Tem um pouco de espaço lá. E podemos ver que esse medidor está cerca de três quartos cheio. Ir para o Revenant aqui, que é cerca de um quarto cheio, eu diria um 25 HP. Vamos ao Sever OG, um 100 HP. Isso parece bom, é
claro que nossa matemática funciona lá fora. Um 100 HP mostra um medidor completo. Tudo bem, então pessoal, isso vai fazer tudo por este que temos, nós temos nossa saúde ligada em forma de metro e formulário de texto trabalho bem feito. Isso vai fazer tudo por este. Vejo você na próxima.
66. Regen de saúde: Bem-vindo de volta mais uma vez a todos neste vídeo, nosso objetivo é criar uma ligação de widget de texto que reflita a quantidade de saúde que nosso personagem irá regenerar. Sempre que o fizerem, regenerar um pouco de saúde. E novamente, vamos construir um sistema de saúde regenerador um pouco abaixo da estrada aqui. Nós só queremos obter este número vinculado a este widget de texto aqui, certificando-se de que estamos todos na mesma página. Nós vamos estar dentro do personagem de conteúdo UI, widgets clique duas vezes em w, UI personagem
BP para abri-lo. Este vai ser muito rápido. Encontre o caminho para os atributos do painel de tela se você ainda não fez isso, e vá em frente e selecione esse widget de valor de valor de região de texto ali, porque vamos criar uma ligação para isso em apenas um pouco. Agora, eu não vou realmente clicar nesta ligação aqui ainda porque eu vou duplicar algum trabalho que nós já fizemos. Agora olhe para esse cara aqui em cima é velocidade de movimento automático. Agora nós temos uma velocidade de movimento automático e nós essencialmente queremos criar uma duplicata disso porque isso vai nos dar quase exatamente o que queremos. E então nós só precisamos mexer com nossa função em um lance leve para obter o número que queremos. Então eu vou pular para o meu aplicativo de gráficos. Eu quero descobrir que obter deve mover função velocidade. E eu já o tenho aberto minha função de velocidade de movimento. Agora olhe no que tudo isso consiste. Estamos simplesmente recebendo nossa velocidade de movimentação automática de nossos dados de personagens e vamos convertê-lo de um flutuador em textos e devolvê-lo. Então eu vou simplesmente duplicar esta função. Então aqui está no meu painel
My Blueprint sob a área da função. Obter velocidade automotiva com ele em amarelo assim. Posso fazer o controle mais W para duplicá-lo. E eu vou chamar isso de região de saúde. E mais uma vez, eu só vou mover isso para cima na minha pilha. Vou soltá-lo ali para colocá-lo em cima. Agora a única coisa que preciso fazer aqui é trocar o que isso está apontando. Eu queria apontar para a saúde, rejeitá-los. Então eu vou manter pressionada a tecla Control, clique com o botão esquerdo, e isso me permite tirá-la de um e colocá-la em outro igual. Então agora isso não é suficiente. Temos a função criada. Agora precisamos voltar à nossa guia Designer. E precisamos selecionar nossa região de saúde Quantidade Texto Widget. E com isso criado aqui, agora
podemos vincular isso à quantidade da região de saúde dos nossos hóspedes. Boom. Agora vamos ver quatro Revenant aqui. Vamos olhar em nossa tabela de dados para ver o que esse valor deve ler. Deixe-me compilar aqui rapidamente e salvar. Agora, em nossa lista, quantidade de
nossa região de saúde é o que estamos procurando. Então, para Revenant, isso deve nos mostrar 2.5 para material, isso deve mostrar como 4, e para vários OG deve mostrar como 5. Vamos em frente, saltar para o nosso Widget Blueprint aqui e jogar. Toque na tecla dele. Vá para o atributo SAB. Agora ele está apenas mostrando como um quatro em linha reta para Meriel, ele trunca isso. Isso é 0 lá. 2.5 para remanência e cinco, quatro sever OG. Tudo bem, então isso está funcionando bem e caras dandy, que vai fazer tudo por este vídeo. Vejo você na próxima.
67. Vindas de saúde: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar uma ligação de widgets de caixa giratória que reflita a saúde de nossos personagens regenerados. Agora esse valor deve ser em segundos. E atualmente vemos aqui no meu caractere w BP UI está mostrando um valor de um porque com o selecionado no painel Detalhes, ele está mostrando um valor de um. No entanto, queremos que isso mostre qualquer que nossa taxa de região de caracteres esteja em nossa tabela de dados. Então, como fazemos isso? Per usual com sua caixa de rotação aqui selecionado mais na hierarquia. E novamente, se você não vir isso, certifica-se de que os atributos do painel de tela foram abertos. É assim que você pode acessar isso. Aqui podemos criar nossa ligação. Vamos em frente e criar uma ligação. Vincular, criar vinculação. Você ficou muito bom nisso agora. Novamente, ele é aberto uma nova guia de função como um salto para prata da guia Designer para a guia gráfico. Vamos rolar para cima e encontrar nossa lista de funções. Há o nome da nossa função atual, obter o valor 0. Nós queremos mudar isso, então eu vou selecioná-lo, bater F2, nós vamos chamar isso de obter taxas de região de saúde. E como você deve ter esperado, bem, primeiro de tudo, eu vou clicar com o botão esquerdo e arrastar e mover isso para cima na minha pilha de funções. Eu gosto de todas as minhas funções ligadas aqui em cima e minhas outras funções que eu estou fazendo uso de no meu evento agarrado na parte inferior, isso é estilo pessoal. Certo, vou rolar até minha lista de variáveis. Vou obter uma referência à inocência do meu jogo, clique com o botão esquerdo e arraste. E quando eu liberar eu posso pegá-lo ou configurá-lo. Quero tirá-lo daqui para fora. Podemos obter dados de personagens, chamar essa função que vive dentro do nosso esquema de instância de jogo, onde esse cara ou esse cara dentro e tudo o que resta a fazer aqui é encontrar nossa saúde regenerada aqui em baixo, que é um valor flutuante. Então ele vai sair e conectá-lo na entrada do nosso nó de retorno lá. Compilar, salvo. Agora vamos ver o que nossos personagens têm taxas de região devem mostrar em nossa lista de personagens. Assim, para vários ovos saúde regenerar de 2, milagre 1.3 e remanência. A cada 2,5 segundos eles devem regenerar um pouco de saúde. Tudo bem, então eu só vou para o meu editor de nível principal aqui. E novamente, você pode fazer ult mais o P manter ALT como em Peter, Alton PI. E isso vai saltar para o jogo também. Isso é um atalho para um simples toque que gosta. E vamos navegar até nossos atributos. Muito bem, materiais mostrando 1.3, Sever OG está mostrando um 2 e Revenant 2.5. Agora, novamente, você não pode interagir com eles ainda. Nós seremos capazes de fazê-lo na estrada aqui para que você possa interagir com esses widgets diferentes aqui, que você pode alterar os valores e realmente salvar os valores que está por vir ainda. Certo, pessoal, temos um compromisso para tudo isso no lugar. Espere, temos um nó de erro aqui. Então vamos ver o que é isso. Acesso, ninguém tentando ler isso. Regenerar. Novamente, se você vir esses erros e certos widgets não gostam, certos widgets não gostam do fato de que em nossas ligações aqui, estamos recebendo uma referência direta à nossa instância do jogo. Então, novamente, o que ela pode fazer é que você pode apagar isso. Assim. E se certo, certos tipos de dados não gostam dessa referência à instância do jogo, não sei por que alguns gostam e outros não. Mas novamente, podemos simplesmente clicar com o botão direito do mouse aqui. Podemos conseguir a Instância do Jogo. Mas você viu que ainda funcionava em jogos, então você poderia ignorar esse erro se você quisesse. Mas só para se livrar desse erro, porque eu sei que muitas pessoas estão incomodadas com isso. Então podemos obter a nossa instância do jogo, podemos lançar para a nossa Instância de Jogo BP. Isso vai fazer exatamente a mesma coisa dentro, fora do nosso elenco para a nossa instância do jogo BP. E também podemos obter nossos dados de personagem. Isso pode se conectar diretamente lá porque estamos dizendo, hey, qual instância de jogo estamos usando uma instância de jogo RB P é que o que é atribuído a um projeto configurações? Se for, podemos extrair daqui e encontrar ou chamar melhor estão recebendo função de dados de caracteres. Então agora vamos em frente e tentar compilar. Mais uma vez, salve e jogue, toque nos atributos Like. Você pode ver que ainda temos os mesmos números lá agora e eu não escapo de erros. Então, se isso é realmente conduzir um invisível, você não gosta desses erros. Novamente, você pode fazer esse método para obter sua instância do jogo e obter mau funcionamento. Chame essa função a partir da sua instância do jogo. Certo, pessoal, isso vai acabar com isso. Vejo você na próxima.
68. Binds de cores em atributo: Bem-vindos de volta a todos. Agora, o nome deste vídeo é vinculação de cor de atributo. Mas verdade seja dita, nós vamos vincular uma cor a muito mais do que apenas nossos atributos aqui. Na verdade, vamos usar uma função existente que
criamos anteriormente no curso e vamos aplicá-la em todo o lugar. Então, apenas certificando-se de que estamos todos na mesma página de volta no seu editor de nível principal. O diretório de pasta usual é onde você deseja navegar para a pasta de widgets. Clique duas vezes em UI de caracteres WEP para abri-lo. Era uma vez, quando estávamos trabalhando em algumas de nossas ligações de caracteres, criamos uma ligação de cor e associamos ao fundo da imagem aqui. E você pode ver na minha hierarquia, eu tenho este plano de fundo da imagem selecionado. E mais no painel Detalhes sob opacidade final de cor, eu criei uma função e me limitei à nossa cultura e capacidade aqui para nossa imagem chamada get color. Agora, se eu simplesmente clicar aqui e navegar para esta função, tudo o que estamos fazendo aqui é que estamos alcançando dentro de nossa referência de instância de jogo, lembrando que obter função de dados de caracteres e estamos extraindo a cor do que está selecionado está agora em nossa tabela de dados. Temos uma cor, uma cor primária que estamos associando a cada personagem. Então, para as receitas aqui, eu tenho a cor de uma leitura direta que eu estou mostrando aqui. Novamente é o nosso valor R de um, significa 100% lido, 0% verde, 0% material azul, meio que mostra isso. Não sei, a cor azul mais clara é a cor primária dela. E para sever OG é basicamente uma cor esverdeada de tipos. Então eu criei essa função get color aqui na minha interface do usuário do personagem, mas eu estou aplicando apenas ao nosso plano de fundo. Podemos realmente fazer uso múltiplo de uma função que criamos. E vou fazer isso agora mesmo. E eu vou fazer muito disso fora da câmera. Mas só para mostrar, o que podemos fazer aqui é que eu tenho meu painel de atributos exibido aqui, certo? Bem, adivinha? Eu poderia associar minha cor de sombra aqui com essa mesma função. Então, com o nome desse texto é selecionado lá. Vamos rolar para baixo até encontrarmos nossa cor de sombra. E eu combinar estes dois são obter cor, mesmo com este pedaço de textos, ligar, obter cor, este pedaço de textos ligar, obter Keller, assim por diante e assim por diante. Bind, pegue o assassino, até esse nome aqui, remanência. Vamos sombra, vamos ligar isso a uma cor também. Tudo para olhar para os textos nesses botões aqui. Cor da sombra, ligação, boa cor, assim por diante e assim por diante. Então há muito sexo aqui, não apenas em nosso atributo Sam, não apenas em nosso papel em afinidades no nome bem aqui, mas também em N. não apenas em nosso atributo Sam,
não apenas em nosso papel em afinidades no nome bem aqui,
mas também em N.
Ops, faça, faça. Vamos encontrar nossas habilidades. Todo este texto poderia ter sua sombra colorida para a função get color, poderia ser ligado assim, e tudo isso também. Então eu vou fazer isso agora fora da câmera. Eu acho que você entendeu o ponto e eu vou me juntar a você aqui em apenas um pouco quando eu tenho ligado minha função SetColor para todos esses vários pedaços de texto. Eu vou cavalgar. E parece que eu tenho essa função de cor get ligado a todos os meus vários widgets que eu queria configurá-lo para. Era principalmente apenas as sombras de todos os textos. Então vamos verificar nossas habilidades são atributos. Vamos ver atributos distantes, tudo de bom. E você tem que rolar para baixo. Sim, parece que temos tudo. Vamos verificar. Semarang deve estar bem e elegante também. Temos verde como uma sombra em todos os lugares e depois remanência, parecendo vermelho em todos os lugares, que deve ser acinzentado. Então não se preocupe com isso. Agora, mais tarde no curso, mais uma vez, criamos esta seção inteira do seletor de cores aqui, e atualmente ela não faz nada. Não se preocupe,
vamos fazer isso para que você possa realmente clicar nesses botões diferentes e mudar todo o esquema de cores para esse personagem dado. Mas pessoal, agora temos a nossa configuração de encadernação de cores em
toda a nossa interface do personagem adiciona um pouco de estilo agradável. Espero que consigas ver as possibilidades com isto. Atualmente, só temos uma cor primária associada a cada caractere. Mas talvez, talvez você quisesse configurar sua tabela de dados onde você tem uma cor primária e uma cor secundária. Então você pode fazê-lo para que na sua tabela de dados você não tenha apenas uma cor primária, mas uma cor secundária também. Tudo bem, espero que isso pegue sua mente. Trabalhando, caras que vão fazer isso por este. Vejo-te no próximo.
69. Salve o Blueprint de jogos: Muito bem pessoal, vou começar este vídeo aqui na versão de rascunho do meu projeto. Agora esta é a versão completa do projeto que eu
criei em preparação para este curso. Eu só queria dar um passo para trás aqui e mostrar-lhe o que estamos dirigindo para. Agora, nós temos os layouts para nossa seção de atributos todos no lugar. Encontramos vários widgets. Agora, nós não fizemos alguns desses widgets interactable, nós vamos em um pouco, mas nós vamos fazê-lo para que quando nós ajustar alguns
desses widgets e dar-lhes novos valores como eu estou fazendo agora. Talvez eu esteja definindo uma nova cor de provocação que quando nós realmente mudamos algumas dessas coisas, nós salvamos algumas dessas mudanças. Então esse aviso eu tenho uma coloração azul aqui porque isso vai ser a coisa mais óbvia de se ver. Eu tenho azul e saúde regenerar um 5.5. Então, agora, se eu sair daqui e voltar para dentro, não
faça menção disso por enquanto. E voltamos ao Sever OG. Olha o que eu tenho aqui. Eu tenho um fundo azul e está mostrando 5,5 para a taxa de região. Queremos ser capazes de salvar essas alterações. Agora, para que possamos fazer isso, precisamos criar um jogo salvo,
um plano, um sistema de salvamento muito simples. E ele vai começar criando um jogo salvo de blueprints com seu blueprint. Podemos usar isso para salvar qualquer coisa sobre o nosso ganho que
gostaríamos antes deste projeto especificamente, vamos usá-lo para salvar todos os nossos dados de caracteres. Tudo bem, então agora que você sabe essencialmente o que estamos dirigindo para, vamos construir este sistema de salvamento simplificado. Vou pular aqui fora. E eu vou me juntar a você em apenas um pouco de volta no nosso projeto. Tudo bem, então aqui estamos de volta em nosso projeto de interface do personagem e vamos começar aqui na pasta de blueprints da interface do personagem. Esse cara aqui dentro,
em algum espaço vazio. No lado direito, vamos clicar com o botão direito do mouse porque precisamos criar um novo blueprints Tipo Um que ainda não criamos nesta classe. Então, venha em uma classe de blueprint, selecione isso. E nós queremos fazer é procurar aqui na seção de todas
as classes para um tipo chamado salvar jogo. Esse é o que estamos procurando bem ali. Jogo salvo, selecione isso. E vamos apertar este botão verde de seleção. E vamos chamar o nosso novo plano aqui, sublinhado da BP. Opa, não apenas BP se me deixar bater F2 nisso de novo, BP sublinhado. Salvar jogo. Agora quero salvar isso imediatamente. Então, caso você ainda não o tenha salvo, você pode fazer o Control S ou clicar com o botão direito do mouse e salvá-lo. Agora, vamos abrir esse cara porque ainda não terminamos. Aqui dentro, vai parecer uma planta em branco vai parecer que não há nada dentro do seu. No entanto, precisamos criar uma variável no lado do ano. Então, ao longo do lado esquerdo, vamos criar uma nova variável clicando em mais variável. E vamos criar um chamado salvamento de dados de
caracteres, salvamento de dados de caracteres, acho que é um bom nome. Sublinhado de dados de caracteres, seguro. Tudo bem, agora isso está definido para um tipo de variável booleana. Eu quero mudar o tipo de variável e eu vou fazer isso aqui. Você pode fazê-lo em qualquer ponto clicando aqui ou clicando aqui. E eu vou fazer uma busca pela minha estrutura dos dados de caracteres, não habilidade de caracteres, dados de caracteres. E agora ao longo do lado direito aqui, podemos optar por fazer desta uma única variável, ou eu vou escolher este ícone de waffle aqui. Quero fazer disto uma matriz. Então, esta variável é o tipo de variável, dados de caracteres struct índices de dados do tipo de matriz. Agora a razão pela qual vamos fazer isso um array é porque queremos armazenar conjuntos de dados para cada um dos nossos três caracteres. E agora, novamente, você pode pensar em uma matriz é uma lista. Então vamos ter essencialmente três conjuntos de dados de caracteres. Não podemos fazer isso com apenas um conjunto de dados. Precisamos de três conjuntos de dados de caracteres para o milagre Revenant em Semarang. Agora vamos usar isto em breve. Este vídeo é tudo sobre apenas uma espécie de colocar esta base no lugar. Posso ir em frente e compilar aqui. Não quero definir nenhum valor padrão aqui. Vamos nos preocupar em preencher esta variável com alguns dados aqui. Mas vamos em frente e dizer isso muito rápido também. Mas só para dar uma olhada no que está por vir, vou até o meu Explorador de Arquivos. No momento, estou dentro dos arquivos do projeto para a versão de rascunho do meu projeto. Agora, eventualmente aqui, o que vamos criar é um arquivo de jogo salvo. E se eu entrar no arquivo do jogo salvo e entrar em jogos salvos, há um arquivo de jogo salvo dentro da versão de rascunho do meu projeto. Esta coisa contém todos os dados que guardamos nele. Então, é essencialmente para isso que estamos dirigindo. Para fazer isso, precisávamos criar um blueprint de jogo salvo e até mesmo dizer aqui, a
propósito, qual é a nossa classe pai para esse blueprint? É do mesmo jogo para, tudo bem, isso é tudo o que queríamos fazer neste vídeo. Mais trabalho a ser feito, mas estamos a começar bem aqui. Vejo-te no próximo.
70. Crie a função de jogos: É criar uma função que crie um objeto de jogo salvo. Agora este é o recurso necessário para realmente salvar o nosso jogo. Agora está dentro de nosso objeto de jogo salvo onde vamos salvar todos os dados de caracteres que atualmente residem em nossa tabela de dados. Agora, eu sei que tudo isso soa bastante confuso. Farei o meu melhor para passá-lo lentamente para que entenda o que está acontecendo. Tudo bem, vamos começar neste dentro da nossa instância do jogo BP. Então este é o diretório de pastas onde você pode encontrar o clique duplo na sua essência do jogo BP para abrir esse cara. E o que queremos fazer aqui é criar uma nova variável. Agora, atualmente, o que estou vendo é minha função, minha função de dados de caracteres bons. Mas na seção My Blueprint, eu quero criar uma nova variável. Então, bem aqui, clique neste botão mais variável. E eu vou criar um chamado inst de dados de caracteres, dados de
caracteres sublinhado inst, abreviação por exemplo. Agora, com isso criado no painel Detalhes, eu vou mudar o tipo de variável para ser meus dados de caractere struct. Dados de caracteres de estrutura. Você pode ver na dica de ferramenta lá atingiu dados de caracteres. E eu também vou mudar isso para não ser uma única variável, mas uma matriz. Agora, eu só vou compilar isso rapidamente e salvar. Agora você pode estar dizendo, espere um minuto, espere um minuto, espere um minuto, espere um minuto. No último vídeo, criamos um blueprint de jogo salvo. E também criamos uma variável que é praticamente idêntica. É nomeado o mesmo que tem o mesmo tipo de variável. Também é uma matriz. O que está acontecendo aqui? Bem, só dei um passo para trás. Conceitualmente. Conceitualmente, o que vamos fazer é criar um jogo salvo, vamos extrair todos os dados da nossa tabela de dados, todos esses dados. E nós vamos preencher essa variável, esses dados de caracteres. É variável dentro da nossa instância do jogo. E então nós vamos levá-lo a partir daqui e passá-lo para o nosso jogo bp variável salvo do mesmo nome para que ele fique armazenado em trancado. Então não vai estar fazendo um pouco de uma transferência aqui de uma variável para outra. E isso é meio necessário para salvar isso e, em seguida, carregar salvos, substituir salvamentos, etc, e assim por diante e assim por diante. E verá isso acontecer aqui daqui a pouco. Certo, a próxima coisa que precisamos fazer é criar uma função. Então, bem aqui dentro de nossa instância de jogo bp, certifique-se de que você está fazendo isso dentro de sua instância de jogo BP. Vamos criar uma função de salvamento do jogo. A razão pela qual vamos fazer isso aqui é porque o blueprint da instância do jogo é persistente em todos os seus jogos ao longo do seu jogo está em execução, desde que o seu jogo esteja em execução, você tem acesso fácil a isso, criar uma função salvar jogo. Então, aqui no painel Meu plano, certificando-se de que você está no blueprint da instância do jogo. Clique aqui, funções mais função. E eu vou nomear isso cria salvar. Jogo. Tudo bem, agora eu quero colocar isso em sua própria categoria de tipos. Você percebe que agora ele é meio lopped na mesma seção como obter dados de caracteres. Bem, eu posso realmente dar a isso sua própria categoria. E o que eu posso fazer é com esta função selecionada ao longo da direita, nós temos a categoria de padrão. Eu posso realmente escrever sobre o topo disso. Vou criar uma categoria chamada Save system, assim. E uma vez que eu aperte Enter, agora você vai ver mais na seção de funções da minha guia blueprints, agora
temos uma categoria chamada sistema seguro e criar vidas salvas de jogo nessa categoria. A razão pela qual eu criei essa categoria é porque há mais funções para vir e eu gosto de mantê-las organizadas. Muito bem, o que queremos fazer com esta função? Agora temos uma guia para a nossa função aberta. O que queremos fazer aqui? Então o que vamos fazer é puxar um fio do nosso jogo criado salvo. E nós vamos fazer é procurar nó chamado Cria salvar objeto jogo, esta função aqui. Tudo bem, e agora ele vai dizer Qual é a sua classe Save Game? Agora, se eu clicar aqui, posso encontrar minhas pressões. Eles têm um jogo que eu criei no último vídeo. Foi por isso que criámos isto. Tudo bem, agora com isso, eu posso arrastar para fora deste valor de retorno. Mas, na verdade, eu não quero arrastar para fora deste valor de retorno ainda. Vou clicar com o botão direito do mouse neste valor de retorno e fazer algo chamado promove duas variáveis, este top, promover a variável. E quando eu fizer isso, vamos ser solicitados a nomear nossa nova variável. Basta colocar tudo isso aqui e eu vou chamar isso de salvar objetos do jogo. Certo, agora olhe para o tipo de variável é do tempo variável de jogo salvo BP. Eu também vou nos dar uma categoria de sistema de salvamento para que eu possa criar um aqui. Então vamos criar uma categoria chamada salvar sistema. E a razão pela qual queremos armazenar nossos objetos de jogo salvos ou R bps jogo salvo em sua própria variável é porque queremos referenciá-lo um pouco mais tarde na estrada aqui. Então foi por isso que fizemos isso. Agora o que eu vou fazer é arrastar um fio para fora daqui, manter esse fluxo de execução indo e eu vou obter nomes de linhas de tabela de dados. Agora, quais nomes de linha? Então eu quero sair de qual tabela de dados. Bem, eu tenho minha lista de personagens DT cheia. Essa tem sido a tabela de dados que eu tenho puxado todos os meus dados. Ok, e ele vai produzir uma matriz de nomes. Agora lembre-se, aqui no meu personagem Rosser, eu tenho várias entradas, certo? Então eu tenho uma matriz de entradas na matriz de nomes. Então vamos em frente, voltar para a nossa instância de jogo BP aqui, bebeu daqui e trazer um para cada loop. Agora eu sei que este é um monte de scripts que nós ainda não entendemos. E isso não é tanto um cursos de script, é um curso Widget Blueprint. Mas só para descrever o que vai estar acontecendo aqui é que nós vamos estar recebendo nossos diferentes nomes de linhas de nossa tabela de dados aqui. E, em seguida, para cada um desses nomes de linha, podemos produzir algumas informações diferentes, como o índice de matriz, o elemento de matriz, assim por diante e assim por diante. Você verá por que isso é útil em apenas um momento. Próximo nó que eu quero trazer aqui é eu vou clicar com o botão direito do mouse e algum espaço vazio e tipo B e obter linha de tabela de dados,
não nomes de linha de tabela de dados obter linha de cauda de dados. E deve ser assim. Eu loop corpo vai entrar aqui. A tabela de dados vai ser tabela de dados lista cheia. E os nomes das fileiras que vamos alimentar, isto está bem aqui. Então nós estamos recebendo os nomes das linhas aqui. E então para cada nome, vamos preencher isso e descobrir algumas informações sobre cada linha. Agora, novamente, nós apenas usamos este para obter nossos nomes de linha para que nós poderíamos loop através de cada uma de nossas linhas diferentes para que nós poderíamos então voltar para a nossa tabela de dados e encontrar algumas informações sobre cada linha que é essencialmente o que é acontecendo aqui. Agora eu vou trazer
nossos dados de caráter ST. Podemos clicar com o botão esquerdo e arrastar isto e vamos conseguir. Agora lembre-se que criamos essa variável, esse contêiner de tipos. Mas agora, se eu olhar nos Detalhes, a largura do
painel é selecionada, ele está vazio. Não há nada dentro daqui. Então, queremos mudar isso. Queremos preencher isso com alguns dados. Então, como fizemos isso? Bem, nós podemos arrastar para fora desta variável aqui e você pode ver que ele tem esse tipo de ícone de waffle mostrando que é uma matriz. Então eu vou arrastar fora deste e eu vou fazer é procurar por N inserir nó. Podemos inserir algumas coisas aqui dentro. Tudo bem? Então eu vou manter o fluxo de execução acontecendo aqui. Então, quando encontramos uma linha de nossa tabela de dados, vamos inserir algo em nossos dados de caracteres é, bem, o que queremos inserir? Queremos inserir todos os dados que estão dentro de uma dessas linhas. E onde queremos colocar isso? O que queremos colocar no índice apropriado para que possamos obter esse índice daqui. Boom, assim. Agora eu não gosto destes fios cruzando aqui. Então eu vou clicar duas vezes sobre isso e fazer algo assim para apenas tipo de reorganizar. Então, novamente, o que temos acontecendo aqui é,
lembre-se, nossa tabela de dados consiste em nomes de linhas. Deixe-me pular na minha tabela de dados aqui. Nomes de linha. E estamos tentando expandir role_name 012, mas também tem números de índice 123. Então aqui na minha instância do jogo BP, eu estou recebendo cada índice, cada índice 123, e eu estou preenchendo todas as outras informações novamente,
todos os dados dentro de cada linha dada em nossa instância de dados de caráter, que é essencialmente o que está acontecendo aqui. Estamos preenchendo esta matriz. Com todos os dados dentro de nossa tabela de dados. Certo, o próximo que vamos fazer é trazer nossos objetos de jogo salvos. Acabamos de criar um, nós promovemos aquele cara a uma variável aqui no vídeo. Então eu vou arrastar e soltar isso aqui. Nós vamos conseguir isso. Agora o que eu vou fazer é me arrastar para fora
disso e fazer uma pesquisa para salvar dados de caracteres. Quero definir nossos dados de personagens seguros. E eu vou ligar isso assim, manter esse fluxo de execução. Agora, novamente, este objeto de jogo salvo, é do B P salvar um tipo de variável de jogo. Esse cara correu até aqui e se eu abrir nosso jogo salvo BP, dentro deste plano de jogo salvo, nós temos uma variável chamada salvamento de dados de caracteres. E a razão pela qual queremos acessar isso é porque eu quero pegar todas as informações que estão na minha instância de dados de caráter. E eu quero preenchê-lo dentro dessa mesma variável
similar dentro dos meus objetos de jogo salvos. Então isso está essencialmente dizendo, OK, agora temos todas essas informações dentro de nossos dados de personagem é, vamos colocá-la na mesma variável
semelhante dentro de nossos objetos de jogo salvos. Tudo bem, ainda não terminei, um
pouco mais para ir, mas isso é o que temos até agora. Na verdade, deixe-me enquadrar tudo aqui em cima. Então, no caso de você precisar pausar o vídeo, você pode mover direito junto. Nós temos isso. E depois movendo-se para a direita. Isso é onde ler até agora, vamos voltar, roda de rolagem para trás um pouco. Encontre seu objeto de jogo salvo aqui. Nós vamos sair daqui. E nós vamos fazer uma busca por Save Game 2 slot, uma função chamada salvar jogo para slot. Agora, porque o tiramos daqui, estão salvos. Gameobject já está conectado às entradas apropriadas. Então eu vou apenas tipo de colocar isso aqui em baixo, e eu vou arrastar este fio apenas para tipo de enquadrar isso em vista. Eu posso formatar isso como eu quiser. Eu posso colocar isso aqui se eu quiser, mas vou fazer algo assim para tentar colocar tudo em você. Vou tirar este fio do fim
dos dados de personagens guardados aqui atrás, porque quero enquadrar isto no final. Então esta é a última coisa que vamos fazer. Nós estamos indo para criar um slot de jogo salvar. Agora ele está pedindo um nome de slot, muito fácil. Tudo o que eu preciso fazer é clicar com o botão direito sobre isso e podemos promover isso para uma variável. E está nos levando a dar um nome a isso. Vou chamar isso de “slots de salvamento “, assim. E se eu compilar ano, eu posso dar a este um valor padrão. Deixe-me ligar para isso. Vamos chamar isso de salvar slots. Claro. E vamos compilar mais uma vez só para ter certeza de que tudo está bem aqui. Agora, é claro que fizemos esta função. Ele não faz nada ainda, mas apenas para recapitular, tipo de trazer tudo isso de volta, o que isso cria função de jogo salvo fará quando é chamado em primeiro lugar, vamos criar um objeto de jogo salvo que vai consistem em são BP, tipo de jogo salvo. Tudo bem, então recriando isso primeiro, vamos salvar isso,
salvar GameObject em sua própria variável, seu próprio contêiner. Certo, porque vamos usar isso na estrada. Então nós vamos obter todos os nossos nomes de linhas de tabela de dados fora da nossa tabela de dados. Nós vamos alimentar todos esses nomes de linha em um para cada loop que vai olhar através de todos os nomes de linha essencialmente. E, em seguida, para cada um desses nomes de linha, ele vai para este nó. E ele vai dizer OK, para cada nome de linha, vamos voltar para a nossa tabela de dados. Que tipo de informação você pode me dar para cada um desses nomes de linha? E para cada uma dessas informações que você pode me dar para cada um desses nomes de linha, vamos armazenar todas essas informações dentro de nossos dados de caracteres. Vamos criar um índice para cada uma dessas linhas. E em cada um desses índices, vamos preenchê-lo com todos os dados da linha. Então isso tudo vai ficar armazenado aqui. Então vamos passar toda essa informação armazenada em nosso personagem, um inst de dados aqui. E vamos passá-lo para a nossa versão Save Data dessa mesma variável. E isso vai estar dentro do nosso objeto de jogo salvar. Finalmente, estamos criando um slot de jogo salvo, e esse é o arquivo que você me viu mostrar no Explorador de Arquivos mais tarde em um slot de salvamento nomeado onde todos esses dados são armazenados dentro do Objeto Salvar Jogo. Tudo bem, eu sei que é muito para assimilar, mas só para trazer tudo de volta, eu vou colocar isso na tela mais uma vez caso você precise emoldurar e pausar o vídeo aqui. Tudo bem, com esses caras, nós criamos uma função salvar jogo. Muito trabalho feito lá novamente,
certifique-se de que ele fez em seu b p novamente instância. E dê mais um salvamento. Isso vai fazer tudo por este vídeo, pessoal. Vejo-te no próximo.
71. Função de jogos: Bem-vindos de volta a todos. No último vídeo, criamos uma função salvar jogo aqui dentro de nossa instância do jogo bp, blueprints. Agora, neste vídeo, nosso objetivo é criar uma função capaz de carregar qualquer dado de personagem armazenado que possamos ter armazenado dentro de nosso objeto de jogo salvo. Agora, apenas para ter certeza de que estamos todos
na mesma página de volta aqui em nosso editor de nível principal, estamos dentro da nossa pasta de blueprints de interface do usuário de conteúdo. E nós temos feito um pequeno trabalho dentro de nossa instância de jogo bp, e nós estivemos tocando dentro de nosso jogo bp. Salve por enquanto, b dentro de sua instância de jogo BP, clique duas vezes sobre o cara para abri-lo. Agora, no último vídeo, terminamos de criar isso, criar uma função salvar jogo. Quero adicionar mais um nó aqui. Eu apenas tipo de moldou nossa função aqui um pouco, meio que condensado, mover alguns dos nós juntos fora do nosso jogo salvar para deslizar aqui, eu realmente vou arrastar para fora consciente e eu vou colocar em um nó chamado Print String. Em. O que este nó me permite fazer é que você pode ver isso diz no desenvolvimento final, ele me permite imprimir uma string que é algumas tags aqui para a tela para me ajudar a saber o que está acontecendo, para me ajudar a saber que esta função realmente ocorreu. Então, eu só vou digitar criado Save Game ponto de exclamação. E se eu clicar nesta pequena seta suspensa, eu posso alterar a cor do texto, e eu também posso alterar a duração que isso aparece na tela. Eu vou dizer que isso vai aparecer por cinco segundos. Então, novamente, quando eventualmente chamamos essa função, isso é apenas uma maneira de me dizer que realmente isso aconteceu. Tudo bem, então essa é a única adição que eu quero para o nosso jogo de criação salvar. Vamos começar o que queremos construir neste vídeo, que é criar uma função para carregar um jogo salvo. Então aqui em nossa área de funções do painel My Blueprint, nós vamos entrar sob função mais função. E vamos chamar isso de um jogo de salvamento de carga. Agora, se olharmos no painel Detalhes agora, ele mostrará que estavam na categoria padrão. Lembre-se aqui em cima eu criei uma categoria chamada Salvar sistema em, sob a categoria aqui, eu posso realmente escolher esta lista suspensa e escolher salvar sistema. E quando eu notar como isso vai ser categorizado dentro dos pontos salvos do sistema. Então sistema seguro agora meio que move-se dentro do seu. E posso recolher esta categoria de sistema de salvamento para mostrar ou ocultar todas as funções associadas ao meu sistema de salvamento apenas para fins organizacionais. Agora, como você também vê aqui, eu tenho uma nova guia aberta aqui, minha instância de jogo BP está me pedindo para OK, criar sua função para carregar o jogo salvo. Então é isso que temos que fazer. Em primeiro lugar, vamos arrastar um fio para fora deste nó de entrada e digitar o jogo de salvar carga. Há uma função para carregar um jogo salvo do slot, desculpe não carregar salvar jogo porque esse é o nome da nossa função. Na verdade, é encontrar a função que acabamos de criar. Então, estamos à procura de jogo de carga do slot. Agora só meio que apoiando as coisas um pouco. Se eu for para a minha criação de jogo seguro, lembre-se que estamos criando um jogo salvo e salvando-o em um nome de slot. Isso é o que está acontecendo aqui em baixo. Estamos criando um jogo salvo e perguntando qual é o objeto do jogo salvo? E estamos conectando isso a partir dessa variável. E também está nos trazendo aqui. Ok, qual é o nome do seu slot de salvamento? Então, de volta ao nosso jogo de carga salva, podemos conectar o nome do nosso slot de salvamento. Posso arrastar e largar aqui. Como isso. Boom. Certo, então esse é o passo número um. Então podemos retirar um ano e podemos dizer que o elenco é P, diga novamente. Ok, então essencialmente com isso, estamos descobrindo se o nosso jogo salvo carregado é do nosso tipo de classe de jogo salvo BP. E se for, se isso for verdade, eu vou encontrar minha variável de objeto de jogo salvar aqui e assistir isso. Você pode realmente arrastar e soltar isso direito em cima, assim. E ao fazer isso, obtemos um setter do nosso objeto de jogo salvo. Tudo bem, então vamos entender o que temos acontecendo até agora. Ao chamar esta função, vamos carregar um jogo do slot, que slot? Bem, nós o salvamos em um nome de slot anteriormente em nosso jogo criado salvo. Nós o nomeamos. Então vamos carregar um jogo daquele slot. Nós vamos descobrir é este de r BP site de classe jogo salvo. E se for, se for verdade, vamos disparar deste pino de execução. Nós vamos definir este objeto como nossa variável de objeto de jogo salvar. Agora lembrem-se, em nosso jogo seguro aqui, quando criamos este jogo, salve, essencialmente o que estávamos fazendo com todo esse script aqui é que estávamos extraindo todos os dados armazenados em nossa tabela de dados. Estávamos preenchendo nossa matriz int de dados de caracteres. É esse cara aqui com todas as informações de cada personagem. E então estamos passando isso ao longo de nossa
matriz de salvamento de dados de personagens que existem dentro de nosso objeto de jogo salvar, que é r BP salvar aqui, aquele cara, dados de personagens, seguro. Todos os direitos. Agora, saltando de volta para a nossa função de jogo salva de carga, podemos clicar duas vezes sobre eles. Queremos extrair esses dados de nossos GameObjects salvos. Então, se eu arrastar para fora um aqui, eu posso digitar em caracteres dados de caracteres caracteres salvos. E você pode ver que ele já está descobrindo quando nós apenas digitamos essas letras, nós queremos obter dados de caracteres seguros. Mais uma vez, esta é a variável ret aparecem dados de caracteres salvar. Agora, quando salvamos o jogo, essa variável foi preenchida com todos os dados de cada um de nossos personagens diferentes, Revenant Muriel, Sever, OG, etc. Então, de volta aqui no nosso jogo salvo BP instantâneo, estamos recebendo todos esses dados. E agora o que queremos fazer é passar isso de volta para esse cara são informações de dados de personagens. Então eu vou arrastar isso para fora. E se eu deixar cair aqui, podemos configurá-lo assim. Então, novamente, essencialmente o que estamos fazendo aqui é uma vez que estamos carregando nosso jogo, estamos puxando todos os nossos dados que foram salvos em nossa matriz de salvamento de dados de caracteres. Isto, isto contém todos os dados sobre milagre Revenant em Semarang e estamos passando isso de volta para esta variável, nossa matriz de dados de caracteres. E a razão pela qual estamos fazendo isso é porque novamente, com uma instância do jogo, podemos acessar isso a qualquer momento. Por isso guardámos tudo. Nós classificamos de uma forma neste array em nosso jogo salvo e estávamos repopulando todas essas informações aqui em nossa instância do jogo por ter uma variável bem aqui em nossa instância do jogo, e isso o torna facilmente acessível. Tudo bem, a próxima coisa que quero fazer é arrastar outro fio e digitar uma corda de impressão. E novamente, isso é apenas para me ajudar a entender quando e se essa função está sendo chamada. Então aqui para a string de entrada, eu vou digitar em salvar carregado. E eu vou mudar algumas dessas configurações aqui. Então, se eu clicar nesta pequena seta suspensa, eu vou dizer que eu quero que a camisa cor do texto vai deixar a cor do texto como azul. No entanto, eu quero que isso apareça na tela por cinco segundos. Então, isto é, nós apenas meio que condensa tudo. Esta é a nossa função carregada de salvar jogo pode pausar o vídeo aqui se você precisar. Então eu vou compilar e salvar isso. E agora temos duas de nossas três funções construídas. Ainda temos mais um para criar e que é substituir nosso jogo salvo. Esse é o próximo vídeo. Vemo-nos lá.
72. Função de gravação de jogos: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar uma função capaz de substituir nosso jogo salvo atual. Irá querer utilizar isto sempre que mudarmos certos valores personalizáveis sobre os nossos personagens. Coisas como o nome do nosso personagem aqui em cima, ou talvez seu esquema de cores ou sua provocação padrão, taxa de região de
saúde, etc. Então essa é a importância de substituir um jogo salvo porque uma vez que
mudamos algumas coisas, queremos ser capaz de atualizar nossos dados de personagens e , em seguida, substituir nosso salvamento com nossos novos valores aqui. Então vamos saltar para fora daqui. Certifique-se de que estamos todos na mesma página aqui, volta aqui no nosso editor de níveis, vamos trabalhar dentro da nossa pasta de blueprints da interface do usuário de conteúdo. O trabalho neste vídeo vai ser feito dentro da nossa instância do jogo bp. Clique duas vezes naquele cara para abrir. E vamos criar uma nova função na aba “Meus planos”. Então, venha sob funções mais função. Vamos chamar este por direitos, salvar jogo. E aqui dois no painel Detalhes, eu posso ver que isso não está recuado abaixo das categorias do meu sistema de salvamento, então eu vou colocá-lo na categoria do meu sistema salvo. Lá está ele agora dentro dessa categoria de sistema salvo. Eu provavelmente poderia fazer o mesmo com esta variável slot salvar aqui. Eu também tinha uma categoria em variáveis para sistema seguro. Vou colocar isso na categoria de sistema seguro também, apenas mostrando outras funcionalidades aqui. Muito bem, vamos voltar ao nosso jogo guardado. vez, temos uma aba aberta na parte superior aqui, solicitando que criemos isso. A primeira coisa que queremos fazer quando estamos sobrescrevendo são salvos jogo é que queremos descobrir se já temos um salvar objetos do jogo. Então, na nossa lista de variáveis, vou manter o controle. Mantenha pressionada a tecla Control e clique esquerdo. Vou arrastar e soltar meu objeto de jogo salvo na minha função aqui. E novamente, enquanto eu estiver segurando o controle enquanto eu clicar com o botão esquerdo e arrastar, eu trarei um getter dessa variável. Isso vai obter o nosso GameObject salvo. Então eu vou arrastar fora disso e eu vou digitar é válido. Você tem duas opções aqui. Queremos escolher aquele com o ponto de interrogação na frente dele. E essencialmente o que está acontecendo aqui, e vamos ligar isso ao nó de entrada de nossa função aqui é que estamos apenas fazendo a pergunta, nós
já criamos um jogo salvo? Se temos, então é válido, então vamos fazer alguma coisa. Se não o fizemos, se isso não for válido, não o
criamos, então podemos fazer outra coisa. Então, essencialmente, temos uma bifurcação na estrada aqui, dependendo se este GameObject salvo é válido, isto é, se ele existe ou não. Na verdade, nesta nota, vou clicar com o botão direito do mouse e colocar em um comentário de nó. Já criamos um jogo salvo? Ok, eu vou fazer é, eu vou construir fora do não é válido imediatamente. Então, se ainda não construímos um jogo de salvamento, Eu só vou arrastar isso e digitar em impressão. String, impressão, nó de string. E eu vou digitar o texto. Nenhum jogo salvo. Objetos detectados em substituições ver função de salvamento do jogo. Então eu sei que se isso aparecer na tela, eu sei onde procurar. Eu sei que, oh, isso está na minha função sobrescrever jogo salvar. É de onde veio esta corda de impressão. Eu também vou clicar neste menu suspenso e fazer este texto aparecer na tela por cinco segundos. Se de fato ele mostrar novamente, isso é uma espécie de aviso para os desenvolvedores. Ei, você não sobrescreveu seu jogo. Diga que se algo deu errado aqui, ok, então eu vou deixar isso viver aqui em baixo. Agora, vamos para a carne de nossa função de jogo salva sobrescrever, e isto é, é válido. Então, se for válido, Nós vamos trazer outra referência ao nosso objeto de jogo salvo aqui a soma está indo apenas para clicar com o botão esquerdo e arrastar. Eu vou buscá-lo. Eu vou, em seguida, pegar nossos dados de personagem, inst, arrastar e soltar isso aqui. Nós vamos conseguir isso. E então o que eu quero fazer é arrastar para fora do meu objeto de jogo salvar e digitar os dados de caracteres salvos. Quero definir nosso personagem, Dana Salve, e explicarei tudo isso em um momento. Por agora. Apenas ligue estes apropriadamente. Assim, isto vai aqui, e isto vai para cima. Vou clicar duas vezes em nosso fio de execução bem aqui para trazer um nó de reexecução que me permite adicionar uma curva agradável, assim. Então vamos entender o que temos acontecendo atualmente com isso. Ao recordar esta função acontecer em primeiro lugar, vamos descobrir, hey, ele salvar objeto jogo existe? E se ele existir, bem, nós vamos fazer é pegar todos os dados que existem em nosso personagem. Data, é essa variável aqui. E nós vamos passar esses dados para a nossa versão de salvamento de personagem desta variável, que é aquela dentro do nosso jogo salvo bp bem aqui. Vamos passá-lo para dentro de nossos objetos de jogo. Lembre-se, são salvos objeto jogo, que é o nome da nossa variável, é do tipo de jogo BP salvar. Tudo bem? Então nós apenas nomear este objeto de jogo salvo, mas é desse tipo de jogo salvo BP. Ok, então aqui, passar essa informação de dados de caracteres é para os dados de caracteres salvos durante essa troca mais uma vez. Agora fora disso, eu vou manter o controle pressionado com o botão esquerdo e trazer um getter para o nosso slot de salvamento. E, em seguida, muitas vezes barra salvar slot, Eu vou arrastar para fora no tipo em salvar jogo dois slots. Há uma função para salvar um jogo em um slot. Conecte isso assim. Qual é o nosso objeto de jogo salvo? Bem, eu posso simplesmente pegar emprestado daqui e apenas ligar isso assim. E então, por último, eu vou arrastar um fio para fora deste e digitar a cadeia de impressão. Não se preocupe, vamos rever tudo isso mais uma vez sobre o que está acontecendo aqui. E eu vou fazer isso aparecer na tela por, vamos lá cinco segundos. E os textos aqui, a string que eu vou ligar em cadeia pode conter símbolos, letras, números, etc. Vou escrever sobre escreveu, salvar pontos de exclamação várias vezes. Tudo bem, agora vamos entender o que está acontecendo aqui e eu vou realmente fazer backup disso para a nossa criação de jogos salvos. Então, quando estamos criando nosso jogo salvo, novamente, o que estamos fazendo é que estamos criando nosso objeto de jogo salvar são salvos objeto de jogo é do tipo BP, jogo salvo. Vamos acessar nossa tabela de dados. Essencialmente, o que vamos fazer com nossa tabela de dados em todo este bit de script é que estamos extraindo todos os dados que existem em nossa tabela de dados. Estamos colocando em primeiro lugar em nosso personagem. Os dados são variáveis. Esse é o primeiro lugar que estamos colocando. Vai povoar. Isso permite colocar em elementos de matriz para Revenant e vários OG e milagre, et cetera. Vai ser preenchido. E então vamos passar todos esses dados daqui para
os dados de personagens seguros dentro do nosso objeto de jogo salvo, que novamente é esse cara aqui. Então é isso que acontece quando criamos um cofre. Quando carregamos um salvamento. Onde essencialmente extrair, descobrir o que o nosso slide de pauta está dentro do nosso objeto de jogo salvo. Foram então passando todos os nossos dados de jogo salvos que salvamos para o nosso objeto de jogo salvo. Estamos passando de volta para a nossa versão de instância dessa variável. Então agora novamente, quando está na versão de instância desta variável que podemos acessar está em qualquer lugar em todo o nosso projeto. Então agora está tudo carregado aqui dentro desta variável. Então, quando sobrescrevemos nosso salvar, bem primeiro encontrando eu odeio Temos um objeto de jogo salvo criado? E se o fizermos, vamos pegar toda essa informação que existe dentro de nossos dados de caracteres, e vamos passá-la de volta para nossos dados de caracteres, salvar essa variável bem aqui. E então vamos salvá-lo dentro do GameObject salvo que atende por este nome. Agora, novamente, não estamos usando nenhuma dessas funções ainda. Isso chegará em breve ano. Mas agora temos todas essas funções no lugar para fazer essa troca de informações que estamos criando são jogos salvos. Estamos apenas essencialmente usando nossa tabela de dados para preencher esta variável inicial aqui para inicializá-la, para dar-lhe informações. É uma vez que nós, é o que fazemos com esta variável depois de extrairmos todos esses dados de nossas tabelas de dados. Então, novamente, nossa tabela de dados vai apenas agir como uma espécie de,
um ponto de partida para todas as
nossas diferentes informações de caracteres é apenas nossos valores padrão iniciais. E, eventualmente, em alguns vídeos aqui, quando formos modificando alguns desses valores, seremos capazes de preencher todos esses dados e salvá-los de volta
em nosso salvamento de dados de caracteres bp. Então nossa lista de Personagens aqui, todos os dados e aqui serão apenas nossos valores padrão. Nós vamos ser capazes de modificá-lo e, em seguida, salvá-lo dentro desta variável aqui. Então isso é essencialmente o que temos acontecendo. Muito bem, isso é muita discussão sobre essas funções. Isso vai fazer isso fora de um cara. Vejo-te no próximo.
73. Salve / carregar Script: Bem-vindos de volta a todos. Bem, agora que temos algumas funções criadas relacionadas a um sistema de salvamento e carregamento, provavelmente
seria uma boa idéia se realmente fizéssemos algum uso delas. Então, nosso objetivo neste vídeo será criar um script que
criará um novo objeto de jogo salvo ou carregar um já existente. Agora este trabalho vai estar acontecendo dentro de nossa instância de jogo bp. Então, apenas no caso de você decidir tirar umas férias entre vídeos aqui, Vamos voltar para onde você deve estar dentro de conteúdo, interface do personagem, plantas. Clique duas vezes na instância do jogo BP, que é onde você deseja ir. Tudo bem, dentro daqui, nós queremos estar trabalhando dentro de nossa guia do gráfico de eventos. Agora, se você acidentalmente x isso para fora e você tipo, oh meu Deus, o que eu faço agora? Lembre-se, sob o painel Meus blueprints, você pode clicar duas vezes neste gráfico de eventos sob a seção do gráfico para trazer isso de volta. Agora, precisamos de um nó de evento aqui para começar aqui. Então, vou clicar com o botão direito do mouse em algum espaço vazio e o evento que estou procurando é chamado de eventos em nit. Evento nele é a abreviação de inicialização By the way, essencialmente você pode pensar nisso como uma espécie de Event Begin Play para esta instância do jogo, blueprints. Assim que o nosso plano de instância do jogo estiver ativado, o que queremos fazer? Bem, nós queremos nos arrastar daqui e nós queremos descobrir se salvar jogo existe? Queremos saber se já existe um? Em que nome de slot? Bem, nós salvamos um nome de slot aqui, então vamos arrastar e soltar isso bem em cima daquele alfinete. E uma vez que você arrastá-lo e soltá-lo lá, ele liga-o automaticamente. Bastante doce. Então essa é a primeira coisa que queremos fazer. Então, queremos sair daqui. E queremos trazer um nó de ramificação. Devemos nos certificar de que esse valor de retorno está conectado lá. Na verdade, luta apagou isso e eu saí daqui inicialmente e fiz uma busca por um nó Branch. Iria prender os dois na vertical e tal como queremos fazer. E aqui está a nossa bifurcação na estrada. Se existe um mesmo jogo, vamos fazer algo aqui. Se não existir, vamos fazer alguma coisa daqui. Então vamos fazer assim, vamos construir a partir da nossa verdade. Então, se um jogo salvo existe, o que queremos fazer? Bem, queremos chamar nossos jogos salvos de carga de função. Então vamos arrastar e soltar isso em nosso gráfico. Vamos chamar isso agora que o alvo é nós mesmos. Esta função vive dentro de gammas BP desde que você é tão o alvo de si mesmo é perfeitamente bom. Estamos dizendo oitavo, dispare essa função para carregar o jogo salvo. Agora, se isso é falso, nós não temos como um jogo que existe, nós simplesmente queremos criar, digamos, um jogo. Então encontrar a sua função per cria um jogo, arraste-o e solte-o no gráfico assim. E novamente aqui para o alvo é eu porque é aí que esta função particular existe. Então, com isso, eu vou arrastar o clique
esquerdo e arrastar uma caixa de comentário em torno de tudo isso clique com o botão esquerdo do mouse que CQI, e vamos chamar isso de criar jogo. Salvar. Se um não existir. Caso contrário, salvar vírgula. Tudo bem, e eu vou colorir esta caixa de comentários preta. Vamos em frente e compilar isso e salvar isso. E agora vamos nos dar uma peça e ver o que podemos ver. Vou clicar em jogar aqui. No canto superior esquerdo você pode ver os textos criar salvar jogo apareceu três vezes. Por que aparece três vezes? Eu não estou totalmente certo sobre isso. Só saiba que está funcionando. Tudo bem. Para que eu possa entrar aqui. Nós não vamos ver nenhum texto extra ou qualquer coisa, mas nós realmente criamos um jogo, salvo nos bastidores. Então o que eu vou fazer é sair daqui. E eu vou para o Explorador de Arquivos no meu computador e eu já tenho essa janela aberta. E todos os meus arquivos de projeto estão vivendo neste diretório bem aqui. Documentos, projetos irreais personagem você, Eu sei que isso vai ser um pouco diferente dependendo de onde você está, então estão armazenando seu projeto. Mas neste diretório você deve ser capaz de encontrar uma pasta salva. E se você clicar duas vezes aqui, você encontrará uma pasta de jogos salvos. E se você clicar duas vezes sobre isso, o que você sabe? Você vê um arquivo salvo e ele é chamado de slot de salvamento. E o que você sabe aqui em nossa instância de jogo bp, nós temos uma variável chamada salvar slot. Então, aí está, há a conexão que estamos criando um jogo salvo. E é chamado de lote salva porque em nossa função de jogo salva cria, estamos criando um jogo salvo aqui. E é chamado o que quer que nós chamá-lo em nossa variável slot salvar aqui. Tudo bem, isso é tudo o que queríamos fazer neste. Então, compile e salve e certifique-se de que você tem tudo salvo. Na verdade, agora é uma boa hora para salvar todos os caras, isso vai fazer tudo por este, não feito ainda. Mais para vir na próxima seção, nos vemos lá.
74. Atualização de dados de personagens: Bem-vindos de volta, mais uma vez. Bem, agora que estamos criando um jogo salvo ou carregando um jogo salvo no início de nosso jogo, precisamos atualizar a função Obter dados de caracteres que criamos aqui dentro de nossa Instância de Jogo BEP, esse cara bem sobre Aqui. Por que precisamos fazer isso? Bem, porque antes da nossa função de dados de caracteres da dívida estava procurando nossa tabela de dados. Esse cara aqui, estamos pegando nossa tabela de dados. Aqui está nossa tabela de dados. E retornando o índice solicitou o role_name. Agora, se você olhar cuidadosamente para como nossa função criar jogo salvo funciona. Se olharem cuidadosamente para este tipo, o que estamos a fazer aqui dentro é extrair todos os dados da nossa tabela de dados e colocá-los dentro de um conjunto de dados de caracteres que criámos este tipo aqui. Assim, não precisamos mais procurar esses dados em nossa tabela de dados. Essa tabela de dados foi ótima para nos dar nossos valores padrão. Mas se quisermos modificar esses valores, precisamos ser capazes de escrever para nossas variáveis de matriz de dados de caracteres, não para a tabela de dados em si. Na verdade, é uma limitação de tabelas de dados que você não pode gravar nelas, mas essa solução alternativa de extrair os dados padrão de uma tabela de dados, preencher uma matriz de dados de caracteres
e, em seguida, modificar essa matriz funcionará. Agora, se tudo isso parece um pouco confuso para você, eu vou para as interwebs aqui onde eu tenho um gráfico para meio que mostrar a vocês o que nós temos atualmente e o que vamos essencialmente fazer. Então este é o tipo de nossa função de dados de caracteres Get como ele existe agora. Então, temos um monte de dados dentro de nossa tabela de dados e dentro de nossa função de dados de caracteres Git, estamos alcançando dentro dessa tabela de dados e estamos usando-o para vincular todos os nossos vários widgets aos dados em nossa tabela de dados. Agora o que vamos estar fazendo com nossa função atualizada aqui é que vamos
pegar todos os dados padrão que vivem dentro de nossa tabela de dados. Nós vamos preencher nossos dados de caráter em vez de matriz. E isso vai ser passado para trás e para frente entre nossa matriz inst em nossa salvar uma versão do array. Lembre-se que temos duas versões da mesma matriz. E esta versão ints do array, aquele que vive em nossa instância de jogo bp. Este é o que vamos usar para preencher nossos widgets de interface do usuário de perfil de personagem. Então Deus, então antes Atualmente eu devo dizer como é, estamos extraindo esses dados diretamente da nossa tabela de dados e usá-los para ligar aos nossos widgets. Agora vamos preencher este array e ele vai
ser passado para trás e para trás aqui para ser salvo se for necessário. E agora vamos estar vinculando todos esses caracteres a esses valores que vivem dentro dessa matriz em vez disso. Então, novamente, a razão pela qual estamos fazendo isso é porque você não pode modificar tabelas de dados por si mesmos. Você não pode sobrescrever os valores lá. Mas fazendo isso, fazendo com que esses valores padrão preencham isso, podemos voltar e reescrever sobre isso. E isso vai ser poderoso. Agora apenas algo que eu quero mencionar rapidamente em relação às tabelas de dados. Agora você pode estar se perguntando, bem, qual é o ponto de uma tabela de dados? Quero dizer, podemos ter todos esses dados aqui, mas não podemos escrever para eles. Não podemos sobrescrever esses valores. Quero dizer, de que serve isto? Agora eu só quero que você considere por um segundo que esta tabela de dados poderia ser usado para todos os tipos de grandes coisas, especialmente considerar como um jogo de estilo RPG ou talvez você
tenha um 100 armas e um 100 peças de armadura, et cetera, et cetera. E todos os atributos relacionados a essa armadura são aquelas armas, realmente não mudam, você nunca precisa modificá-las. Então tabela de dados ainda são ótimos para esses tipos de propósitos. Ou talvez você tenha uma loja cheia de itens de inventário, e esses itens em sua loja têm um ícone em um nome, uma descrição e um preço, e essas coisas nunca mudam. Tudo o que pode viver em uma tabela de dados também. Então eu estou apenas mostrando a vocês uma outra maneira que você pode tirar todas as suas informações de uma tabela de dados e ainda modificá-las. Tudo bem, então com tudo isso como uma liderança, vamos direto ao assunto. Então, em primeiro lugar, certificando-se de que estamos todos na mesma página de volta aqui em nosso editor de nível principal, onde dentro de nossa pasta de blueprints de interface do usuário do personagem de conteúdo, você deseja clicar duas vezes em sua Instância de Jogo BP. E como eu mencionei antes, nós vamos estar fazendo alguma edição para r recebe função de dados de caracteres. Isso nos serviu bem, mas agora podemos fazer algumas alterações porque temos algumas novas variáveis aqui. Então é assim que vamos modificá-lo. Então, em primeiro lugar, eu vou pegar meu nó de entrada de dados de caracteres get aqui. Eu vou desligar isso, então eu vou segurar Alton, nós vamos apenas cortar o fio. E eu vou ligar isso diretamente no nó retornado aqui. Tudo bem, o que vem a seguir? Eu vou manter meu jogador selecionado inst aqui fora. No entanto, esta recebendo a tabela de dados, eu vou nix isso para fora. Então eu só vou dizer adeus, apenas apague isso. Agora, a próxima coisa que quero fazer é pegar meus dados de personagem. Inserir aqui. Vou clicar com o botão esquerdo é clicar com o botão esquerdo e arrastar isso para dentro. E quando eu soltar o clique esquerdo, eu vou conseguir isso. Tudo bem, então agora com isso aqui, eu vou arrastar um fio para fora disso. E eu vou digitar “gets “, e nós vamos escolher para obter uma referência aqui, obter uma referência. Um href significa uma referência. Eu escolho essa. Você vai ter um nó que se parece com este. E ele vai estar pedindo uma entrada de inteiro. Agora, se tentarmos levar o nosso jogador selecionado inst aqui, que é um valor, mesmo que seja do nome do tipo de variável, é um valor numérico e tentamos conectá-lo diretamente lá. Novamente, não podemos fazer isso. Então o que poderíamos fazer aqui é arrastado para fora daqui e ir para a corda. Podemos mudar isso para uma string primeiro. E, em seguida, fora da nossa cadeia, podemos converter isso. E você pode ver que essa entrada ainda está acesa quando estou tentando arrastar até ela. Eu posso arrastar e soltar aqui para converter essa string em um inteiro assim. Então, novamente, este jogador selecionado dentro, se você se lembrar, isso vai escolher essencialmente qual. Qual linha, qual item de entrada em nossa matriz que queremos selecionar. Agora lembre-se de nossos insights de dados de personagens quando criamos nosso jogo salvo, ele vai criar diferentes entradas para remanência e milagre e sever OG. E isso é o que vai guiar qual versão disso nós temos. Vamos pegar o elemento 01 ou dois? Tudo bem, então com isso, nós vamos conectar isso em nossa estrutura aqui. Porque estamos essencialmente puxando esta struct Now desta variável. E isso é o que está dizendo a ele qual entrada dentro de nossos dados de personagem queremos pegar. Tudo bem, vamos fazer outra coisa aqui também. Agora que atualizamos essa função, isso é realmente atualizado como queremos. Vou renomear isso também. Então, na minha função, Jerry, eu só vou bater F2 aqui. E eu vou chamar isso de obter dados de caracteres atualizados. Então está claro que atualizamos essa função que é apenas para meus próprios propósitos. Agora eu também vou colocar um comentário nó sobre meus dados de personagem está aqui. E isso é apenas para nos ajudar a entender, eu vou clicar com o botão direito sobre isso e no comentário do nó, eu vou dizer preenchido após a criação do jogo. E isso acontece. E eu vou mostrar-lhe que isso acontece em nossa função criar salvar ou carregar salvar. Agora, se eu ir para o meu criar uma função de jogo salvar e apenas clicar duas vezes sobre isso. Lembre-se, no lado desta função criar jogo salvo, aqui estão nossos dados de personagem em vez deste cara aqui. E aqui é onde estamos preenchendo com todas as guloseimas de nossa tabela de dados, tipo de dado seus valores padrão, estamos inserindo todos esses, todos, todos os dados de linha nos vários índices de nossos dados de caracteres aqui. Ok, e no jogo de gravação de carga, se tivermos um objeto de jogo salvo, se ele reconhecer que vai carregar um jogo salvo, lembra? E aqui ele vai pegar todos os dados de personagens, salvar informações que salvamos em nosso slot aqui. E ele vai preencher todos esses dados de volta em nossos dados de caracteres. Ok, então isso significa que em nossa função aqui de obter dados de caracteres, é perfeitamente válido para nós apenas, você sabe, puxar dentro de sua instância de dados de caráter a. Ei, me diga quais dados vivem dentro daqui. Essa é outra maneira de obtermos todos os nossos dados de personagens. E, por último, devo mencionar de volta em nossa função de sobrescrever jogo salvo. E, novamente, é bom revisá-los aqui quando estamos substituindo nosso jogo salvo. Lembre-se que estamos pegando todos os dados em nossos dados de personagens e estamos
salvando isso em nossa matriz de salvamento de dados de personagens dentro de nossos objetos de jogo. Então, essencialmente, no final do dia, a única vez que vamos estar lendo de nossa tabela de dados agora é apenas a primeira vez que são salvos. Jogo é criado aqui, bem nesta função, esta é a única vez que vamos estar lendo a partir da nossa tabela de dados. A partir daí, estaremos lidando
exclusivamente com a modificação de nossas matrizes de dados de caracteres. Tudo bem, então novamente, nossa tabela de dados será apenas
nossos valores padrão a partir de agora nos vídeos que virão, nós vamos estar lidando com a modificação dos dados dentro de nossos arrays de dados de caracteres. Tudo bem, pessoal, isso vai fazer tudo para este vídeo muito importante. Vejo você na próxima.
75. Script de nomes em atributo: Bem-vindos de volta a todos. Bem, com o nosso sistema salvo criado e são obter função de dados de caracteres atualizado. Estamos agora em uma posição onde podemos escrever a edição e salvar o nome do nosso personagem aqui. Agora, antes de chegar a isso, eu só quero dar uma volta em algo que conversamos, mais cedo no curso. E isso foi se você fosse abrir seu projeto fresco depois de ter criado algumas ligações de widgets. E então você foi compilar seu jogo no início do curso, eu avisei sobre você fez um monte de erros. Agora, eu acabei de abrir meu projeto no ano novo. Então eu vou compilar o meu WB p personagem UI e agora eu não recebo nenhum erro. E a razão pela qual não recebemos mais erros e a razão pela qual eu disse para você não se preocupar quando isso aconteceu
no início do curso foi porque eu sabia que íamos reescrever nossa função de dados de caracteres aqui, reescrevendo-a como isto. Novamente, nós não estamos lendo diretamente da tabela de dados mais, refere-se preencher esta variável e, em seguida, ler diretamente a partir daqui, isso não se torna um problema de compilação mais aqui em nossa interface de usuário de personagem. Então só queria apontar isso antes de continuarmos mais. Muito bem, agora vamos ao que queremos fazer para este curso. Vamos fazer algum trabalho dentro da nossa instância do jogo BP. Portanto, certifique-se de que, em blueprints de interface do usuário de caracteres de conteúdo, você clicou duas vezes em sua Instância de Jogo BP para abrir isso. Agora, o que precisamos criar é uma função que
será capaz de atualizar nossos dados de caracteres. Inserir array, um que estamos prestes a criar fará isso. E nós queremos criar uma função dentro daqui que vai realmente
atualizar nosso nome de personagem quando nós realmente tentar atualizá-lo aqui. Então nós vamos ter esta função ao vivo dentro de nossa instância de jogo bp. Então, é assim que ele vai trabalhar sobre instância de jogo
NPP onde ele diz funções, clique mais função. Vamos criar um chamado Updates name. E eu vou criar uma nova categoria aqui. Temos nossa categoria de sistema salvo. Eu vou criar um vindo para o painel Detalhes aqui com nossa nova aba aberta e acima da categoria, eu posso simplesmente clicar com o botão esquerdo e arrastar sobre o topo. E vamos chamar essa categoria de atualizações de tabela de dados. Agora isso não é tecnicamente atualizações de tabela de dados. Ele realmente deve ser atualizações de dados de caracteres que você não quer, eu vou chamá-lo de atualizações de dados de caracteres. Atualizações de dados de personagens porque isso vai ser mais verdadeiro para o que estamos realmente fazendo. Porque novamente, nós não vamos realmente estar atualizando a tabela de dados. Vamos actualizar este tipo ali mesmo. Tudo bem, então o que precisamos fazer em primeiro lugar aqui é eu preciso adicionar uma nova entrada aqui. E isso vai ser um pouco confuso quando eu passar por isso pela primeira vez, mas prometo que vou dar uma volta e explicar tudo o que está acontecendo aqui. Então, em primeiro lugar, vamos adicionar uma nova entrada. Nós vamos clicar bem aqui com nossos nós de entrada gostaram e eu vou chamar este nome. E isso vai ser. Da variedade de textos. Agora lembre-se, queremos ser capazes de sobrescrever o nome do nosso personagem. E se eu for para a minha função Obter dados de caracteres atualizados, nosso nome de personagem aqui é da variedade de variáveis de texto. Então essa é a razão no meu nome de atualização, eu estou criando uma entrada de nome bem ali. Tudo bem. Eu estou realmente indo para roubar alguns nós da minha função de dados de caracteres get aqui apenas para tornar todo este processo um pouco mais rápido. E eu vou roubar todos esses caras. Vou clicar com o botão esquerdo e arrastar tudo isso aqui. E você pode apertar o controle C para copiar. E vamos voltar ao nosso nome de atualização e eu vou fazer o controle V para colar. É bom roubar de vez em quando. Desde que isso signifique um script mais eficiente aqui. Ok, e eu vou tipo de reposicionar esse cara e eu
vou meio que derrubar esse comentário aqui. Posso fazer isso clicando ali. E eu vou puxar para fora dos meus dados de caráter ou matriz aqui, arrastar para isso e eu vou digitar em conjunto elementos de matriz. O que isso nos permite fazer é basicamente definir alguns dados dentro do nosso array em qualquer índice que lhe digamos para defini-lo. Agora, aqui está o jogador selecionado em vez disso, lembre-se, este é o que está nos dizendo quais elementos nós essencialmente queremos apontar em nossa matriz. Então eu posso pegar essa saída aqui e conectá-la diretamente a isso, assim. Ok, eu vou pegar meu nó de entrada bem aqui
do nome da atualização e eu vou ligar isso diretamente lá dentro. E estou tentando achar uma boa maneira de configurar tudo isso. Não tenho muitos fios cruzando. Ok, o próximo que eu quero fazer é eu quero fazer na matriz. Agora, se eu olhar para a entrada deste elemento conjunto matriz aqui, a entrada do item e eu pairei o cursor do mouse sobre ele. Ele diz que é uma estrutura de um dados de caráter. Ou seja, ele reconhece que o tipo de variável para isso conectado
à matriz de destino é do caractere de estrutura, variedade de dados. E eu quero fazer uma matriz do mesmo tipo aqui que estamos quebrando. E o que eu quero fazer é fazer um novo para ligar de volta a isso. Então o que eu poderia fazer é que eu posso realmente arrastar para trás disso e eu posso digitar a estrutura make de dados de caracteres. Agora, novamente, vai mostrar um pequeno colapso como este. Quero expandir isso assim. E essencialmente o que eu quero fazer é conectar todos esses fios em linha reta,
assim, no entanto, o que eu quero deixar aberto e não conectado atualmente é o nome do personagem. E eu vou rolar isso para vocês todos aqui em apenas um pouco depois de eu usar tudo isso assim. Então você tem um entendimento sobre exatamente o que esta função está fazendo quando chamamos em nosso próximo passo, certo, quase terminado aqui. Alguns mais, certifique-se de que você tem todos eles conectados
às coisas apropriadas que devem ser relativamente fáceis. Agora, só mais uma dica rápida para todos verem como meus fios não estão perfeitamente retos. Se eu tivesse que clicar com o botão esquerdo e arrastar, eu poderia realçar ambos. Posso clicar com o botão direito do mouse e alinhá-los. Como o meio alinhado ou eu posso endireitar conexões assim. E boom, eu tenho alguns héteros e conexões. Então saiba que você tem algumas opções de alinhamento se você clicar com o botão direito do mouse em seus nós, isso é muito doce. Agora, novamente, eu disse que não queria ligar isso diretamente através porque com esta função, o que eu quero fazer é pegar qualquer que seja o novo nome e conectá-lo a isso. Então agora deixe-me reverter tudo isso e explicar o que vai acontecer. Vamos chamar esta função para ocorrer em nosso próximo passo. Quando o fazemos, o que estamos fazendo aqui é olhar para todos os dados em nossos dados de caracteres inserindo. E novamente, quando estamos criando ou carregando são salvos jogo isso vai consistir em todos os dados de nossa lista de personagens para Revenant, para Meriel, Semarang, etc. Então o que estamos fazendo nesta função é dizer,
ok, qual é o nosso jogador selecionado atual? Novamente, isso pode ser 01 ou dois agora, e isso vai apontar para o apropriado, os elementos apropriados. Lembre-se, Revenant foi nossos primeiros elementos, milagre foi o segundo elemento, Sever OGG foi o terceiro, e assim por diante e assim por diante. Então, com base nesse índice, quais elementos vamos quebrar os dados atuais que existem dentro daqui. E vamos passar isso para nossos dados de caráter. É novamente, estamos dizendo, sim, queremos definir isso para todos os mesmos dados. No entanto, a única coisa que queremos ter mudança é qualquer nome que conectamos a esta função. Então esse é o único bit de dados vai mudar. Agora, espero que eu possa armar isso para todos vocês aqui. Então, no caso de você precisar pausar o vídeo, você vê como tudo isso é construído. Vamos criar mais funções como esta nos próximos vídeos. No entanto, a maior parte deste trabalho já está feito e nós vamos estar fazendo um monte de duplicação desta função para o próximo vídeo. Então é bom saber isso. Certo, próximo passo, o que precisamos fazer aqui? Precisamos saltar para o nosso personagem WEP UI. E se você esqueceu que é peso realmente
Espere, espere, espere. Vamos parar o ônibus aqui. Esqueci-me de um passo muito importante. Você deve compilar. Se você não compilar aqui, não
seremos capazes de encontrar nossa função em. Os próximos passos são muito importantes. Você compilar aqui e sua Instância de Jogo BP, vamos salvar imediatamente também. E então podemos saltar para a nossa UI de personagem W BP. Novamente, se você esqueceu onde esse ativo está, aqui está ele nos widgets de interface do usuário do personagem de conteúdo, clique duas vezes sobre esse cara para abri-lo. Certo, agora qual é a coisa que queremos modificar? Bem, aqui no nosso painel de atributos. E novamente, você vai ter que rolar para baixo até sua parte inferior de sua hierarquia para encontrar isso. Caixa de texto, vamos selecionar aquele cara. E na parte inferior do painel Detalhes, temos dois eventos que queremos criar um anúncio em nossa guia gráfico. Podemos adicioná-los aqui. Então eu vou clicar aqui para desmarcar a alteração de texto. Isso vai saltar-nos para os nossos gráficos. E se eu voltar para o designer, para ele, com o mesmo widget destacado e ele é destacado. Eu também vou criar um evento para no texto comprometido. Você pode ver que este foi adicionado. Quando diz Ver, significa que foi adicionado. Tudo bem, agora temos os dois aqui fora. Excelência. Certo, a primeira coisa que queremos fazer é
pegar uma referência à minha instância de jogo aqui. Vou me preocupar em posicionar isso no meu gráfico de eventos onde eu queria. Aqui está a minha instância do jogo BP. Vou pegar uma referência a isso. Eu vou buscá-lo. E agora que temos uma referência à nossa instância de jogo bp, eu posso arrastar e chamar essa função que acabamos de criar, a função de nome de atualização. Então, de volta aqui em WPP personagem UI, o modo gráfico que vamos arrastar para fora daqui. E agora eu posso fazer uma busca por nome de atualização. E aí está. Há aquela função que acabamos de criar dentro da nossa instância do jogo. Ok? Agora podemos ligar isto direito como agora, mas agora está a perguntar-nos, bem, que nome queres ligar aqui? Bem, aqui está um evento para no contexto mudou. Ok? O que eu vou fazer é que eu não quero que o usuário apenas digite, você sabe, 50 caracteres porque você olha para trás aqui em nossos designers têm, eu não tenho espaço aqui para 50 caracteres dado meu, meu tamanho de fonte. Então vou restringi-los um pouco. A maneira que eu vou restringi-los está aqui na nossa guia gráfico. Eu vou fazer uma busca por um nó chamado get substring. Então eu vou clicar com o botão direito do mouse digite recebe sub string. Tudo bem, eu só vou mover isso para baixo um pouquinho. Agora o que eu quero fazer é que as nossas mensagens sejam mudadas. Vou arrastar para fora disso e digitá-lo em nosso submarino fonte ou nossa string fonte aqui. Agora ele vai converter nossos textos em uma string. Clique com o botão direito do mouse neste nó imediatamente. É só para nos ajudar a saber o que isso vai fazer. Eu vou clicar com o botão direito sobre isso em nosso comentário nó, eu vou dizer que isso vai, limites. São caracteres de limites exceto, mas não a quantidade digitada. Então eu posso tecnicamente digitar um nome que tem 50 caracteres de comprimento, embora isso vai limitar a quantidade de caracteres aceitos quando acabamos comprometido quando apertamos Enter. Então nosso índice inicial aqui vai ser 0. Podemos deixar isso. Mas vou limitar isto a um comprimento de dez caracteres. Você pode mexer com isso como quiser. Por último, o que vou fazer é pegar meu valor de retorno aqui. E isso vai cuspir uma corda. Mas se eu cuspir uma corda e conectá-la diretamente no meu texto aqui, isso vai converter minha string em textos. Portanto, note aqui com a nossa função de nome de atualização, temos esta entrada para o nome que queríamos inserir aqui na nossa instância do jogo bp. Lembre-se que criamos esta entrada de nome aqui. Quando criamos essa função, dissemos: “Ei, dê-nos uma entrada onde possamos conectar algum texto, certo? E vamos chamar esse nome. A razão pela qual fizemos isso aqui é para que quando nós realmente chamamos essa função aqui em nossa UI personagem WPP, nós poderíamos alimentar em um novo nome e qual nome vamos alimentá-lo em? Bem, seja qual for o texto para o qual mudarmos nesta parte do roteiro, e vamos limitar-nos a dez caracteres e apenas dez. Tudo bem, isso é só para quando mudamos o texto. É assim que vai limitar a quantidade de textos que podemos colocar aqui em baixo. Este será o compromisso do nosso texto quando pressionarmos Enter. Então o que vamos fazer aqui é eu vou trazer outra de nossa instância de jogo BP Rev. Eu posso simplesmente controlar c e controlar v. Esse cara, eu vou trazê-lo aqui, assim. E eu vou arrastar para fora daqui e eu vou chamar para nossa função de sobrescrever jogo salvar. Então, uma vez que eu confirme isso, eu quero sobrescrever nosso jogo salvo e lembrando nossa instância do jogo bp são sobrescrever função de jogo salvo. O que isso vai fazer é que vai levar nossos dados em nossos dados de caráter é, e ele vai salvá-lo em nossa matriz de salvamento de dados de caráter. E depois vai guardá-lo para o nosso espaço de salvamento. Então é assim que vamos escrever esses dados de volta para nossos dados de personagens,
passá-los para nossos dados de personagens, salvá-los e, em seguida, salvá-los em nosso objeto de jogo. Bastante doce. Sim. Tudo bem, então de volta em nossa UI personagem WPP, algo mais que eu quero fazer aqui é depois disso, eu vou arrastar para fora e digitar o som de reprodução hoje eu quero ter um pouco de efeito sonoro reproduzido quando nós realmente cometer este som. Então, eu só vou arrastar isso para baixo porque ele vai nos dar algum acesso a mais algumas opções. O som que eu quero tocar aqui vai ser chamado de menu radial fade out, que está no conteúdo do motor. E, novamente, você pode acessar esses sons de conteúdo do Engine
indo para as opções de exibição e garantindo que o show engine está marcado. E eu vou definir o multiplicador de volume para cinco. Eu quero que isso seja um pouco proeminente quando realmente cometermos isso. Tudo bem, com todo esse script no lugar que deve fazer isso aqui, vamos clicar com o botão esquerdo e arrastar. Vou tocar no CQI para colocar uma caixa de comentários. E eu vou chamar isso de nosso nome de edição de scripts. Vou colorir esta caixa de cor preta fugitiva, aquecimento. Ok, vamos em frente, compilar e salvar. E agora vamos dar uma jogada para testar isso mostrando tudo bem, tocando isso assim. Vou para a minha aba Atributos e vamos mudar o
nome dos enterros para ser super, super duper. Agora eu só mudo. Eu realmente não apertei Enter ainda, então agora deixe-me pressionar enter. Se você estiver um pouco de efeitos sonoros reproduzir, você verá o canto superior esquerdo onde diz Salvar sobrescrito. Tudo bem, isso é muito legal. Então, se eu fosse escapar daqui agora e jogar mais uma vez. Agora vamos olhar no canto superior esquerdo diz carregado salvo. Então, no canto superior esquerdo, diz “salvar carregado”. Vamos digitar a tecla E e vamos para o nível. Na verdade, não temos que ir para atributos. Aqui diz “Super “bem ali. Podemos ver que ele carregou em nosso nome editado. Só mais uma coisa que queria mostrar antes de encerrarmos este vídeo. Agora, novamente, era suposto limitar a nossa quantidade de caracteres. E então ele vai aceitar aqui. Vou digitar Andhra Sandra. A Sandra. E você pode ver agora quando eu pressionar Enter, na verdade você não quer Ruanda. Ruanda é provavelmente um mau exemplo porque w's são bastante longos. Então deixe-me apenas fazer alguns l, uma série de L, que é 567891011. Estou tentando colocar mais e você pode ver isso aqui em cima. Posso colocar mais, mas só aceitamos dez aqui. Eu posso pressionar Enter e sobrescreve o salvar aqui em cima. Deixe-me escapar daqui. Aperte Play. Duro na Ag e R. Lá vamos nós. Milagres novo nome. E mais uma vez, eu posso ir para vamos para Revenant. Vamos mudar o nome dele. Vou chamá-lo de “O Cara”. Entrar. Vamos ao Sever OG. E eu vou te chamar de fantasma ou como Ceifador. Sim, Reaper. Tudo bem. E diz que sobrescreveu o Save no canto superior esquerdo. Vamos fugir daqui. Pule de volta e jogue. Toque em Iggy. Certo, milagres nome é mudança. Temos o cara, temos borracha. Tudo bem, então nós podemos ver que tudo isso está funcionando, trabalho, bem feito caras, isso vai fazer oferecer este. Vejo você na próxima.
76. Script de Atributo Auto Moves: Bem-vindos de volta a todos. Neste vídeo, nosso objetivo é criar algum script que irá verificar para ver se nossos personagens auto move caixa de seleção aqui está marcada ou não. E dependendo se for, vamos garantir que o nosso personagem selecionado fato, avance sem qualquer entrada do usuário. Agora lembre-se quando criamos esta tela de interface do usuário de personagem, nós a projetamos de tal forma que quando você escapar desta tela, nós jogaremos como esse personagem em particular. Então, quando eu tocar na tecla E aqui para fechar o nosso personagem UI Revenant aqui, ou como nós chamamos, o cara, vai se tornar nosso personagem jogável. E como podem ver, ele está parado ali. Ele não é locomoção automática. Então o que queremos fazer é fazê-lo. modo que de volta aqui em nossa seção de atributos que quando esta caixa é marcada e escapamos de nossa interface de personagem que Revenant lá
ou qualquer personagem que estamos controlando movimentos por conta própria. Assim, podemos demonstrar como essa caixa de seleção pode ser usada. Tudo bem, então esse é o nosso objetivo aqui e nós vamos estar começando em nossa instância de jogo bp. Vamos criar uma função lá dentro. Então, se você se perdeu entre vídeos, venha sob blueprints de interface do usuário de personagem de conteúdo, clique duas vezes em uma incidência de jogo BP. Agora, no último vídeo, nós criamos essa função de nome de atualização onde novamente, o que estamos fazendo aqui é essencialmente estamos passando todos os nossos dados antigos aqui que existem dentro de nossos dados de caracteres. Inserir a. No entanto, a única coisa que estamos mudando, Deixe-me apenas clicar duas vezes sobre esses fios redirecionar ou para criar um par de nós redirecionar aqui para mostrar esta fiação. A única coisa que estamos mudando quando estamos chamando esta função é que estamos atualizando nosso nome de personagem. Agora podemos usar essa estrutura áspera da nossa função aqui para algumas dessas outras funções que vamos criar. Então não temos que refazer um monte de trabalho. Então eu vou selecionar minha função de nome de atualização aqui. Uma vez que ele é selecionado em amarelo, Eu posso fazer controle mais W para duplicar isso. E agora abriu uma nova guia. Preciso de nos dar um novo nome. Vou chamar isso de atualizações. Pode se mover automaticamente, ponto de interrogação assim. E você pode ver que ele vai atualizar o nome lá. Ele vai atualizar nosso nó de entrada e ele vai atualizar o nome da nossa guia. Agora, eu preciso fazer algumas modificações aqui porque para esta função em particular, eu não quero atualizar um nome. Eu quero atualizar esta variável auto move bem ali. Então o que eu preciso fazer em primeiro lugar é quebrar esse fio e eu vou
clicar com o botão esquerdo e arrastar e destruir esses nós redirecionados bem ali. Então eu vou selecionar minha atualização, pode mover automaticamente. E eu quero mudar a entrada aqui. E eu vou renomear isso para ser. Pode mover automaticamente o ponto de interrogação. E isso vai ser do tipo de variável booleana bem ali. Estamos à procura de variáveis booleanas vermelhas. Então vamos mudar nosso tipo de variável aqui para ser booleano. E agora o que queremos fazer é conectar tudo isso
até a criação de nossos dados de caráter. Agora, este fio vermelho aqui é um pouco difícil de ver algumas vezes. Então eu vou trazer um par de nós redirecionar. E apenas note que é fiação do nosso movimento automático Ken. E como eu meio que destacar a rota aqui você pode ver onde ele está sendo conectado ao booleano de movimentação automática de nossos dados de caracteres de estrutura make. Agora, uma coisa que você não deve perder aqui
também é olhar para nós quebramos este link entre o nome do personagem e os nomes dos caracteres, então nós queremos conectar esse backend. Então, novamente, o que vamos estar fazendo aqui é quando esta função é chamada, estamos essencialmente dizendo,
Ei, todos os dados de caracteres para este personagem em particular são personagem jogador selecionado. Passe todos esses mesmos dados como antes. Embora a única coisa que queremos mudar é o Booleano automotivo New Ken que vamos alimentá-lo. Essa é a única coisa que vamos mudar sobre este jogador selecionado dentro de nossos dados de personagens. Certo, passo muito importante aqui. Você deve compilar, você deve compilar aqui a
fim de realmente chamar esta função em nosso próximo passo. Então vamos compilar e salvar. Isso é uma coisa boa a se fazer. Em seguida, precisamos saltar para fora da nossa instância de jogo bp e para o nosso Wb, p personagem UI. E se você não se lembra onde isso está, ele está na nossa pasta widgets. Clique duas vezes nesse guia para abri-lo. E novamente, esta caixa de seleção aqui, queremos que algo aconteça quando mudarmos o estado dessa caixa de seleção. Portanto, certifique-se de que esta opção está selecionada na seção de atributos
do painel de tela da sua hierarquia. E, em seguida, com essa caixa de seleção selecionada rolar todo o caminho até a parte inferior, há um evento associado a este widget nele. É um estado de desverificação alterado. O que isso vai fazer é disparar um evento sempre que verificarmos isto ou desmarcá-lo. Então eu vou clicar bem aqui. E ao fazer isso, ele vai adicionar este nó de evento mais na minha guia gráfico. Acabou de nos saltar da aba Designer para dentro da guia gráfico. Eu só vou passar um pouco para trás aqui. Você pode ver onde ele colocou nosso script de nome de edição do último vídeo aqui. Isso vai ficar bem. Muito bem, aqui está a nossa mudança de estado não verificada. Olha, ele vai sair, ele vai produzir um booleano. Está verificado ou não? Sim ou não, está verificado? Então, o que vamos fazer nos próximos anos, vamos trazer uma referência ao nosso incenso de jogo. E novamente, podemos encontrar nossa
referência de instância de jogo na seção variável do painel My Blueprint. Vou manter pressionado o controle, clique com o botão esquerdo e arraste. E isso vai me dar uma chance assim que eu liberar,
nós vamos ter a nossa instância do jogo. Então eu vou sair daqui e eu vou fazer uma busca por atualização. E olhe só digitando as letras iniciais de atualizações. Podemos encontrar a nossa atualização pode auto mover função que acabamos de criar dentro da nossa instância de jogo bp. Isso é sensível ao contexto, ou
seja, se eu simplesmente tivesse que clicar com o botão direito do mouse no espaço vazio e fazer uma busca por atualizações. Pode mover automaticamente, eu não consigo encontrá-lo porque novamente, isso é contextual significado que isso é contextual para esta variável particular, nossa instância do jogo em sabe que isso vive dentro de nossa instância do jogo. Pode se mover automaticamente, vou chamar essa função. Nós vamos conectar isso assim, de
modo que quando nós realmente marcar ou desmarcar que ele vai chamar esta função para acontecer. E olhando bem aqui, podemos ligar, este cheque
é ou não está verificado? Para R não pode se mover. Então, se for verificado, que vai dizer sim podemos automotivo. Se isso não estiver marcado, ele vai dizer não, não podemos nos mover automaticamente. Agora eu também vou puxar para fora do meu jogo BP insincero e eu vou substituir jogo salvo. Vamos chamar essa função também. E novamente, apenas um pouco rapidamente rever o que esta função faz mais e são BP instância jogo sobrescrever jogo salvo. Vai levar todos os dados dentro de nossos dados de caracteres. Vai passar isso para nossos dados de caráter. Salvar matriz que existem dentro do nosso jogo são objeto jogo salvo,
e, em seguida, ele vai realmente salvá-lo. Então nós estamos apenas passando os dados de nossos dados de caráter é para nossos dados de caráter seguro e nós estamos salvando-os, atualizando isso. Muito bem, de volta ao nosso personagem WEP UI, estamos quase terminando com este pequeno script curto. Eu também vou arrastar um fio para fora disso. E vamos tocar um pouco de efeito sonoro. Então, toque som 2D. Assim que
mudarmos isto, vamos disparar o som. E o som que eu quero encaixar aqui vai ser doca janela permitida, ponto empacotável janela aberta. E você pode ver novamente isso está na janela do documento de conteúdo do mecanismo aberta. Se você não vir isso em Opções de exibição, verifique se o conteúdo do mecanismo está sendo exibido. E eu, você sabe, eu não vou mexer com nenhum dos multiplicadores de volume ou qualquer coisa assim. Vou dizer que isto é bom. Vou clicar com o botão esquerdo e arrastar em torno disso e tocar no CQI para colocar em uma caixa de comentários. Vou chamar isso de meu roteiro de movimentação automática. E vamos colorir isso imediatamente. Isto vai ser preto. Bom. Vamos compilar isso para garantir que nosso script é bom para ir e salvá-lo. E agora vamos fazer testes e você vai notar algo imediatamente. Ok, eu vou bater naquele e qui. Tudo bem, eu vou para, vamos para Revenant imediatamente. O cara como. Atualmente, ele é conhecido. Vou para os meus atributos agora diz: “ Podemos nos mover automaticamente no momento é não. Vou checar isso. Diga sim, enfraquecer deve se mover. Quero o cara ou a receita para a automotiva. Então, agora, quando eu escapar daqui, vamos ver se o cara se automotiva. E ele não sabe. E a razão para isso é porque nós realmente não criamos script dentro de um projeto de personagem Revenant player para dizer-lhe para se mover automaticamente. Então esse é o próximo passo para o projeto. E vamos saltar de volta para a nossa guia de nível principal aqui. E vamos entrar sob o modelo Regresso. Vamos selecionar esse cara imediatamente. E eu sei essencialmente o que estou procurando aqui. Há muitas pastas aqui dentro também. Mas com a nossa pasta do Regresso selecionada, vou fazer uma busca pelo Revenant, o
que não vai reduzir muito. Jogador. Aí está, personagem retornado. E se eu passar o mouse sobre
ele, ele vai mostrar que o caminho das pastas para chegar a este cara. E vou clicar duas vezes nele para abrir. E este é o nosso Plano de Personagem para Revenant. Se eu for para o visor aqui, você pode realmente ver o que parece aqui. Agora eu não vou passar por uma explicação inteira sobre tudo o que está acontecendo aqui. Mas saiba que no Gráfico de Eventos ou personagem remanescente do jogador, há algum script que faz coisas como fazer algum salto e movimento e assim por diante e assim por diante. Ok, precisamos vir e encontrar algum espaço vazio dentro deste gráfico para nos dar um começo aqui, talvez para a direita. E nós vamos criar uma variável para começar, e então cria subscript neste espaço. Então, na lista de variáveis, clique aqui, quatro variáveis mais. E vamos criar uma nova variável booleana chamada ponto de interrogação Auto move. Temos que compilar o blueprint para nos dar um valor padrão. Então vamos em frente e fazer essa compilação. E mostra uma caixa de seleção que foi desmarcada, significa que é falsa por padrão. Agora o que eu vou fazer é em algum espaço vazio, eu vou clicar com o botão direito e eu vou fazer é procurar por eventos. Comece. Jogar. Assim como uma dica rápida aqui, você pode encontrar e adicionar este evento como este, ou você pode manter pressionado o P ki como em jogo e clicar com o botão esquerdo e isso trará um Evento Begin Play. Tão pequeno atalho ali. O que quero oferecer é clicar com o botão direito do mouse. Nós vamos pegar nossa instância do jogo, obter Instância do Jogo. Este top aqui, obter Instância do Jogo. Então eu vou me arrastar para fora disso e nós vamos lançar para a BP jogo inocência. Então, novamente, isso está dizendo, ok, você quer obter uma instância de jogo. Com qual Instância de Jogo você deseja falar? Oh, ok. Você quer ver se estamos usando a essência do jogo BP. Ok? E se estiver, o que quer fazer se for verdade? Bem, se isso é verdade que estamos usando são instância de jogo BP, em seguida, fora daqui, Eu quero retirar para que possamos acessar a função atualizada de dados de caráter do nosso get. Agora a razão pela qual vamos fazer isso no Begin Play é porque eu quero
inicializar nossa variável de movimentação automática aqui que acabamos de criar. Então, essencialmente, o que eu estou fazendo é que eu estou chamando esta função dentro de nossa instância de jogo bp. E estou descobrindo qual é a jogada automática inicial dos nossos personagens? É verdade ou falso? E eu vou passar isso para esta variável aqui. Agora, a maneira que eu posso definir isso é que eu posso imediatamente clicar com o botão esquerdo e arrastá-lo nesta saída. E se eu arrastar uma variável em um pino de saída como este, ele trará uma versão setter dessa variável. Então, novamente, assim que estamos clicando em começar, ou assim que estamos começando a jogar aqui, esta função vai ser chamada e o que está definido para nossa movimentação automática para receita aqui vai ser preenchido nesta variável. Tudo bem, então eu vou apenas clicar com o botão esquerdo e arrastar isso rapidamente. Vamos ter aquele CQI. E para um comentário nó, ou eu deveria dizer um comentário, bloco comentários, Eu vou dizer valor de leitura de get caractere, função de
dados e inicializar nosso deve mover variável aqui. E isso vai ser usado aqui em pouco tempo. Então vamos colorir esta caixa preta, vermelha. Certo, o próximo passo que precisamos dar e estamos quase embrulhados com isso, é eu vou dar um zoom para trás um pouco. E há uma seção de script dentro de
seu personagem de jogador Revenant aqui no Gráfico de Eventos para entradas de movimento. Agora, resumindo, você tem um par de eventos de eixo de entrada que está determinando o, o, o, o movimento de residência aqui. Temos um movimento para a frente e um movimento para a direita eixo de entrada. Agora, esta função aqui está realmente dizendo ao nosso personagem para seguir em frente aqui, seguir em frente em uma determinada escala. Isto é basicamente o quão rápido você quer que eles vão, certo? Com base em quanto você está inclinando o stick analógico, Por exemplo. Agora nós vamos apenas fazê-los ir um valor definido, mas eu realmente vou quebrar este link aqui mesmo. Agora, novamente, este é o evento que vai
fazer nosso personagem avançar quando nós realmente,
você sabe, empurrar WAS, ou no nosso caso, w em nosso teclado, ou na direção ascendente em um stick analógico. Então eu vou manter pressionada a tecla Alt e clique com o botão esquerdo para quebrar esse link. Agora o que eu vou fazer é trazer nossa variável booleana de movimento automático bem aqui. Vou arrastá-lo em algum espaço até aqui. Eu vou pegar isso. E fora disso, eu vou arrastar para fora um fio e eu vou trazer um nó de filial. Você também pode trazer um nó de ramificação. Há um atalho para isso, mantendo pressionada a tecla B e clicando com o botão esquerdo, eles trarão um nó de ramificação. E agora vou ligar isto assim. Então, agora, se o nosso personagem não pode se mover automaticamente, não
estamos dizendo ao nosso personagem para se mover, então nós só queremos respeitar este evento aqui mesmo. Basicamente, isso está avançando manualmente bem aqui. Isso é W e S para mover para a frente ou para trás, ou ele está se movendo são esquerda manípulo analógico em um controlador, para a frente e para trás, que vai controlar. E se estamos dizendo, hey, Revenant Kant deve se mover, isso é falso, ele não pode fazer isso. No entanto, se isso for verdade, essa receita pode se mover automaticamente. O que vou fazer é duplicar este evento aqui em cima. Vou apertar o controle C e o controle v. Vou colar isso aqui. Vamos ligar o nosso verdadeiro valor aqui em cima. Vou pegar nosso vetor de avanço aqui porque queremos que eles se movam na direção da frente, mas eu vou conectá-los. O alvo deles vai continuar sendo nós mesmos. E o valor da escala, eu vou manter em um valor fixo de um. Então, em essência, o que estou dizendo é que se podemos mover automaticamente, sim, queremos que você se mova na direção da frente em uma escala dura de 1. Se você definir isso para ser algo como 0,1, eles irão se mover na direção para a frente apenas muito mais lento. Se você definir isso para negativo, ele vai se mover para trás. Fato tão divertido. Tudo bem, agora vamos em frente e compilar isso e salvar isso. E vamos fazer um teste de jogo. Agora note, eu só vou fazer o que todos nós fizemos aqui. Adicionando esta variável, fazendo isso, inicializando a variável, e, em seguida, usando esta variável auto para controlar se devemos ou não locomotar ou não. Só vou fazer isto no nosso personagem de Revenant no interesse do tempo. Agora, se você quiser ligar isso em sever OG e milagres plantas personagem jogador também. Você pode. Então, note que quando eu estiver construindo agora só deve funcionar para o Regresso, não milagre no corte, OK, no interesse do tempo. Tudo bem, então aqui vamos nós. Vou jogar o nosso jogo. Novamente. Alt plus P é um atalho para jogar o jogo. Estou batendo no tipo. Tudo bem. Vou pressionar um no meu teclado para ir para o tipo Revenant. Vamos para os atributos. Atualmente, ele está configurado para movimentação automática. E eu disse sua velocidade automotiva em 1,25, então isso é um pouco mais rápido do que o normal. Agora, quando eu escapar daqui tocando na tecla E, eu não vou, eu vou tirar as mãos do teclado e do controle. E o cara aqui deveria estar se movendo sozinho. Então aqui vamos nós, toque e assim,
você vai, Revenant está se movendo por conta própria. Agora deixe-me trazer isso como novamente, ok, e apenas toque em 0x0 e voltar para atributos. Então eu vou clicar nisso dizendo: “Ei, Revenant, você não deveria ser locomoção automática. Aqui vou eu. Pressionando II. Boom, parado. Então aí estão os hábitos. Nós acabamos de conseguir. De modo que em nossa UI personagem WPP, estamos usando nossa caixa de seleção aqui. Estamos usando o estado dessa caixa de seleção aqui, fazendo alguns scripts em nosso gráfico para determinar se nosso personagem pode se mover automaticamente ou não. Job, bem feito pessoal, isso vai fazer tudo por este vídeo, nos vemos no próximo.
77. Script de velocidade de Auto: Bem-vindos de volta a todos. Bem, neste vídeo temos três objetivos. O objetivo número um é permitir que o usuário modifique o controle deslizante de velocidade de movimentação automática, que é esse cara aqui. O objetivo número dois é armazenar esse valor modificado em nossa matriz de dados de personagens, a versão que está em nossa essência de jogo bp para armazenar isso dentro desta variável aqui. E então o objetivo número três é aplicar o valor que nós mudamos isso para nossos personagens velocidade de movimento automático de modo que, se isso está definido para dizer também, que nosso personagem está se movendo automaticamente duas vezes mais rápido que eles eram antes. Agora, antes de chegarmos a isso, eu só queria mostrar a vocês que essas variáveis bem aqui, nossos dados de personagens dentro e dentro de nosso BPS, um jogo. Esse cara, isso realmente é preenchido com dados. Agora parece que é apenas uma variável vazia. Agora, novamente, apenas para circular de volta dentro de nosso jogo criar jogo seguro de carga de jogo salvar, substituir jogo salvo. Ou estamos preenchendo essas variáveis com dados ou estamos passando de uma variável para outra neste caso, e eu carrego uma, passando o que existe dentro de nossos dados de caracteres salvos para nossos dados de caracteres. Então deixe-me mostrar visualmente que isso está acontecendo. Então eu vou jogar o meu jogo aqui. E eu só vou aliviar. Você pode ver no canto superior esquerdo lá diz carregado salvar, Eu vou fazer turno e F1 para que eu tenha o controle do meu mouse aqui. E eu vou meio que colocar isso aqui em baixo. Vou deixar o jogo a funcionar. Na verdade, eu nem preciso disso na tela quando eu vou fazer isso. Ele essência do jogo IBP, eu vou definir meu filtro de depuração para a minha instância de jogo em execução. E quando eu faço isso, agora ele pode me permitir ver algumas informações sobre meu jogo, meus scripts, etc. Confira isso. No momento, estou dentro do meu jogo de carga salvo. Ele está mostrando aqui que eu estou realmente simulando isso. Lá em baixo. Na verdade, está correndo. Agora veja isso e lembre-se de carregar o jogo salvar. Estamos pegando todos os dados que foram salvos em nossa matriz de
salvamento de dados de caracteres e passando-os de volta para esta matriz aqui mesmo. Se eu passar o mouse sobre isso, a saída, olhe para todas as informações que estão atualmente existentes dentro do nosso personagem Data Saver ray, aquele dentro daqui. E isso está sendo passado para esta variável bem aqui, nossos dados de caracteres em. Então eu só queria mostrar isso visualmente porque eu senti que era muito importante entender. Tudo bem, agora vamos começar a criar. O que você realmente queria criar neste vídeo. E neste vídeo nós vamos ficar aqui em nosso jogo BP e desde então e criar uma nova função. Então, se você perdeu o caminho para encontrar o caminho de volta para este blueprint específico e você pode encontrá-lo em blueprints de interface do usuário do personagem de conteúdo, clique duas vezes em BP Game Instance para abri-lo. Agora, nos dois últimos vídeos, criamos esses nome de atualização e atualização pode mover automaticamente funções e eles são muito semelhantes. Vamos criar outra função similar. E nós vamos trapacear aqui novamente duplicando um destes para nos dar uma vantagem. Então eu vou apenas destacar, atualização pode se mover, auto, auto movimento. E com isso em amarelo, eu vou apenas fazer o controle w para duplicá-lo. E nesta função eu vou renomear para atualizar, auto move, auto, mover, velocidade. Agora eu preciso fazer alguns ajustes nessa função. Primeiro de tudo, eu preciso quebrar este link aqui. Vou manter a tecla Alt pressionada e clicar com o botão esquerdo, vamos quebrar isso. Eu também vou me livrar desses dois nós de redirecionamento. Ops, eu acidentalmente selecionei este getter aqui em baixo. Agora quero ter certeza de que esse movimento automático ainda está enrolado assim. Agora com o nosso movimento automático de atualização selecionado, queremos mudar nossa entrada aqui. Isso queremos mudar para um tipo de variável semelhante como velocidade de movimento automático aqui, que é atualmente uma variável flutuante. Então eu realmente vou quebrar este link bem aqui porque este é o que eu vou querer ligar para baixo assim. Então, para velocidade de movimentos automáticos, mantenha pressionada a tecla Alt e clique com
o botão esquerdo e quebre essa ligação entre a estrutura de dados de caracteres que estamos separando aquele cara e a que estamos fazendo que vamos caber de volta a isso. Tudo bem, então com seus nós de entrada selecionados, nós precisaríamos criar uma nova entrada aqui, eu vou simplesmente chamar essa velocidade de movimento automático. E vamos mudar isso de um booleano para um olhado. E agora com essa mudança, eu posso ligar tudo isso todo o caminho em nossa velocidade de movimentos automáticos aqui em baixo. E novamente, eu gosto de clicar neste fio algumas vezes apenas para criar alguns nós redirecionar apenas para que eu possa tipo de serpenteá-lo lá em baixo assim porque isso apenas parece melhor e me faz feliz. Muito bem, passo muito importante aqui. Precisamos compilar isso. Você deve compilar aqui para acessar esta função. Na próxima etapa, vamos salvar isso também. Tudo bem, a próxima coisa que precisamos fazer é entrar em nossa interface do personagem WPP. E novamente, você pode encontrar esse Widget Blueprint aqui dentro de sua pasta de widgets de interface do usuário de personagem. Clique duas vezes naquele cara. Tudo bem, e então dentro daqui, vamos ter certeza de que temos nosso widget deslizante selecionado. E, novamente, você pode encontrar isso na hierarquia sob a seção de atributos do painel de tela. Agora, com esses widgets de controle deslizante selecionados, vamos rolar todo o caminho para baixo no painel Detalhes. E a razão pela qual estamos fazendo isso é porque podemos encontrar os diferentes eventos aos quais temos acesso. Nós não vamos querer criar eventos para no mouse começar captura,
no mouse, captura , fim
e, por último, na mudança de valor. Então eu vou clicar aqui para começar a captura do mouse. E novamente, a dica de ferramenta irá ajudá-lo a saber quando isso vai ser
disparado invocado quando o mouse é pressionado e a captura começa. Isso é como quando começamos a clicar nele. E isso vai ser quando terminarmos clicando nele. Então nós vamos adicionar isso para baixo. Então esse é um que vai voltar para a minha guia Designer. Com o mesmo widget selecionado. Nós vamos adicionar este evento é bem,
boom, e voltando para os meus designers têm mais uma vez. Nós vamos adicionar o valor alterado também. Boom, então agora você deve ter três eventos aqui em seu gráfico de eventos de interface do usuário do personagem WPP. Novamente, estamos trabalhando na guia gráfico. Ok, então agora o que nós queremos fazer para este primeiro no mouse começar a capturar? Em primeiro lugar, eu preciso trazer minha referência de instância de jogo BP. Vamos clicar com o botão esquerdo do mouse e arrastar isso no painel Meu plano. Eu quero pegar isso. E eu vou arrastar um fio para fora daqui e apenas digitar atualizações velocidade de movimento automático. Podemos chamar essa função que acabamos de criar dentro da instância do jogo BP. Está bem? E o que queremos fazer aqui é, na verdade, desculpe, eu tirei estes fora de ordem. Eu quero isso, mas eu quero que isso seja bem aqui em baixo. Desculpe, eu tenho tudo isso desalinhado com minhas anotações. Então, minhas desculpas. Vamos começar na parte inferior aqui com no valor alterado,
no evento de mudança de valor. Aqui, quando mudamos o valor desse slide ou que é, estamos movendo-o para a esquerda e para a direita e onde quer que o
deixemos, vamos pegar o que quer que esse valor lê como. Nós vamos alimentar isso em nossa função de atualização automática aqui. E essa vai ser a nova velocidade de movimento automático. Agora eu também quero vir aqui e nós vamos fazer, vamos começar slider em seguida. E eu só vou tocar alguns efeitos sonoros para isso porque eu acho que soa meio agradável, certo? Então, para a captura do mouse começar, Eu só vou arrastar fora deste e digitar o som de reprodução 2D. E então o som que eu vou tocar aqui é VR pegar Q. Agora você pode encaixar em qualquer um desses sons. Isso realmente não importa. Você tem acesso a arquivos de fila de som aqui ou arquivos de onda de som. E eu não vou entrar na diferença entre eles agora, mas eu vou usar o VR grab Q, e isso está no conteúdo do motor. Então é aí que começamos a capturar nosso mouse. E, em seguida, aqui para o fim da captura do mouse. Há algumas coisas que eu quero fazer. Uma é que quero outra referência à minha instância de jogo aqui. Então eu vou fazer o controle C e o controle V para trazer isso para cima. Então eu vou arrastar até aqui e eu vou sobrescrever o nosso jogo salvo. Então imagine que você tem um controle deslizante aqui e você está arrastando para a esquerda e para a direita. E onde quer que terminemos a nossa captura que é liberada. Nosso clique esquerdo queremos dizer Sobrescrever nossa poupança como, sim, que é um novo valor que queremos. Vamos com isso. Então vamos sobrescrever o nosso jogo seguro ali mesmo. E então eu também vou tocar um som drag off se aqui vamos tocar som 2D. E o efeito sonoro que eu quero jogar aqui vai ser V IR e agarrar, VR e agarrou não importa qual deles você escolher aqui, o Q ou a versão não Qt, que é tudo bem e bom. Tudo bem, eu vou colocar uma caixa de comentários em torno de todo esse clique esquerdo e arrastar dica que CQI. E isso será chamado scripts de velocidade de movimentação
automática e vamos colori-lo de preto fugitivo. Então, novamente, apenas para tipo de revisão do
que acabamos de fazer aqui quando começamos a capturar nosso mouse. Isso é quando clicamos em nosso controle deslizante para começar a se mover, ele só vai tocar um som. Quando mudamos o valor do nosso controle deslizante aqui vamos atualizar o valor de nossas velocidades de movimentação automática aqui com base no valor que definimos em nosso controle deslizante. Isso é o que está acontecendo aqui. E então, quando soltarmos o mouse, quando pararmos de mover esse controle deslizante, vamos sobrescrever nosso jogo salvo, e ele vai sobrescrevê-lo com esse valor atualizado, a propósito. E nós vamos tocar um som também. Então isso é essencialmente o que está acontecendo. Vamos nos certificar de que compilamos isso e salvar. No entanto, ainda não terminamos porque, assim como no último vídeo, precisamos fazer alguns ajustes dentro de nosso personagem
Revenant para realmente fazer isso o que queremos que seja. E novamente, eu só vou fazer isso dentro do Revenant. No entanto, se você quiser que este efeito ocorra dentro do sever OG e milagre e quaisquer outros personagens também. Você vai querer duplicar o que eu estou prestes a fazer,
naqueles outros personagens. Tudo bem, certificando-se de que sabe como chegar ao Regresso. Novamente. Revenant, Você pode vir sob remanência paragon, apenas digitando em personagem bicamada e lá você pode encontrar personagem jogador Revenant. Dentro daqui vamos criar uma nova variável imediatamente. Então, sob a variável do painel My Blueprint vamos fazer mais variável. Este nós vamos chamar de multiplicador de velocidade. E esta variável não vai ser o tipo booleano. Vou clicar aqui desta vez só para mostrar que você pode mudar o tipo aqui, vamos mudar isso para um flutuador que é um número com um ponto decimal. E precisamos compilar nossos planos e dar-lhe um valor padrão. E eu vou dizer que nossos multiplicadores de velocidade, vai ser 1, que é essencialmente, vamos pegar nossa velocidade atual, multiplicá-la por um, que vai igualar nossa velocidade atual. Tudo bem? E a próxima coisa que vou fazer é diminuir o zoom. Nós vamos encontrar este pedaço de script que escrevemos no último vídeo,
onde ao começar a jogar, nós estávamos descobrindo qual era o nosso valor inicial para o nosso automóvel e nós estamos preenchendo esta variável, nós vamos fazer a mesma técnica aqui, onde nós estamos indo para chegar dentro são instância do jogo BP. Nós vamos chamar essa função e vamos definir nossa velocidade de movimento automático para o que está atualmente definido em nosso neurônio Get função de dados de personagem. Agora lembre-se que eu tenho função de dados de caracteres aqui dentro do nosso BP Gaiman, já que se eu selecionar
isso, ele está puxando esses dados de nossa matriz de instância de dados de caracteres. Certo, então aqui em Revenant, vou clicar com o botão esquerdo e arrastar isso para cima da minha velocidade de movimento automático. E quando eu liberá-lo, ele vai
trazer automaticamente uma versão setter dessa variável. Então vamos definir essa variável para não ser necessariamente 1. Vai ser qualquer que seja a nossa velocidade de movimento automático está definida para esse personagem como determinado. Nesta função obter dados de personagem atualizado, ele vai descobrir o que o nosso jogador atual selecionado é. Vai tirar isso da nossa matriz aqui. E isso vai definir nossa velocidade automotiva aqui. E ele vai passar isso junto e disse que está por aqui. Tudo bem, ainda não terminei, mas estamos chegando lá. Vamos diminuir mais uma vez. E eu vou mover este bloco. Deixe-me expandir isso aqui. Preciso de um pouco mais de espaço. Vou arrastar esta janela toda. Vou mudar isto para cá. Então, no último vídeo, nós também construímos um script de movimentação automática aqui em cima. Eu estou indo para realmente apenas para colocá-lo na caixa de comentários em torno de seu movimento automático. Eu vou estar construindo fora do final deste porque se nós estamos auto movendo, se é verdade que eu realmente quero aplicar meu multiplicador de velocidade. Agora, a velocidade de movimento padrão de nossos personagens é determinada dentro desses componentes de movimento de personagem. Então isso está além do escopo de todo este curso, mas saiba que este é um componente do nosso personagem jogador aqui que determina muitas coisas sobre nossos personagens. Um deles é R, velocidade máxima de caminhada. E este parâmetro aqui dentro do
nosso Componente de Movimento de Personagem determina o quão rápido nosso personagem vai, mesmo que ele diga Velocidade de caminhada, isso é quão rápido nossos objetivos de personagem. Então eu vou arrastar em uma referência ao nosso Movimento de Personagem Aqui, nós podemos literalmente arrastar e soltar este componente em um gráfico como esse. Então, uma vez que tenhamos uma referência a isso, eu posso puxar o fio para fora daqui e acessar qualquer uma dessas variáveis diferentes que vivem dentro dela,
incluindo nossas velocidades máximas de caminhada. Então eu vou me arrastar para fora disso e eu vou encontrar nossa velocidade máxima, máxima de caminhada. Queremos obter velocidade máxima de caminhada. Então, novamente, essencialmente o que estamos fazendo é com o nosso Movimento de Personagem, estamos dizendo, hey, o que é R max walk beat está atualmente definido para 600. Então o que eu vou fazer é eu vou arrastar para fora disso e digitar em Multiply e eu estou procurando float multiplicado por float, assim. E eu quero multiplicar isso pelo nosso multiplicador de velocidade. Vou arrastar e largar isto em cima daqui. Então fazendo um pouco de matemática, eles não são muito complicados comigo até agora. E então o que eu quero fazer é definir minha velocidade máxima de caminhada para ser qualquer que esta matemática venha a ser. Então eu vou sair de novo do meu movimento de personagem. E eu vou dizer definir velocidade máxima de caminhada. E o resultado desta matemática será a nossa velocidade máxima de caminhada atualizada. Agora, eu preciso fazer é apenas dizer que se nosso personagem está se movendo automaticamente, EP está se movendo automaticamente, nós vamos definir nossa nova velocidade de caminhada para ser o resultado desta matemática aqui. E eu estou apenas clicando duas vezes neste fio para adicionar em alguns nós redirecionar, clique com o botão esquerdo e arraste dica como CQI, eu vou chamar isso de meu script de velocidade de movimento automático definido. Tudo bem, eu vou compilar isso e nós vamos salvar, e nós vamos jogar e fazer um teste. E novamente, isso só vai funcionar para o Revenant
agora porque eu só adicionei este script dentro do Revenant. Ok, eu preciso fazer a mudança em F1 para que eu possa tela cheia, isso é tela cheia isso. Eu vou bater que comer. Eu vou para o cara aqui atributos. Eu vou dizer, ei,
sim, você pode se mover automaticamente. Agora vou colocar isso em um agora mesmo. Então este deve ser mais ou menos nossos personagens agora aproximadamente deve ser nossos personagens. Velocidade normal de caminhada, que é seiscentos, seiscentos vezes um ainda é 600. Então, agora, se eu escapar aqui, são personagem deve auto locomota em uma velocidade normal. Lá vai ele. Tudo bem, eu vou bater como se de novo estivesse parado bem ali. Eu vou voltar aos atributos e eu vou dizer, sim, movimento automático. Desta vez eu quero que você vá duas vezes mais rápido. Você ouviu aquele efeito sonoro lá, a propósito, são. Estou só a clicar e a arrastar. Tudo bem, então agora ele está definido como dois e sobrescreveu meu salvamento, ele está salvando um valor. E agora, quando eu sair daqui, você pode ver que o Revenant enlouqueceu rápido. De facto, isso está a funcionar como pretendido. Muito bem, pessoal, trabalho, bem feito nisso. Isso vai fazer tudo para este vídeo, vamos vê-lo no próximo.
78. Script de Regen de saúde: Bem-vindos de volta a todos. Neste vídeo temos três objetivos. O objetivo número um é permitir que o usuário modifique o valor dentro de seu widget de caixa de rotação aqui para suas taxas de região de saúde. O objetivo número dois será armazenar esse valor modificado em nossa matriz de dados de personagens, a inversão dentro de nossa instância de jogo BP dentro daquele cara bem ali. E então o objetivo número três é aplicar o valor de nossos personagens mantidos taxas de regeneração. Agora note que para melhor demonstração disso, vamos criar um sistema de saúde simples dentro do nosso personagem de Revenant aqui. E com isso quero dizer, vamos simplesmente dar-lhe uma variável de saúde e imprimir o valor dessa variável para a tela. Nós não vamos construir nenhuma interface extra ou HUD ou qualquer coisa chique como esta aqui este curso já dura tempo suficiente. Tudo bem, as primeiras coisas primeiro vamos começar em nossa instância de jogo BEP. Então, voltando ao seu editor de nível principal aqui, você vai querer estar em sua pasta de blueprints de interface do usuário de personagem. Clique duas vezes em BP Game Instance para abrir aquele cara. Agora, assim como fizemos nos últimos vídeos aqui, vamos criar uma função e eu
vou estar expandindo minhas funções de atualização de dados de personagens. Porque como o resto destes, este vai ser muito parecido com os anteriores que criámos. Vou destacar que meus movimentos automáticos atualizados foram os últimos que criamos. E eu vou bater Control plus w com aquele realçado em amarelo. E novamente, o controle mais W vai duplicá-lo. Serei forçado a dar-nos um novo nome. E, claro, abriu uma nova aba com esse nome. Então eu vou chamar isso de atualização ou atualização de taxas de região de saúde, assim. Tudo bem, e você pode ver que atualiza este nome bem aqui, bem como esta aba aqui. Eu provavelmente deveria fechar algumas dessas outras abas porque há muitas delas abertas. Então, há nossa atualização de saúde regenerada. Agora precisamos modificar algumas coisas dentro desta função, assim como fizemos nos vídeos anteriores. E vamos começar modificando nossa entrada aqui. Primeiro, temos que nos dar um novo nome. Queremos dar a isto um nome de taxas de regiões de saúde. E agora o que queremos que nosso tipo de variável seja aqui? Bem, se olharmos para baixo, quando quebramos nossos dados de personagens, a partir de nossos dados de caráter é nossa saúde regenerar já é um flutuador. E então esse é o mesmo tipo que queremos aqui. E o que você sabe? Já é do tipo flutuador. Agora, o que eu quero ter mais certeza aqui em baixo é quando estamos quebrando nossos dados de caracteres que são armazenados em nossos dados de caracteres. Já que quero ter certeza de que estamos transferindo tudo isso. Quando modificamos os dados em nossos dados de caráter termina quando fazemos mais alguns dados de caracteres. Com isso, quero dizer, queremos ter certeza que esse cara aqui, a velocidade de movimento automático não é algo que estamos ajustando nesta função. Então vamos nos certificar de que conectamos esse ponto para que quando chamamos essa função, isso é uma coisa que não estamos mudando. Todas essas linhas em linha reta estão basicamente dizendo, ok, nós não queremos mudar todas essas coisas, todas essas variáveis de antes no entanto, a única coisa que queremos mudar é nossas taxas de região de saúde. Então aqui eu vou quebrar este link mantendo pressionado o botão alt esquerdo. E quando alimentamos nesta função uma nova taxa de região de saúde. Nós vamos conectar isso na fabricação de nossa estrutura, dados de caráter. Então vamos ligar aquele cara lá embaixo. Como assim. Muito bem, passo muito importante, por costume, temos que acertar Compilar aqui. Você deve dizer compilar, a fim de então encontrar esta função para chamar em nosso próximo passo, vamos em frente e salvar isso imediatamente. E, em seguida, nosso próximo passo aqui nós vamos estar trabalhando dentro da nossa interface do personagem w BP. E no caso de você ter esquecido onde esse ativo está localizado, ele está na pasta de widgets da interface do usuário do personagem, clicando duas vezes sobre isso para abri-lo. E dentro daqui você tem que encontrar seu widget de caixa de rotação. É o tipo em que estamos a trabalhar. E no caso de sua perda em sua hierarquia, você pode fazer uma busca por caixa giratória e eles serão uma maneira fácil de localizá-lo. Vamos nos certificar de que você tem este widget caixa de rotação selecionado. E no painel Detalhes vamos rolar até a parte inferior, onde podemos acessar vários eventos relacionados a esse widget de caixa giratória. Há dois deles que eu quero fazer uso de você. Nós temos em valor alterado, que ele vai ser chamado novamente quando a dica diz aqui quando ele é alterado interativamente pelo usuário. E então nós também temos este chamado On value commit. Então esta outra vez vai disparar quando pressionarmos Enter. Então, ao longo destes dois. Então eu vou começar com este de cima aqui, indo para clicar no botão mais. Vai saltar-nos da aba Designer para o gráfico TAM. E novamente, eu vou adicionar o outro e eu realmente não tenho que saltar de volta
para a guia Designer aqui no painel Meu Blueprint sob a seção variável, há o meu widget caixa de rotação. E você pode ver no painel Detalhes, nós já adicionamos a função ou não a função, o evento para a mudança de valor. Podemos adicionar os nossos eventos de valor comprometidos aqui, bem como clicando ali. Certo, então temos esses dois caras aqui. Deixe-me virar minha página de notas aqui rapidamente. E vamos trabalhar fora da nossa mudança de valor versus a mais alta. Então vamos precisar de nossa referência de instância de jogo, assim como fizemos tantas vezes acima aqui, você pode copiar e colar um desses de cima,
roubando de seu script de velocidade de movimentação automática ou em seu painel de blueprints mentais, você pode encontrar o árbitro da BP Jamison. E eu vou manter o controle pressionado, clicar com o botão esquerdo e arrastar esse cara para o meu gráfico para obter uma cópia disso imediatamente. E eu vou retirar isso e digitar a taxa de região Atualizar Saúde. Assim que mudarmos o valor da nossa caixa de rotação aqui, assim que mudarmos isso, estamos atualizando dinamicamente nossos regenerados de saúde. Bem aqui. Onde essencialmente conectando-se aqui e dizer, hey, nós vamos modificar apenas essa parte de nossos dados de caráter, a saúde regenerada estava alimentando isso uma coisa nova e nós vamos colocar isso de volta em nossos dados de caráter inst. Tudo bem, então é isso que está acontecendo aqui. Então vamos nos certificar de que conectamos isso. E nós vamos conectar isso aqui agora, eu acredito que nós vamos ter que colocar outro nó no meio aqui assim que eu testar isso, porque através dos meus testes nós tivemos um erro que vai aparecer aqui. Então mantenha esse pensamento até jogarmos. Agora aqui embaixo, o que queremos fazer é quando nos comprometemos, quando pressionamos Enter, depois de ficarmos felizes com um valor que encontramos aqui, talvez eu arraste isso para a esquerda e para a direita e defina minha saúde regenerada para dizer cinco, e então eu pressiono enter. Eu quero que algo aconteça aqui também. Vou precisar de uma referência de instância de jogo. Eu poderia simplesmente arrastar fora deste aqui, mas eu vou copiar este controle c e controle V para colar um destes aqui em baixo. Deixe-me dar um zoom aqui um pouco para que você possa ver o que estou fazendo. E agora eu vou arrastar para fora disso e imediatamente eu vou fazer é procurar por substituições são salvar um jogo assim que entrarmos e nós dizemos, Sim, esse é o valor que queremos. Queremos sobrescrever o nosso Jogo Salvo. Agora, também há mais uma coisa que eu quero fazer aqui. E novamente, eu vou deixar um pouco de espaço aqui porque eu acredito que nós vamos ter que colocar em mais um nó aqui, é eu vou arrastar um fio fora disso e nós vamos tocar um som 2D. Novamente, eu gosto de tocar um som 2D aqui, apenas um tipo de som de confirmação, apenas nos avisando que, sim, estamos felizes com esse valor que nós comprometemos. O som aqui que eu vou encaixar vai ser V r.
agarrar. Não importa se fazemos a fila ou o arquivo de onda de som. E novamente, isso está dentro do nosso conteúdo do motor é onde você pode encontrar isso. E vamos rapidamente clicar com o botão esquerdo e arrastar em torno desses nós. Vou grampear aquele CQI e vou chamar isso de meus scripts de taxa de região de saúde. Vou colorir este fugitivo preto também. Como assim. Certo, e ainda não terminamos aqui. Nós vamos compilar e salvar isso para onde estamos agora. E você sabe o que eu vou tocar agora porque eu
vou expor um ar que vai acontecer aqui. E também quero mostrar que a nossa taxa de região de saúde irá realmente atualizar e economizar. Então, aqui vamos nós. Eu vou jogar, você vai bater no E. Qui, vamos para o cara, se quisermos. Indo para ir para os atributos e minha saúde regenerar está atualmente definido como 2.5. Então eu vou clicar com o botão esquerdo e arrastar. Vou configurá-lo para salvar 4,9 anos. E assim que eu liberar o clique esquerdo veja o que acontece? Vai dizer que sobrescreveu salvar lá em cima, apenas liberar o clique esquerdo vai ser suficiente para cometer isso. E agora, se eu escapar da promotoria aqui, sei que uma coisa vai acontecer. Primeiro, vamos ser apresentados com um erro e eu vou falar sobre isso em apenas um segundo. Mas se eu voltasse e jogasse o número dois, eu voltava para o cara. Vemos que ele salvou nossa regeneração de saúde atualizada. Mantive-o em 4,8. Agora, vamos falar sobre esse erro que estamos sendo apresentados agora. Está dizendo acesso nenhum tentando ler a instância do jogo BP propriedade. Então o que isso está dizendo está aqui e dizendo: “
Ei, estamos tentando atualizar nossa função de saúde aqui, mas não reconhecemos isso. Nós não vemos nada aqui fora da nossa instância do jogo bp, que é um pouco de besteira, porque nós vimos que tudo isso está funcionando corretamente. No entanto, se esse erro está te deixando louco, você pode fazer algo aqui. Podemos arrastar fora deste e eu posso simplesmente digitar é válido esta versão ponto de interrogação. E agora veja como eu cobro tudo isso junto. Isto vai subir aqui assim. E isso vai ser como aqui, assim. E agora o que estamos fazendo com este nó aqui é essencialmente estamos perguntando, hey, este objeto aqui, esta instância do jogo, ele existe? Se ele existir, então vamos permitir que
chamemos a função de regeneração de integridade de atualização. Então precisamos fazer isso aqui. E então aqui em cima também é válida a versão para
festas pergunta , assim. E agora, quando eu compilar e salvar e eu vou jogar mais uma vez em, eu vou apenas modificar. Deixe-me ir a vários rapidamente aqui. Vou mudar a saúde regenerada também. Claro 4.6, vamos escapar mais uma vez e não vemos nenhum erro. Então por que precisamos disso para este pedaço de script, mas nenhum dos outros scripts acima seu palpite é tão bom quanto o meu não faz nenhum sentido. Tudo bem, ainda não terminamos, porque como sabemos que essa taxa de região de saúde está fazendo alguma coisa bem, nós vamos realmente criar um sistema de saúde muito simples,
regenerando o Sistema de Saúde em nosso jogador Revenant personagem. Então defina seu personagem jogador de receita novamente, volte para o editor de nível principal, venha sob o paragon ou pasta Revenant. E se você apenas digitar o personagem do jogador, há um personagem remanente jogador. Abra-o. Vamos fazer isso muito rápido. Desculpe a pressa e precisa encaixar isso em menos de 20 minutos embora. Tudo bem, dentro de nosso personagem de Revenant, precisamos criar três variáveis para criar um sistema de saúde regenerador aqui rapidamente. Então, sob a seção de variáveis, vamos criar uma variável e eu vou chamar isso de Saúde Única. Eu também posso ir rápido porque você tem o benefício de uma pausa. Então, saúde, vou nomear isto ou vou mudar isto para um tipo de variável flutuante. Vou definir alguns valores padrão para todos estes em apenas um pouco. Vou criar outra variável. Este vai ser chamado de região de Saúde em Mt. E eu vou criar mais um e este vai ser taxas de região de saúde. Estas serão todas variáveis de fluxo. Vamos compilar aqui rapidamente. E eu realmente quero que o valor padrão para todos os três desses seja 0. Certo, então com aqueles criados, precisamos inicializar essas variáveis no início do jogo. Bem, isso significa que temos de lhes dar os valores iniciais. Então nós temos este Event Begin Play aqui. E nós temos que chamar a função de dados de caracteres get para qualquer personagem que estamos lidando com. E o que você sabe que podemos produzir nossos valores de saúde bem aqui. Então vamos apenas definir essas variáveis em. Vamos definir o valor dessas variáveis dentro de nossos dados de personagem para essas variáveis dentro do personagem Revenant jogador. Então, vai ser assim. Vou arrastar o Health para cima daqui para trazer um setter. E eu vou meio que conectar isso assim,
então não meu fio de execução, quantidade de região de saúde. Vou arrastar e soltar isso aqui assim. E, finalmente, a saúde se regenera e vai arrastar isso para cima daqui, assim. E mais uma vez, o que isso vai fazer é no início do jogo, vamos definir o valor inicial de todas essas variáveis com o que quer que
seja um conjunto para esse personagem específico, conforme definido em nossa função de dados de personagem aqui. Tudo bem, a próxima coisa que precisamos fazer é construir um pouco de uma configuração regeneradora de saúde. E eu vou continuar nosso fluxo de execução aqui para fazer isso. Então, para fazer isso, eu vou trazer nossos regenerados de saúde. Eu vou pegar isso. E eu vou me arrastar para fora daqui. E eu vou trazer um nó de atraso. Um nó de atraso. Um nó de atraso faz o que você acha que faz. Vai atrasar o fluxo de
execução com base no valor que dissemos aqui. Então vamos definir isto para a nossa saúde regenerada. Então, o que quer que isto seja, se isto for 33
para x, por exemplo, vamos atrasar o disparo daqui até depois de três segundos de caminho. Isso vai ser o preço da região. A próxima coisa que vou fazer é trazer o nosso nódulo de saúde. Vou manter o controle. Vamos ter a nossa saúde. E também vou receber a quantidade da nossa região de saúde. Vou manter o controle e conseguir isso. E depois o que eu quero fazer é adicionar esses dois valores juntos. Então eu vou arrastar para fora um tipo o sinal de mais nós vamos fazer float mais float. Onde estão estes na perna? Então, e o resultado disso, queremos voltar à nossa saúde. Então eu vou arrastar e soltar isso em cima de nossa saída de nossa nota acrescentando aqui para definir nossa saúde. Então, essencialmente, o que vamos fazer é esperar
pela duração especificada para uma regeneração de saúde. E então vamos definir o nosso novo valor de saúde para ser qualquer que seja a nossa saúde atual, mais a quantidade de nossa região de saúde faz sentido. Então, se isso começar como 100, uma vez que chegarmos aqui, vamos dizer, ok, 100 mais o que quer que seja região mantida, digamos mais cinco. E esse será o nosso novo valor de saúde, um 100 e cinco. Tudo bem, nós vamos fazer mais uma coisa aqui é eu vou imprimir uma corda, então eu vou arrastar para fora aqui em cadeia de impressão. Isto vai permitir-nos ver este valor. Vou colocar na janela do jogo. Para ver isso, eu preciso conectar este resultado, nosso valor de saúde atualizado em R na string. Isso realmente vai trazer um nó de conversão. Mas isso é tudo muito bom. Você pode alterar isso para durar um pouco mais na tela. Vou mudar a cor do meu texto aqui para ser algo como rosa quente. Talvez só para torná-lo um pouco mais fácil de ver. Ok, por último, mas não menos importante, porque eu quero que isto seja regenerar a saúde. Vou ligar isto de volta para aqui. Agora. Vou trazer um par de nós
redirecionar para isso apenas para tornar isso mais fácil de ver, eu posso clicar duas vezes sobre esses fios para trazer esses nós re-run. Então, faz com que seja um pouco mais visual ver que estamos fazendo um tipo de loop aqui. Então, ao começar a jogar, vamos definir todos os nossos valores de saúde aqui. Saúde, saúde regenerar, montar ajuda a regenerar, etc. Depois da duração da regeneração da saúde, vamos pegar nosso valor atual de Saúde, seja lá o que for, vamos adicionar a quantidade da região de saúde dela e esse será o nosso novo valor de saúde. Então vamos ligar de volta ao nosso atraso. E depois de qualquer hora, vamos fazer isso de novo. Clique com o botão esquerdo do mouse e arraste, toque na tecla C. Esta vai ser a nossa configuração Region Health. Desculpe, passei por isso muito rápido. Só estou tentando colocar isso dentro dos meus limites de tempo de 20 minutos. Nós vamos compilar e dizer esta nota que isso só vai funcionar para receita. Então, se você quer que isso funcione para um milagre ou sever OG, você vai ter que fazer tudo o que fizemos neste vídeo no lado de lá. Tudo bem, então vamos em frente e jogar isso. Vou fazer ult mais P para jogar. Vamos ver no canto superior esquerdo. Assim que eu escapar, vou escolher remanência aqui. Então, novamente, navegando Revenant. Assim que eu escapar daqui tocando a tecla E, teremos uma ajuda para regenerar. Vou definir isto para cada um. Pouparemos três segundos. Então, a cada três segundos vamos regenerar 2,5 pontos de vida, e vamos começar com 25 pontos de vida. Então, aqui vamos nós. Olhe no canto superior esquerdo e claro que estou com 27.520. Quer saber, deixe-me fazer outra coisa muito rápido aqui. Eu sinto muito. Meu personagem estava se movendo bem erradicado lá. Então deixe-me voltar para o Regresso aqui rapidamente. Vou desligar o movimento automático dele. E agora deixe-me escapar mais uma vez, para que ele não se mexa. E se olharmos no canto superior esquerdo, podemos ver 27.53032.5. E eu acho, você sabe sobre cada o que
é , três segundos aqui é regenerar a saúde. Assim, podemos ver que isso está funcionando adequadamente. Tudo bem, pessoal, isso vai fazer tudo por este. Vemo-nos na próxima.
79. Script de Taunt #1: Bem-vindos mais uma vez a todos. Neste vídeo, nosso objetivo é permitir que o usuário defina para salvar uma provocação padrão que ele gostaria que seu personagem escolhido jogasse. Agora vamos precisar fazer um pouco mais de script
neste para que as coisas funcionem como esperávamos. Mas não deve ser algo para o qual não estamos prontos. Agora vamos realmente ser capazes de jogar este insulto em nosso jogo. E esse é o script adicionado de que estamos falando aqui. Mas para apoiar um pouco as coisas aqui, vamos precisar criar uma nova função dentro da nossa Instância de Jogo B P, como já fizemos antes. Então, de volta ao nosso editor de nível principal, você quer vir sob blueprints de interface do usuário de personagens. Vou limpar a minha busca aqui. E eu quero ter certeza de que estamos clicando duas vezes na instância do jogo BP. É aí que estamos a trabalhar. E assim como fizemos nos últimos vídeos aqui, precisamos criar uma nova função de atualização. E novamente, podemos copiar maior parte da formatação que fizemos para o resto destes. Então eu vou apenas selecionar minha atualização Region Health. E com isso selecionado em amarelo, eu vou fazer o controle mais w, que irá duplicá-lo. E imediatamente vou chamar isso de provocações de atualizações. E como você pode ver, ele renomeou bem aqui para o nó de entrada, temos uma nova guia aberta aqui para nossa função. E é claro que precisamos atualizar algumas coisas sobre essa função em particular. Ou seja, precisamos atualizar
a entrada particular e nós estamos realmente indo para atualizar algumas saídas para este também. Vamos começar com a nossa entrada aqui. Vou renomear isso para ser. Na verdade, vamos adicionar um chamado provocação, corda, tau1, corda, tenso, corda. E isso não vai ser um tipo de variável flutuante,
mas um tipo de variável string, daí o nome tante string. Você pode ver agora que está ligado à coisa errada. Então eu vou destruir esses dois nós redirecionar. E vamos ligar a nossa saúde regenerada de volta assim. Também vamos quebrar a ligação entre a nossa matriz de provocações aqui. Esta é uma matriz de ondas sonoras. Vou manter a tecla Alt pressionada e clicar com o botão esquerdo. E então eu vou quebrar nossa corda de provocação bem aqui. Mantenha pressionada a tecla Alt e clique com o botão esquerdo Então esses são os dois que eu quero quebrar entre uma quebra de nossos dados iniciais aqui e estão fazendo dos novos dados que vamos inserir de volta em nossa matriz de dados de caracteres, certo? Então, com isso feito, você pode pegar sua corda tante e você pode conectar isso todo o caminho aqui em baixo. E você pode trazer um par de nós redirecionar clicando neste fio assim. Note que com um destes selecionados, você pode usar as teclas de seta para movê-lo para a esquerda ou para a direita, assim. Só estou usando as setas para fazer isso. Agora eu quero adicionar um retorno no nó aqui porque eu quero ter algumas, algumas coisas a partir desta função que podemos utilizar um pouco abaixo da estrada aqui. Vou clicar com o botão direito do rato num espaço vazio e escrever em troca. Você está procurando adicionar um nó de retorno. E esse cara vai ser adicionado depois que definirmos nosso elemento de matriz. Agora eu tenho um par de saídas que eu quero adicionar ao nosso nó de retorno aqui. Então, com esse cara selecionado no painel Detalhes, vamos clicar ali para adicionar um novo retorno que você viu que preenchem o seu, esse primeiro retorno será chamado de provocações. E queremos que isto seja da onda sonora de variedade de matriz. Quero ligar esse cara aqui. Então, a fim de fazer isso acontecer, eu preciso mudar nosso tipo de variável aqui para ser onda sonora. Onda sonora, a referência do objeto. E eu quero mudar isso de uma única variável clicando aqui para uma matriz. E agora se eu passar o mouse sobre
isso, ele diz que é uma matriz de referências a objetos de ondas sonoras, e aqui em baixo, um raio de referências a objetos de ondas sonoras. Então eu quero pegar isso e eu vou ligar isso todo o caminho aqui em cima. E você vai ver por que nós vamos fazer isso um pouco mais abaixo da estrada aqui. Mas, essencialmente, vamos tomar todas as ondas sonoras de provocação que são armazenadas dentro de nossa matriz de dados de caráter inst aqui. E nós vamos ser capazes de produzi-los para que possamos jogá-los realmente em nosso jogo. Tudo bem, a próxima coisa que eu quero fazer com nossos nós de retorno selecionados aqui, eu quero adicionar outra saída. Então eu vou clicar neste pequeno botão de mais. E este eu vou nomear saída de seqüência de provocação. Eu tenho que dar a saída do nome lá. Então não é exatamente o mesmo que lá em cima. Eu quero que esta seja uma única variável aqui. Então eu clico bem ali para fazer isso. E eu quero que esta seja a variedade de cordas. Então eu vou selecionar ali mesmo e que temos a nossa saída para uma string. Agora. Vamos pegar nossa corda esticada daqui e ligar isso assim. Então, novamente, chamamos essa função, nós vamos estar inserindo uma nova string TA1, e eu vou ser saída aqui também fim de que possamos jogar o tempo apropriado. E novamente, você verá por que estamos fazendo tudo isso, essas saídas aqui em apenas um pouco. Então, com isso feito, você deve compilar, você deve compilar. Você deve compilar porque se você não fizer isso, você não será capaz de chamar esta função em nosso próximo passo. Vamos também economizar. Com isso feito, vamos saltar para fora da nossa inocência do jogo bp e saltar para a nossa interface de usuário do personagem W BP. E novamente, no caso de você estar vivendo sob uma rocha que está localizada dentro da nossa pasta widgets, personagem
WPP você, eu clique duas vezes sobre esse cara para abri-lo. E você quer encontrar o seu caminho na hierarquia, ele vai ser ponderado para o fundo da sua hierarquia. Estamos selecionando nossa string de combinação. Isto está sob a seção Tante. Então você vai ter que encontrar esse cara e selecionar seu top, sua seqüência de combinação de provocação com a rolagem selecionada na parte inferior do painel Detalhes. E você encontrará sua lista de eventos disponíveis para este widget específico. E um deles é para a seleção. Mudar. Assim, como diz uma dica de ferramenta, isto será chamado quando um novo item for selecionado na caixa de combinação. Então, vamos clicar neste pequeno botão mais aqui. Isso vai saltar-nos da aba Designer para a nossa guia gráfico. E agora podemos utilizar este evento em particular. O que queremos fazer primeiro aqui? Bem, a primeira coisa que quero fazer é trazer qualquer referência à minha caixa de combinação. E isso é eu acho que nós chamamos a cadeia de caixa de combinação para 98. Deixe-me apenas fazer referência a isso. Está bem, chama-se caixa de combinação para 98. Diz-se ser é variável. Então de volta aqui em um graflets arrastar e soltar em nossa caixa de combinação, nós vamos pegá-lo. E o que eu quero fazer é arrastar um aqui e digitar a seleção de conjunto, definir a opção selecionada. Agora, ele vai nos permitir inserir uma string. Rosa é uma string e são itens selecionados aqui. Podemos pegar isso e conectá-lo aqui. Agora, vamos voltar atrás sobre o que é a nossa opção selecionada. Por que queremos falar com a nossa caixa de combinação camuflagem e definir uma opção select a. Bem aqui atrás e eu sou Designer Tab. Agora, com esta caixa de combinação selecionada aqui no painel Detalhes a, lembre-se que temos um parâmetro chamado opção selecionada. Ele está mostrando a provocação número um porque essa é nossa opção selecionada padrão falar número um. No entanto, quando mudamos nossa seleção aqui, podemos alterá-la para dois ou três ou voltar para o topo. Quando mudamos isso, queremos definir, queremos definir nossa opção selecionada para ser o que definimos para trás aqui. Então, se o definirmos para dois ou três, estamos dizendo, hey caixa de combinação, queremos definir sua nova opção selecionada para refletir o que é o nosso item selecionado real. Então é isso que está acontecendo aqui. próximo que quero fazer é trazer qualquer referência à nossa instância do jogo e podemos encontrá-lo no painel My Blueprint. Vamos clicar com o botão esquerdo e arrastar um desses caras. Eu vou pegar isso, vou arrastar um fio desse cara. E como você poderia esperar, nós vamos chamar uma função aqui fora. Qual função? Bem, acabamos de criar um chamado “Provocação de Atualização”. Então vamos trazer nossas atualizações perna função provocação. Então eu vou acrescentar isso ali. E o que você sabe aqui também? Está à procura do que vai ser a nossa nova sequência de provocação. E novamente são selecionados item irá produzir o que são nova cadeia TA1 vai ser. Então eu posso ligar isso. Aqui está, bem, agora eu vou apenas adicionar um nó de redirecionamento a este fio aqui. Então eu vou clicar duas vezes sobre ele assim. E o que eu posso fazer é com essa pequena curva aqui, eu posso realmente pegar isso e conectar isso diretamente aqui, assim. Então, novamente, você pode adicionar quantos nós redirecionar quiser que todos sejam organizados. E deixe-me colocar esses caras em seu lugar
também porque eu não gosto de ter muitos fios cruzando, algo mais parecido com isso parece muito bom para fins organizacionais. Certo, agora o que queremos fazer? Nota, em primeiro lugar, note que a nossa função de
provocação atualização que criamos de volta em nossa instância de jogo bp, nós demos e eu vou fazer alguns flip-flopping para trás e para frente aqui. Nós demos uma entrada para oito cordas esticadas. Não, aqui atrás, podemos inserir uma corda tensa. Nós também demos nossa função tau1 atualização. Na saída, demos uma duas saídas onde ele pode produzir dois bits de dados são arranjos matriz, bem como uma cadeia tensa. E podemos ver que aqui em nosso nó retornado, vamos produzir nossa matriz de provocações, bem
como nossa seqüência de provocação. Estamos passando por isso todo o caminho. E novamente, você verá o porquê aqui em apenas um momento. Então, de volta aqui em nossa UI personagem WEP, a próxima coisa que eu quero fazer é arrastar um fio para fora desta saída de seqüência de provocação. Isto está a ser alimentado por aqui. Vai passar todo o caminho por aqui. E eu vou apenas digitar splits. Quero dividir esta corda. E novamente, vou explicar tudo isso em um pouquinho. Então nós temos a string de entrada. Se eu passar o mouse sobre este, você vai me dar a dica ferramenta, a string para procurar e dividir em alguns, Lembre-se que isso vai entrada ensinou um, tau1, T2, ou provocar três. Então eu quero dividir isso por anúncios. Vou digitar provocação e então vou colocar um espaço em branco. Então, um espaço bem ali, é onde eu quero dividi-lo. Na verdade, vou clicar com o botão direito do mouse neste nó, deixar um comentário de nó que vai dizer divisões em provocações, espaço como esse. Então isso é essencialmente o que está acontecendo lá. E então aqui mesmo, nós vamos realmente produzir o que está à direita desta string. Então, novamente, nós estamos indo ou resultados provocando um, ensinado dois, ou provocando três deste evento. Essas são as nossas três opções. E estamos dizendo aqui que queremos dividi-lo logo após a provocação mais o espaço. Então isso significa à direita de que é ou o número 12 ou três em forma de string. Agora, eu realmente quero converter isso em uma forma numérica. Eu vou ter que fazer um pouco de conversão variável aqui. Então, em algum espaço vazio você, eu vou apenas clicar com o botão direito do mouse e eu vou fazer uma busca por um nó chamado int menos ints, assim. Então deve ser esse cara aqui, int menos int. E agora o que quero fazer é levar o que está impresso à direita disto. Então, se for ensinado um ou dois ou três, vai ser o número 12 ou três. E eu vou converter isso em um inteiro. Eu posso conectar isso imediatamente lá, e ele vai converter isso de uma string em um inteiro. Agora, estou subtraindo um aqui por uma razão. E novamente, você vai ver por que aqui em um pouco. Vou agora arrastado para fora da minha matriz de provocações. E eu vou fazer é procurar por obtenções. E podemos conseguir uma cópia. E agora vou pegar o meu número inteiro e ligar isto a isto. E então vamos tocar esse som. Então eu vou arrastar para fora daqui porque esta saída, se eu passar por cima,
ele diz que vai produzir um som com referência de objeto. Vamos nos arrastar para fora disso e dizer tocar som 2D. Agora há realmente mais um nó que eu quero adicionar aqui, mas vamos entender o que está acontecendo. Então, quando selecionamos uma opção para a nossa caixa de combinação aqui, e vamos apenas fazer um exemplo. Digamos que aqui, quando estivermos no jogo, vou mudar isto de provocação um para provocar dois. Ok? Quando eu fizer isso, este evento vai disparar. Ele vai sair o que são itens selecionados foi neste caso tau1, T2. E vai definir isso como o que é exibido aqui. Ele vai exibir ensinou dois, que vai ser a nossa nova opção selecionada, tau1, T2. Então é isso que isso está fazendo. Em seguida, vai passar esta informação junto com a nossa função de provocação atualização. Essa string tante é passada através da função onde ele é dividido. Então vamos dividir essa string logo após onde
diz insultar e então o espaço em branco e à direita serão os números numéricos. Então, neste caso, eu estava dizendo tante também. Então vamos dividir o número dois aqui. O que eu vou fazer então é pegar esse número dois e subtrair um dele para que agora nós jogamos ensinado um de nossa matriz. E depois vamos tocar esse som. Agora, por que estou fazendo isso? Por que estou tendo que dividir essa corda e subtrair uma? Bem, esta é a razão pela qual na minha lista de personagens, vamos dar uma olhada. Regressado tem três provocações diferentes em sua série de provocações. No entanto, as provocações aqui começam na contagem de 0012, enquanto na minha lista de provocações selecionáveis Aqui, temos opções ensinadas 123. Então, se eu quiser, jogar,
ensinar, jogar, isso é essencialmente minhas provocações do meio aqui na minha lista de personagens. Estou dizendo provocação T2, que é conhecido como provocação um em nossa matriz. É por isso que estamos subtraindo um. Tudo bem, vamos voltar aqui. Então, novamente, se está mostrando que queremos brincar de provocação número dois, estamos dividindo esses dois, subtraindo um para que ele jogue loops. Para que ele interprete esse cara bem aqui. Então é apenas uma partida de números e se encaixa tudo muito confuso para você. A coisa mais fácil que você poderia fazer se você quiser evitar tudo isso é que você poderia simplesmente
fazê-lo em seu designer aqui que você realmente está chamando este insulto 01 em. E se você fizer isso, você pode pular essa seção toda ali. Tudo bem, então depois de tocarmos o som para querer fazer mais uma coisa, e que é eu quero arrastar fora da minha referência de instância de jogo. Na verdade, eu vou trazer um novo aqui, ou eu vou apenas copiar e colar este aqui, controle C, controle V. Nós vamos arrastar para fora disso e nós vamos dizer que substituições são jogos salvos. Atualizamos algumas informações aqui. Vamos sobrescrever nosso jogo salvo. Ok, eu só vou tipo de enquadrar tudo isso aqui em cima. Então, no caso de você precisar pausar o vídeo, você pode, eu vou clicar com o botão esquerdo e arrastar toda essa dica no CQI. E eu vou chamar isso de minha seção de provocações do roteiro. E vou colorir este fugitivo preto. Tudo bem, eu vou compilar e salvar. E há, não vai haver, tudo ainda não está perfeito. Haverá alguns problemas. Mas deixe-me demonstrar um dos problemas que temos agora. Então eu vou em frente e jogar. Vou bater naquele e qui. Vamos ter certeza, milagre aqui. Vou rolar para baixo. Está programado para provocar um. Agora, se eu definir isso para falar bem, defina seu atan2. Agora eu fecho fora do menu, eu vou apertar E.
E então lá vem em material, um pouco perneiras. E então eu vou tocar na tecla E novamente e voltar para atributos, rolando para baixo está mostrando ensinado um novamente. Isso não é bom. Então, o que está acontecendo aqui? Precisamos ir em frente e consertar isso.
80. Script de Taunt #2: Agora, para que possamos corrigir o problema que acabamos de ver, precisamos definir nossa provocação selecionada ao abrir esta tela de menu. E a forma como podemos fazer isso é a Mesquita disposta nas costas. Vamos descobrir onde temos nosso Event Begin Play. Isso é caminho de volta aqui, não Event Begin Play, Event Construct. Event Construct é essencialmente o Event Begin Play para o nosso Widget Blueprint. E eu vou construir a partir desta referência à nossa incidência de jogo que dissemos aqui. Então eu tenho Event Construct, nós temos um nó de seqüência, e então nós estamos construindo essa referência para a nossa instância de jogo, direita para a direita deste, eu vou estar construindo fora de algum script e eu posso realmente use esta referência de instância de jogo que estamos construindo aqui. Arraste este n-type para dentro, obter dados de caracteres. Então, novamente, uma vez que temos uma referência a isso, seu plano, nós podemos arrastar para fora dele para acessar qualquer uma das funções que vivem dentro dele. E o que eu quero fazer aqui é trazer para a minha caixa de combinação. Mais uma vez, eu vou arrastar e soltar em uma referência a isso, nós vamos conseguir isso. Eu vou me arrastar para fora disso e nós vamos dizer set selecionado, opção
selecionada, conectar este intelecto. Então, e ele está esperando por nossa corda esticada. Então vou ligar isso aqui. E essencialmente o que estamos dizendo com este pedaço de script é construir este personagem U-I. Depois de definir a nossa instância de jogo em uma variável que vamos chamar a função a partir dele imediatamente. E vamos definir a nossa caixa de combinação. É esse cara aqui que está mostrando provocação. Vamos definir isso para mostrar o que quer que a nossa cadeia de provocações tem dentro da
função de dados de caracteres get que e novamente que este pólos de nossa matriz de dados de caracteres get. Então é assim que está se preparando. Vamos em frente, clique com o botão esquerdo e arraste e, na verdade, colocar uma caixa em torno disso. Isso vai ser chamado de seleção de provocação. Vou consertar isso para eu não ter nenhuma caixa cruzando entre vídeos aqui. Vou definir isso para preto. Vamos compilar e salvar isso. Vamos jogar e fazer um teste. Tudo bem, então batendo naquele e qui, lá está ela. Eu vou dizer não automotivo por agora, a propósito, eu vou definir isso bem, você vê que já está definido para tau1, T2 porque ele lembrou disso. Agora vou definir isto para 23. Vou sair daqui batendo no tipo. Vamos saltar de volta tocando o tipo. E agora se eu voltar aos atributos, ele vai mostrar uma provocação três mais uma vez, como deveria, v underbar. Agora, algo que atualmente não é um bar de vodu é que nosso personagem não
está brincando de provocação e isso é um problema. Então vamos avaliar o que pode estar acontecendo. Ali. Provavelmente esqueceu de ligar em algum fio minha função tau1 atualização. Vamos, vamos saltar para a nossa instância de jogo bp onde essa função reside. E o problema é aqui em baixo, eu não fio são arranjos matriz. Nós nos separamos de nossos dados de caracteres na pesquisa, mas nós realmente não passá-lo de volta para quando estamos fazendo esse array, nós queremos realmente manter esse mesmo array de TA1. Então eu não tinha nada sendo ajustado de volta aqui quando estamos fazendo a taxa de distribuição. Então isso é um problema. Vamos compilar e salvar isso imediatamente. Além disso, outra coisa que eu vou fazer aqui é limpar nosso arquivo salvo porque nós poderíamos ter alguns dados antigos salvos lá e eu só quero ter certeza de que começamos do zero. Então, se você percorrer todo o caminho para onde o seu projeto reside no seu computador, e isso também mostra como você pode limpar um arquivo salvo. A propósito, vou entrar em meus arquivos de projetos irreais e tenho muitos projetos. Então, há o meu projeto de interface do usuário de personagem. Se eu entrar na pasta salva, meus jogos salvos lá é o meu slot salvar atual, que é o meu objeto salvar lá. Vou apertar “delete “, vamos detonar isso. Vou, então, minimizar isto. E agora eu vou pular de volta e jogar. Deixe-me tocar isso e qui,
eu gosto de provocações de remanência. Então eu vou para Revenant. Vamos clicar na guia de atributos, role para baixo. Vá falar com a única região que você espera, você
fez é porque isso é certo, Revenant. Vamos para os três primeiros. Desafio você fazer um rápido crescimento, mas em um muito divertido atirando nas pessoas pelas costas. Tom, por quê? Até fazer isso? E você pode ver como eu saí de lá, ainda continua a tocar, mas eu não estou muito preocupado com isso por agora. Pode saltar de volta. Ainda está mostrando um ensinado. Eu posso definir isso para a cidade novamente, você é porque vamos tentar vários quando ele chegar aqui. Ameaçoso, certo? Então, todas essas provocações agora são jogadas agora, eu só vou te dar mais uma dica aqui é para algo que pode ocorrer em seu projeto. Eu vi algumas instâncias aqui em que os alunos criam essa função específica e eles recebem um erro em que uma vez que eles entram na tela de interface do personagem, ele automaticamente reproduz uma provocação selecionada. E se você não quer que isso aconteça, algum outro nó que você poderia esgueirar-se ou aqui seria arrastar para fora do seu tipo de seleção e digite no interruptor, Selecione Informações e apenas cobra em seu. Queremos fazer no MouseClked para isso porque eu estou em um PC como este e que vai ajudar. Vou colocar um nó comum aqui. Pode ajudar, pode ajudar, evita provocações de ser dito ao abrir UI. Agora, novamente, você pode não precisar deste nó, mas eu descobri que alguns alunos tiveram esse problema. Isso deve ajudar a evitar isso. Atan para mim, disparou assim que você pular aqui e vamos voltar a testar. Não ouço nenhuma provocação. Eu também não ouvi antes. Não testemunha, mas você é livre para tentar a excelência. Então saiba que esse é um nó opcional que você poderia colocar lá também. Então isso é legal. Que são ensinados está jogando agora quando estamos dentro da interface do personagem, mas não seria bom se pudéssemos realmente disparar fora que tante enquanto estamos dentro do jogo? Acho que sim. Então vamos cuidar disso a seguir. Agora, para fazer isso, eu vou estar pulando para o nosso personagem de Revenant. E novamente, eu só vou fazer isso dentro de um de nossos personagens jogáveis se você quiser fazer isso dentro do material e cortar OG, você vai ter que adicionar este script que eu estou prestes a mostrar para você dentro desses caras também. Caso você tenha esquecido como chegar ao seu plano de personagem de jogador de Revenant. Vamos voltar ao nosso editor de nível principal. Sob ressonância de paragon, você pode apenas fazer uma pesquisa para o personagem do jogador. Há personagem jogador Revenant e você pode clicar duas vezes sobre esse cara para abri-lo. Novamente, você quer ter certeza de que você está dentro do gráfico de eventos, não a viewport é bonita como pode ser. E nós vamos adicionar alguns novos scripts. Então encontre algum espaço vazio aqui. Eu vou subir acima onde eu já adicionei algumas coisas em um botão direito do mouse. E eu vou adicionar entrada t, t entradas T ou T chave. Estou essencialmente à procura dos eventos do teclado. Eu provavelmente não deveria site não teclado evento para a letra T, Y T. Eu não sei. Eu só quero a letra T aqui, então eu vou fazer a letra T. Você poderia usar qualquer evento de entrada que você quiser. Então, ao pressionar a tecla t, o que eu quero que aconteça? Bem, eu quero clicar com o botão direito aqui. Quero chegar à instância do jogo. Qual instância do jogo? Bem, vamos arrastar para fora disso e lançar para a nossa instância de jogo BP. Novamente, este é um método de ver. Esta é, de fato, a instância do jogo com a qual você quer falar. Que jogo não é, não é a instância do jogo da BP? E se for, vamos disparar daqui. Se não for, podemos disparar aqui. Se for, vamos arrastar para fora da nossa instância de jogo bp e eixo r recebe dados de caracteres função atualizada. E ele vai usar automaticamente ou executar fio assim. E agora temos acesso às nossas provocações e cordas de provocação para o nosso personagem selecionado. Agora, a maneira que eu quero tocar isso é que eu quero tocar este som no local dos meus personagens. Vou clicar com o botão direito do mouse no espaço vazio e conseguir a localização do ator. Há uma função para isso que vai retornar a localização de nós mesmos. Nós mesmos somos o alvo, personagem jogador de receita. Agora isso vai gerar um valor vetorial que está em coordenadas x, y e z como onde nosso personagem vive no mundo. E então se eu me arrastar para fora disso, eu vou dizer tocar som no local, um local enquanto estamos inserindo a localização do nosso ator, nós mesmos, Revenant. Que som queremos tocar? Bem, temos uma lista de provocações aqui para escolher. Então eu vou arrastar para fora de nossas listas de provocações de nosso personagem selecionado. E eu vou pegar, nós vamos conseguir uma cópia de nossas provocações aqui. Agora podemos escolher qual insulto queremos. Lembre-se, cada personagem tem três provocações, provocação 0 ensinou um. E provocam também, conforme definido pela nossa lista de personagens 01 em e uma nota que é diferente de como nós os numeramos em nossa interface de usuário de personagem. Dentro da nossa tabela de dados, embora tenha sido listada como 012. Certo, então de volta ao personagem do jogador de receita, qual dessas provocações queríamos jogar? Bem, nós vamos arrastar para fora da nossa corda tante aqui. E vamos dividi-lo como fizemos antes. Vamos dividi-lo no texto do espaço em branco tante,
adicionar esse espaço, você tem que ter esse pequeno espaço em branco. E nós só queremos o que está à direita de nossas provocações de nossa corda tensa. Qual é esse valor numérico que ele estava sendo saídas? Então fora para a direita aqui eu vou clicar com o botão direito do mouse e fazer inteiro menos inteiro. E se tudo isso parece familiar, acabamos de fazer isso. E eu vou colocar isso aqui, assim. Estamos removendo um porque estamos contando de 0 na matriz, mas um na lista. E a saída disso nós vamos conectar aqui. E isso deve nos dar a provocação real que queremos jogar. Então esse é o seu roteiro. Observe o número um lá embaixo. Note que este tem um espaço em branco que é um espaço logo após a nossa palavra de provocações. Então eu vou clicar com o botão esquerdo e arrastar em torno desta torneira que CQI. E vou chamar isso de minha peça. Você não pode ver essa peça. Placas na escrita colorizam esse preto. Isso vai mover tudo e para cima um pouco. Vamos compilar aqui, certifica-se de que isso é bom. Vamos salvar e jogar. Uma tentativa assim, vou ter com um Regresso primeiro. Tudo bem, e eu vou escolher, vamos provocar um aqui. Até chegar até de manhã. Tudo bem, então ouvimos ele dizer meio-dia, você não vai nem chegar até de manhã. Certo, então vamos sair daqui. Agora, se eu pressionar a tecla T e você pode ouvir como isso foi um som localizado em termos de que ele estava tocando para o local dos personagens, o local dos atores. Não era um som 2D onde você apenas meio Heródoto, volume total. Estava tocando no local do nosso ator. Muito legal, de fato. Tudo bem, pessoal, isso vai fazer isso para este script de provocação atributo. Vejo vocês no próximo.
81. Script de cores em tributo: Bem-vindos de volta a todos. Bem, mais um vídeo para encerrar a parte de atributos da nossa interface do personagem. Neste vídeo, nosso objetivo será que quando você selecionar um desses widgets de botão coloridos, vamos mudar a cor que está associada a cada um de nossos personagens fornecidos. Agora, você deve se lembrar de muito tempo quando aqui na nossa lista de personagens. E novamente, nossa lista de personagens era composta de nossa estrutura, dados de
caracteres, estrutura, dados de caracteres. Estávamos definindo todos os atributos diferentes, todas as variáveis diferentes que queríamos definir para cada um de nossos personagens. E uma delas era uma variável de cor linear. E, na verdade, eu posso rolar até ele aqui embaixo. Cor, era da variedade de cores linear e lista de caracteres de que definimos uma cor diferente para cada personagem. Então, vários CAD verde, milagre teve tipo miss cor azul mais clara e remanência tem esta cor avermelhada. Agora lembre-se em nosso W b p personagem UI, muitas luas atrás criamos uma função de cor get. E com essa função get color, estávamos descobrindo qual cor estava associada a cada personagem. E nós, nós estamos vinculando a vários widgets em nossa interface do usuário, começando com nosso plano de fundo da imagem, não é nossa cor determinando nosso fundo aqui. E nós também estamos usando essa função get colorido para determinar a coloração sombra de vários pedaços de textos. Então nós vamos fazer isso para que quando você selecionar um
desses botões aqui vai realmente mudar nossa cor de personagens. E ao fazer isso, ele vai mudar a cor de fundo aqui, bem como a cor de sombra para todos os nossos vários pedaços de texto agora que você sabe, estamos apontando para, vamos direto para ele. Vamos começar a trabalhar aqui dentro da nossa instância de jogo BEP. Então, se você ainda não tiver isso aberto, você pode encontrá-lo em sua pasta de blueprints de interface do usuário de personagem, clique duas vezes em sua Instância de jogo BP. E assim como fizemos várias vezes aqui, vamos começar duplicando uma de nossas funções de atualização aqui. Eu vou pegar não atualizar tante porque aquele era um pouco diferente. Eu vou pegar, vamos atualizar o nome. - Claro. Com esse controle selecionado mais w irá duplicá-lo. E vamos começar renomeando-o,
atualizá-lo para atualizar a cor. E muito usual, ele abriu uma nova aba aqui para nós criar uma nova função. Todos esses copiados, no entanto, queremos modificar algumas coisas. Em primeiro lugar, vou quebrar este link aqui mesmo. Não estamos preocupados com um nome agora. Portanto, certifique-se de que você conectar o nome através porque esta função não vai mudar um nome de caractere em tudo. O que queremos mudar é a cor. Então, quebre este link aqui, mantenha pressionado Alt, clique com o botão esquerdo. Vamos quebrar essa ligação. Então rolando um pouco para cima aqui, vamos selecionar nosso nó de entrada da nossa cor de atualização. E nós vamos mudar a entrada aqui para simplesmente ler cor. E precisamos mudar o tipo de variável porque não queremos que sejam textos, queremos que seja uma cor linear. Agora você não vê isso aqui na sua lista. Então, se você procurar por ele, você vai encontrá-lo. Cor linear. Como isso. E eu sei que queremos uma cor linear porque se eu passar o mouse sobre essa cor aqui, ela diz que você está procurando uma cor linear. Então, agora com isso feito, eu posso pegar isso aqui e conectá-lo assim aqui embaixo. E eu vou trazer um par de nós redirecionar porque esse fio é um pouco difícil de ver. E eu não gosto que ele atravesse nós. Então, que destacou um destacado no meio lá. Você pode ver como é canalizado de uma coisa para a outra. Agora lembre-se quando chamamos essa função, nós começamos a alimentar em uma nova entrada. Podemos nos alimentar com uma nova cor. E quando fizermos isso, quando ligarmos uma nova cor, ela vai viajar até aqui e vai dizer: “
Ok, ok, você está quebrando. O que você tem para seus dados de caracteres existentes em nossos dados de caracteres é, e eu vejo que você deseja copiar sobre todas essas informações de antes para refazer esta estrutura de dados de caracteres aqui, ou matriz de dados de caracteres, no entanto, você quer mudar a sua cor, eu vou escrever vai mudar a sua cor. Essa será a única coisa que mudaremos. Agora, passo importante aqui, compilar, você deve compilar para acessar esta função. No nosso próximo passo. Vamos guardar isso imediatamente também. Agora, como você deve ter esperado aqui, nosso próximo passo será trabalhar em nossa UI de caractere W b p. Então, no caso de você ter vivido sob uma rocha, é dentro de conteúdo, widgets de interface do usuário personagem. Clique duas vezes na interface do usuário do personagem WPP para abrir esse cara. Agora você vai encontrar o seu caminho em sua hierarquia maneira na parte inferior porque estes eram legítimos, os últimos widgets que nós adicionamos nesta monstruosidade de uma hierarquia. Quero dizer, há um monte de widgets lá. Então vamos começar com nosso botão vermelho primeiro, vá em frente e selecione aquele cara. E com ela selecionada no painel de detalhes, você pode deslocar todo o caminho para baixo para encontrar os diferentes eventos associados a ele. E queremos adicionar um evento para onclick. Então, quando clicarmos nisso, algo vai acontecer. Então pressionando isso, ele nos salta
da guia Designer para a guia gráfico e diz onclick botão ler. Agora, se eu diminuir o zoom aqui, eu gostei da minha posição,
no gráfico de eventos. Então nós temos um evento para o nosso botão ler aqui. Agora eu posso ver mais na seção minhas plantas Variáveis, eu posso encontrar meus outros botões aqui é, bem, agora eu quero ir vermelho, laranja, amarelo, et cetera, mesmo que estes não são organizados assim você pode reorganizar eles, a propósito. Basta arrastá-los e soltá-los onde você achar melhor. Mas eu realmente não me importo de fazer isso. Vou usar vermelho ou laranja botão a seguir. Então, com isso selecionado, vamos fazer no botão clicado amarelo selecionado, vamos fazer em clicado, botão verde selecionado em clicado. E, finalmente, o botão azul selecionado, não clicado. Certo, então temos cinco eventos aqui. Este pedaço de escritura vai ser muito básico. Então precisamos de uma referência à nossa incidência de jogo. Próximo. Então eu vou rolar para baixo na minha lista de variáveis. Vou manter pressionado o controle, arrastar com o
botão esquerdo do mouse e minha Instância de Jogo. E tudo o que temos que fazer aqui é sair da nossa instância do jogo para acessar nossas atualizações. Obter personagem atualizado. Agora não é um dos meus pensamentos aqui, isso é apenas um peido cerebral. Temos de encontrar a nossa actualização. Função de cor de tão acostumado a obter isso, obter dados de personagem fora do nosso jogo é desde que apenas se tornou hábito. Então isso é simples o suficiente. Quando clicamos no botão vermelho, queremos mudar qual cor na instância do jogo RB P, queremos mudar qual cor é alimentada de volta em nossa nova versão de nossos dados de personagem. Novamente, isso é o que esta função aqui está fazendo. É obter os dados existentes aqui ou quebrar todas as variáveis abertas aqui nós estamos passando de volta junto com a única mudança é que estamos mudando nossa cor. Agora de volta em nossa UI personagem WPP, eu poderia ligar em uma variável está associada com a cor. No entanto, eu também posso clicar nesta caixa e hard set uma cor e eu vou fazer essa abordagem. Vou clicar aqui. Agora eu pré guardei todas as minhas cores aqui antes do tempo. Você pode salvar cores aqui em cima, a propósito. E só para mostrar como você pode fazer isso. Se eu fosse apenas encontrar qualquer cor aqui arrastando isso em torno deste círculo de cores, talvez rosa quente. Sabe, você pode descobrir o quão escuro ou claro você quer. Você pode literalmente arrastar e soltar as cores que deseja salvar em seu seletor de cores lá em cima. E se eu fechasse isso e depois reabrisse, boom, lá está. Uma dica tão útil para você. Bem, aí está a minha cor vermelha. Então eu vou definir isso para ler e dizer,
ok, e eu posso ver que a cor vermelha está na sua. Por último, o que quero fazer é arrastar-me para fora daqui. E depois de atualizarmos nossa cor, eu quero sobrescrever os jogos salvos para que nós realmente salvamos essa mudança. E, novamente, você pode ver o que está acontecendo em sua substituição jogo salvo aqui visualizando essa função em sua instância de jogo BP. Dica rápida para todos vocês aqui. Se você fosse realmente clicar duas vezes sobre esta função ou esta função, ele irá navegar para onde esta função vive no jogo BP é, e assim apenas para demonstrar que eu estou clicando duas vezes sobre isso, note que eu vou saltar sobre mim para o jogo Instância e dizendo, Ei, isso é o que está acontecendo dentro de sua substituir uma função salvar jogo. Truque prático, de fato. Tudo bem, então com isso feito, vamos basicamente copiar o mesmo processo para o nosso clique laranja, amarelo, verde e azul, etc. Então clique com o botão esquerdo e arraste em torno desses três nós, controle C, controle V. Eu vou colar estes aqui com a única mudança é que eu estou simplesmente trocando a cor aqui, laranja, Controle V aqui, amarelo. E isso vai me levar um pouco de tempo. Está bem? Controle V verde. E por último, mas não menos importante, controle o azul. Eu acho que este é um azul escuro muito áspero, mas é azul verdadeiro, se você quiser. Está bem? Tudo bem, e então eu vou clicar com o botão esquerdo e arrastar uma caixa de comentários em torno de todos esses imediatamente. Eu sei que estou um pouco zoomed aqui. Deixe-me tocar no C. E eu vou chamar essa cor de simples o suficiente. E eu vou colorir em toda a caixa de comentários preto fugitivo. Tudo bem, vamos compilar isso e salvar, e vamos ver se isso realmente funciona. Tudo bem, tocando no 0x0. Vamos ao Regresso primeiro, Shelly, vou aos atributos,
vou ter um pergaminho para baixo. Deixe-me trocar para laranja. Agora veja o que acontece quando eu clicar nisso. Deve dizer “substituir salvar” lá em cima. Tudo bem, então agora é laranja, disse substituir salvar, amarelo, amarelo, verde, azul. Ok, eu vou deixar Revenant é azul e notar que realmente deixe-me mudá-lo para amarelo. Então, observe como ele muda a cor da sombra, bem como a cor do meu plano de fundo. Todo o meu texto está em amarelo é bem, você sabe, em Revenant, eu vou ficar verde. Agora deixe-me falar com alguns dos outros personagens aqui. Então eu vou na verdade, vou ler por remanência. Não, laranja para remanência ou eu vou amarelo para material e eu vou ficar azul para cortar. Ok, então agora se eu fechar isso e, em seguida, voltar, ele ainda guarda como azul para Sever OG grito funereal em laranja para remanência. Agora percebo o que acabei de lhe mostrar. Houve um exemplo académico. E com isso, quero dizer, não é muito útil em jogos. Quero dizer, não é muitas vezes que em uma tela de menu você simplesmente escolhe uma cor e tudo que você muda a cor desse menu. Quero dizer, é bom saber uma configuração como essa, mas vamos passar por um exemplo mais prático de como você pode escolher uma cor e mudar algo como a cor do nosso traje de personagens. Então o que eu fiz aqui é uma pequena pausa entre a primeira metade
deste vídeo e a segunda metade para mostrar como você pode criar um sistema desse tipo. Agora eu não vou andar com você passo a passo sobre todos os nós que você precisa. Mas o que vou fazer é mostrar-te o que ela pode fazer. Eu já tenho isso pré-construído, então eu vou apenas saltar e jogar rapidamente aqui. E eu só fiz isso por ressonância. Então eu vou bater no gosto. Eu vou para Revenant, vou para atributos, e eu vou escolher a cor amarela porque eu configurei isso escolhendo a cor amarela. Agora, uma vez que eu escapar daqui, você pode ver que eu agora mudei a cor do casaco remanência lá eu realmente tenho um dois uma cor dourada. Então, como podemos fazer algo assim? Bem, para começar, abra seu controlador de jogador BP. E se você esqueceu onde esse cara está, você pode acessar os blueprints da interface do personagem de conteúdo, clicar duas vezes no controle do player e encontrar esse script. Estávamos ativando e desativando nossa interface do personagem. Este foi um grande roteiro. E se eu realmente diminuir o zoom aqui, você pode ver que enquanto eu meio que deslizo para a direita, eventualmente você chega a essa seção onde estamos trocando um personagem em ints. E dependendo do número de r ou o jogador selecionado na variável dentro do nosso jogo bp é desde que estávamos trocando para o nosso personagem jogador receita, nosso milagre, ou nosso sever. Ok, então tudo bem, este pedaço de script aqui no seu controlador de jogador BP. Agora, novamente, eu só fiz isso com o Revenant. Isto é apenas uma demonstração. Mas depois deste nó possuir. O que eu fiz foi drogar um fio do meu valor de retorno da minha criação do personagem de The Revenant, você arrasta um fio daqui e faz uma busca por um nó chamado mesh. Agora, essencialmente, o que você está procurando é o seu olhar. E novamente, você não precisa fazer isso, mas eu vou rolar até ele. O que você está procurando dentro de seu personagem de jogador Revenant é este componente de malha. Este componente de malha define a aparência de Revenant aqui. E nesta malha, se você olhar no painel Detalhes, há muitos materiais aplicados a ele. Você tem materiais para remanência, olhos
brilhantes aqui, por exemplo. Você também tem materiais para seu corpo e jaqueta de braços, todo tipo de coisas. Vamos trocar o material aplicado ao corpo de receitas. E vimos no jogo que isto era um tipo de material aqui atrás. Certo, então isso é essencialmente o que estamos fazendo. Vamos falar com este componente de malha para trocar este material aqui mesmo. Ok, então de volta ao nosso controlador de jogador BP, depois de você ter conhecimento de drogas fora daqui e fazer uma busca para obter a malha. Arraste um fio para fora daqui e digite o material de conjunto para encontrar um nó de função de material definido. E então o que você quer fazer é o elemento índice 0. Em primeiro lugar, isso vai apontar para este elemento 0 do nosso material. Então o que você quer fazer é clicar com o botão direito sobre esta entrada material. E se você clicar com o botão direito sobre isso, você pode promovê-lo para uma variável. Foi assim que consegui essa variável. Isso me levou a nomeá-lo e eu chamei de material selecionado. Então isso garantiu que eu tinha a variável certa para conectar a isso. Agora, tudo que eu fiz foi definir, uma vez que eu compilei meu projeto aqui, eu fui capaz de definir um valor padrão e eu apenas definir isso como ouro. Assim como um padrão. Mas você pode trocar isso, e eu vou te mostrar como fazer isso aqui daqui a pouco. Você poderia deixar isso em branco, no entanto, se você quisesse. Na verdade, vou deixar isto em branco. Vamos limpar isto. Então esta é uma variável vazia e vazia. Não tem nada dentro dela. Está bem? Agora, com tudo isso configurado, você deve compilar e salvar. Certifique-se de compilar e pode salvar. De volta à nossa interface de usuário do personagem WPP, você pode construir a partir de qualquer um dos seus eventos onclick. E eu construí isso do meu botão onclick amarelo e do botão OnClick verde. Então o script que SHE ADD é destacado aqui neste bloco azulado. Em primeiro lugar, e eu fiz isso. Você pode ver para amarelo e verde, Em primeiro lugar eu escrever com o botão direito do mouse, em seguida, algum espaço vazio, e eu tenho o meu controlador jogador. E eu tenho que definir com que controlador de jogador estou falando. E então eu me drogo para fora disso. E eu disse Cast Para o nosso controlador de jogador BP porque esse é um que estamos usando para este projeto. Uma vez que fazemos um elenco para um jogador controla, podemos então arrastar um fio para fora daqui e podemos definir, podemos definir essa variável que acabamos de criar para o nosso controlador de jogador bp. Então, em nosso controlador de jogador, nós tínhamos esse conjunto de variáveis e nada. Mas aqui dentro do meu ser personagem WPP
UI, estou dizendo que se
clicarmos naquele botão amarelo, vamos chegar ao nosso controlador de jogador e vamos definir esse material para ser ouro. Se clicarmos no botão amarelo para o botão verde, eu vou configurá-lo para ser este material esverdeado que eu encontrei. Você pode clicar aqui e apenas encontrar qualquer material que você quiser. Então, novamente, com isso preso no final, você pode fazê-lo para que eles clicem um botão possam realmente trocar um material em seu personagem. E deixe-me mostrar-lhe um verde bem rápido, porque eu acho isso muito legal. E é naquele a0, c0. E eu vou até o Revenant. E só para que saibas que não estou aqui deitado e liguei-o ao meu verde. Estou selecionando verde. Ainda vai mudar o meu passado e agora eu escapo daqui. O que você sabe? Dei ao Revenant uma jaqueta verde afiada. Não é formidável? Muito bem, pessoal, trabalho bem feito naquele que vai fazer tudo para este vídeo, vamos ver vocês no próximo.