O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Interromper movimentação do Parallax

Iniciado por Carogui1, 22/02/2021 às 21:51

Olá a todos!

No meu projeto uns personagens estão andando, com um efeito de "infinidade" com um uso de um fundo parallax em movimento, o que quero saber é como faço para esse parallax interromper o loop horizontal quando eu desejar que os personagens parem.

Já usei a opção "Mudar Panorama" na aba 3 de eventos, contudo, da impressão de teletransporte.

Obrigado desde já.
Enjoy the Silence ♫

Dê uma olhada aqui. Na parte dos mapas, tem um comando pra definir a movimentação do fundo pelo Chamar Script.

Citação de: Corvo online 23/02/2021 às 08:45
Dê uma olhada aqui. Na parte dos mapas, tem um comando pra definir a movimentação do fundo pelo Chamar Script.

Esqueci de comentar... estou usando MV, dei uma olhada nos comandos para essa versão, porém nào achei nenhuma que mude especificamente o loop horizontal do parallax sem alterar seu fundo. Parece ser o mesmo para o MV e o Vx.
Enjoy the Silence ♫

Os comandos parecem os mesmos pelos nomes e porque fazem a mesma coisa. No entanto, são bem diferentes já que o MV usa javascript e as versões anteriores, ruby. A lista de comandos para o MV está aqui.

23/02/2021 às 11:29 #4 Última edição: 23/02/2021 às 11:30 por Carogui1
Citação de: Corvo online 23/02/2021 às 10:21
Os comandos parecem os mesmos pelos nomes e porque fazem a mesma coisa. No entanto, são bem diferentes já que o MV usa javascript e as versões anteriores, ruby. A lista de comandos para o MV está aqui.

Foi nesse link mesmo que pesquisei, os comandos são diferentes sim mas o efeito é o mesmo... O único comando de chamada por script para parallax deve modificar a imagem também. Apesar de funcionar por comando também, tem a mesma ação que evento.
Enjoy the Silence ♫

23/02/2021 às 15:39 #5 Última edição: 23/02/2021 às 15:43 por Crixus
Citarda impressão de teletransporte.da impressão de teletransporte.
Essa parte me deixou meio intrigado... não reparei neste efeito. Seu Rpg Maker é atualizado?

Eu ia sugerir aguardar alguém modificar a parte do código que faz isso, mas é mais provável que existam, mas tente este comando:
https://forums.rpgmakerweb.com/index.php?threads/change-current-parallaxs-speed-graphic.17334/#post-168178
(Quinta mensagem do tópico)

Caso não funcione, tente se adaptar à este Plugin:
https://forums.rpgmakerweb.com/index.php?threads/orange-overlay-v1-1-4-animated-parallax-add-on-updated-7jul17.80917/

23/02/2021 às 16:51 #6 Última edição: 23/02/2021 às 16:58 por Carogui1
Citação de: Crixus online 23/02/2021 às 15:39
Essa parte me deixou meio intrigado... não reparei neste efeito. Seu Rpg Maker é atualizado?

Eu ia sugerir aguardar alguém modificar a parte do código que faz isso, mas é mais provável que existam, mas tente este comando:
https://forums.rpgmakerweb.com/index.php?threads/change-current-parallaxs-speed-graphic.17334/#post-168178
(Quinta mensagem do tópico)

Caso não funcione, tente se adaptar à este Plugin:
https://forums.rpgmakerweb.com/index.php?threads/orange-overlay-v1-1-4-animated-parallax-add-on-updated-7jul17.80917/

Posso postar um vídeo para mostrar a situação, mas acho que da pra compreender... Quando peço para mudar o panorama do mapa pra mesma imagem numa velocidade de loop igual a 0 ela reseta para a posição original, dando essa impressão que os personagens se teletransportaram. Estranho não ter acontecido no seu, esta atualizado sim, é a versão da Steam. Testei em outros parallax padrões e ocorreu a mesma coisa aqui.

Infelizmente os códigos do primeiro link são para Vx Ace :T.T:, sem sucesso...
Sobre o plug-in, conheço as mecânicas deles, porém não sei como colocar o fog abaixo do personagem, visto que este é a única opção do plug-in que permite movimentação da imagem, creio eu.
Enjoy the Silence ♫

23/02/2021 às 20:17 #7 Última edição: 23/02/2021 às 20:38 por Crixus
Ah não, você falou de uma maneira que deu à entender que os eventos também voltavam pra posição inicial.
Isso aí é normal em quase todos os Rpg Makers, por que na verdade ele reseta o ponto de inicial "redesenhando o panorama no fundo. Você lembrou de ativar o Loop horizontal assim?



Eu retirei essa opção e deu o tal problema do Teleporte, mas o mapa ficou normal, o que mudou foi o panorama que voltou pra coordenadas iniciais, por que sem habilitar o Loop ele entende que você quer fixar o Panorama.

23/02/2021 às 20:26 #8 Última edição: 23/02/2021 às 20:27 por Carogui1
Citação de: Crixus online 23/02/2021 às 20:17
Ah não, você falou de uma maneira que deu à entender que os eventos também voltavam pra posição inicial.
Isso aí é normal em quase todos os Rpg Makers, por que na verdade ele reseta o ponto de inicial "redesenhando o panorama no fundo.

A lógica do API do MV/MZ é bem semelhante ao padrão do RGSS, não deve ser difícil achar as variáveis e tentar reproduzir o efeito.
De qualquer maneira eu vou verificar se o problema acontece no Game.exe (Tecnologia do Navegador Chrome) e no Firefox.

Antes de tudo, muito obg por ajudar ksks
Em qual dos documentos eu posso tentar achar essas variavéis? Não consegui achar em rpg_scenes... E de toda forma, seria isso editável por chamada de "script"?
Enjoy the Silence ♫

23/02/2021 às 21:10 #9 Última edição: 24/02/2021 às 07:14 por Crixus
Documento? Se for o arquivo JavaScript onde estão as FUNCTIONS, está em rpg_objects.js e o rpg_sprites.js.

Isso pode ajudar:
https://docs.google.com/spreadsheets/u/0/d/1-Oa0cRGpjC8L5JO8vdMwOaYMKO75dtfKDOetnvh7OHs/preview/sheet?gid=0

Eu fiz assim e funcionou normal, parou no mesmo ponto:
$gameMap.changeParallax("SeaofClouds", true, false, 0, 0)


Pra resolver o teu problema, você sabe usar FOR ou WHILE em Javascript simples?

Dica: O Rpg Maker permite velocidade entre -32 e 32, mas pelo comando de Script eu joguei 128 (relativo ao máximo) e a sensação de velocidade ficou muito melhor, então não se preocupe com as limitações.

Citação de: Crixus online 23/02/2021 às 20:17
Ah não, você falou de uma maneira que deu à entender que os eventos também voltavam pra posição inicial.
Isso aí é normal em quase todos os Rpg Makers, por que na verdade ele reseta o ponto de inicial "redesenhando o panorama no fundo. Você lembrou de ativar o Loop horizontal assim?



Eu retirei essa opção e deu o tal problema do Teleporte, mas o mapa ficou normal, o que mudou foi o panorama que voltou pra coordenadas iniciais, por que sem habilitar o Loop ele entende que você quer fixar o Panorama.

:facepalm: então era só isso ksksks.. Resolveu o problema aqui, menos mal saber disso ksk
Obg pela ajuda Crixus!  :heart:
Enjoy the Silence ♫

24/02/2021 às 07:52 #11 Última edição: 24/02/2021 às 13:26 por Crixus
Então, eu mostrei isso pra que você pudesse fazer o processo de maneira progressiva, tipo "desacelerar" até parar pra dar uma sensação suave e de que realmente estava em movimento, ao invés de parar de uma vez.

O Lance do FOR ou WHILE é que não precisaria criar um evento enorme, e também permite controlar a velocidade do Parallax por uma variável do próprio Rpg Maker.

Citação de: Crixus online 24/02/2021 às 07:52
Então, eu mostrei isso pra que você pudesse fazer o processo de maneira progressiva, tipo "desacelerar" até parar pra dar uma sensação suave e de que realmente estava em movimento, ao invés de parar de uma vez.

O Lance do FOR ou WHILE é que não precisaria criar um evento enorme, e também permite controlar a velocidade do Parallax por uma variável do próprio Rpg Maker.

Não tenho infelizmente esse conhecimento, no máximo consigo interpretar alguns códigos  :T.T:
Mas parece interessante essa ideia de desaceleração... Não seria possível também diminuindo na troca de panoramas de 1 em 1 até 0  por eventos? Ou ficaria mais suave dessa forma?
Enjoy the Silence ♫

24/02/2021 às 18:31 #13 Última edição: 24/02/2021 às 20:54 por Crixus
Realmente, melhor fazer por EVENTOs, mas é a mesma lógica.
Eu usei uma variável do Rpg Maker pra controlar a velocidade

Editado, eu fiz a ordem errado Break Loop e da operação com a variável.
◆Comentário:Disparar movimento do Parallax
◆Ciclo
  ◆Script:$gameMap.changeParallax("SeaofClouds", true, false, $gameVariables.value(1), 0)
  ◆Se:#0001 = 64
    ◆Quebrar Loop
    ◆
  :Fim
  ◆Esperar:1 quadro
  ◆Controlar Variáveis:#0001 += 1
  ◆
:Repetir Acima


◆Comentário:Parar gradualmente o Parallax
◆Ciclo
  ◆Script:$gameMap.changeParallax("SeaofClouds", true, false, $gameVariables.value(1), 0)
  ◆Se:#0001 = 0
    ◆Quebrar Loop
    ◆
  :Fim
  ◆Esperar:1 quadro
  ◆Controlar Variáveis:#0001 -= 1
  ◆
:Repetir Acima


Remova o Wait se notar que está demorando demais ou aumente se notar que está indo muito rápido.