Salve gente, ogni tanto riappaio, stavolta sto cercando (sulla base anche di quello che realizzai su vx ace qui) di realizzare un plugin che in base alla regione della mappa in cui si trovano gli eventi avvengano dei cambiamenti agli eventi stessi. Come principio ho pensato ad un semplice ciclo for che controlla tutti gli eventi in mappa con vari if innestati al suo interno, il problema è che la mia conoscenza del javascript è quasi nulla e soprattutto non so più richiamare gli elementi di rpg (col RGSS3 mi era tutto più facile, almeno con l'editor).
La dicitura SpriteZoom.zoom(........); è richiamata dal plugin di Aramis Sprite Zoom, l'ho usata come provare per vedere gli effettivi cambiamenti.
Insomma la prima parte che controlla il player va tranquilla, funziona senza problemi, per gli eventi invece non da segni, è sicuramente sbagliato qualcosa.
Illuminatemi vi prego, e anche se ci fossero errori altri al codice vi prego di segnarlarmeli, vorrei imparare xD
Question
The_Wolfman
Salve gente, ogni tanto riappaio, stavolta sto cercando (sulla base anche di quello che realizzai su vx ace qui) di realizzare un plugin che in base alla regione della mappa in cui si trovano gli eventi avvengano dei cambiamenti agli eventi stessi. Come principio ho pensato ad un semplice ciclo for che controlla tutti gli eventi in mappa con vari if innestati al suo interno, il problema è che la mia conoscenza del javascript è quasi nulla e soprattutto non so più richiamare gli elementi di rpg (col RGSS3 mi era tutto più facile, almeno con l'editor).
Ho provato nella mia ignoranza a scrivere ciò:
Scene_Map.prototype.update = function() { this.updateDestination(); this.updateMainMultiply(); this.updatemyregion(); if (this.isSceneChangeOk()) { this.updateScene(); } else if (SceneManager.isNextScene(Scene_Battle)) { this.updateEncounterEffect(); } this.updateWaitCount(); Scene_Base.prototype.update.call(this); }; Scene_Map.prototype.updatemyregion = function() { if ( $gameMap.regionId($gamePlayer.x, $gamePlayer.y) === 2){ SpriteZoom.zoom(0, 0.95); } else if ( $gameMap.regionId($gamePlayer.x, $gamePlayer.y) === 3){ SpriteZoom.zoom(0, 0.9); } else if ( $gameMap.regionId($gamePlayer.x, $gamePlayer.y) === 4){ SpriteZoom.zoom(0, 0.85); } else if ( $gameMap.regionId($gamePlayer.x, $gamePlayer.y) === 5){ SpriteZoom.zoom(0, 0.8); } else if ( $gameMap.regionId($gamePlayer.x, $gamePlayer.y) === 14){ SpriteZoom.zoom(0, 0.9, 5); } else if ( $gameMap.regionId($gamePlayer.x, $gamePlayer.y) === 21){ SpriteZoom.zoom(0, 3, 35); } else{ SpriteZoom.zoom(0,1,10); } $gameMap.events().forEach(function(event) { if ( $gameMap.regionId($gameMap.events(event).x, $gameMap.events(event).y) === 2){ SpriteZoom.zoom(event, 0.95); } else if ( $gameMap.regionId($gameMap.events(event).x, $gameMap.events(event).y) === 3){ SpriteZoom.zoom(event, 0.9); } else if ( $gameMap.regionId($gameMap.events(event).x, $gameMap.events(event).y) === 4){ SpriteZoom.zoom(event, 0.85); } else if ( $gameMap.regionId($gameMap.events(event).x, $gameMap.events(event).y) === 5){ SpriteZoom.zoom(event, 0.8); } },this); };La dicitura SpriteZoom.zoom(........); è richiamata dal plugin di Aramis Sprite Zoom, l'ho usata come provare per vedere gli effettivi cambiamenti.
Insomma la prima parte che controlla il player va tranquilla, funziona senza problemi, per gli eventi invece non da segni, è sicuramente sbagliato qualcosa.
Illuminatemi vi prego, e anche se ci fossero errori altri al codice vi prego di segnarlarmeli, vorrei imparare xD
Grazie in anticipo
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now