Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: "Dread Mac Farlane", (...) / Tutos: Checklist de la composition (...) / Sorties: Dread Mac Farlane - episode 8 / Sorties: Dread Mac Farlane - episode 7 / Jeux: Ce qui vit Dessous / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

347 connectés actuellement

29415772 visiteurs
depuis l'ouverture

8312 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Eclipso

Lumen

RPG Maker VX

RPG Maker Détente

Level Up!

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RESOLU] [RPG Maker MV] Fixer la position de la caméra sur le curseur de la souris


maotd - posté le 19/03/2016 à 13:21:12 (103 messages postés)

❤ 0

Dr Latency

Domaine concerné: plugin? Event?
Logiciel utilisé: RPG Maker MV
Bonjour.
Pour des raisons pratiques j'aimerais que la caméra suive la position du curseur au lieu de suivre la position du héros. Mais je ne pense pas qu'il y ai une fonction de base pour faire ça.
J'ai beau réfléchir, je ne trouve pas vraiment comment faire ça. Quelqu'un aurait une idée?

Ou si ce n'est pas possible (ou trop compliqué), Est-ce qu'il y aurait un moyen d'empêcher le joueur de se déplacer avec les touches directionnelles (voir d'imposer les déplacements et les actions à la souris)? Mais si possible sans interdire totalement les touches du clavier (pour les attribuer à la gestion de la caméra uniquement)?

Merci d'avance.

Ma gallerie


Aminomad - posté le 19/03/2016 à 14:03:13 (150 messages postés)

❤ 0

Un moyen "simple" serait de remplacer ton héro par un event de même apparence, puis rendre le héro transparent, vitesse max et mode fantôme et rester appuyé sur la souris pour que la caméra donne l'illusion de suivre le curseur. Mais si le héro doit pouvoir se déplacer en même temps que la caméra c'est autre chose, faudrait préciser.

The Lone Chameleon


maotd - posté le 19/03/2016 à 14:06:03 (103 messages postés)

❤ 0

Dr Latency

Le héros doit pouvoir rester indépendant de la position du curseur oui.

Ma gallerie


Aminomad - posté le 19/03/2016 à 21:25:29 (150 messages postés)

❤ 0

Il faudrait pouvoir récupérer les coordonnées de la souris et faire un event parallèle pour faire défiler l'écran en fonction des coordonnées. Je sais uniquement récupérer les coordonnées quand le clic gauche est pressé, sauf que ton perso se déplace en même temps du coup. Donc tu peux désactiver les mouvements à la souris afin qu'elle serve qu'au mouvement de caméra quand le clic gauche est pressé. Je peux y jeter un oeil si tu veux.

Edit: en fait on pourrait aussi le faire avec le clic droit qui est normalement utilisé pour ouvrir le menu (et du coup laisser le déplacement à la souris).

Sinon

Citation:

Est-ce qu'il y aurait un moyen d'empêcher le joueur de se déplacer avec les touches directionnelles


Tu peux ajouter ça dans un plugin. C'est dans le code de base, j'ai juste mis une ligne en commentaire.

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
Input.update = function() {
    this._pollGamepads();
    if (this._currentState[this._latestButton]) {
        this._pressedTime++;
    } else {
        this._latestButton = null;
    }
    for (var name in this._currentState) {
        if (this._currentState[name] && !this._previousState[name]) {
            this._latestButton = name;
            this._pressedTime = 0;
            this._date = Date.now();
        }
        this._previousState[name] = this._currentState[name];
    }
 //   this._updateDirection();
};



The Lone Chameleon


maotd - posté le 20/03/2016 à 17:40:23 (103 messages postés)

❤ 0

Dr Latency

Ca marche merci. Ce sera peut-être plus pratique comme ça et plus facile à faire au final.
Reste à savoir si il y a moyen d'activer un plugin seulement sur certaines maps.
En fait j'aimerais faire un système de déplacement à la souris pour la carte du monde pour utiliser les touches pour bouger la caméra. Mais j'aimerais pouvoir laisser le joueur utiliser les touches quand même sur les maps normales. C'est plus intuitif dans ce genre de jeu je pense.

Ma gallerie


Aminomad - posté le 20/03/2016 à 19:27:10 (150 messages postés)

❤ 0

Tu peux remplacer l'ancien et essayer ça (c'est pas très propre, ni optimale je pense mais ça devrait marcher) :
Il faut que tu changes manuellement l'Id de ta carte du monde (ligne 42).
Si ça fonctionne, tu pourras te déplacer uniquement à la souris sur la WorldMap.

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
var oldUpdate = Input.update;
 
var newUpdate = function() {
    this._pollGamepads();
    if (this._currentState[this._latestButton]) {
        this._pressedTime++;
    } else {
        this._latestButton = null;
    }
    for (var name in this._currentState) {
        if (this._currentState[name] && !this._previousState[name]) {
            this._latestButton = name;
            this._pressedTime = 0;
            this._date = Date.now();
        }
        this._previousState[name] = this._currentState[name];
    }
};
 
 
var controlPad = function(bool) {
        Input.clear();
        if(bool === false)
        {
                Input.update = newUpdate;
        }else
        {
                Input.update = oldUpdate;
        }
};
 
 
DataManager.loadMapData = function(mapId) {
    if (mapId > 0) {
        var filename = 'Map%1.json'.format(mapId.padZero(3));
        if($gameMap.mapId()!==mapId){this.loadDataFile('$dataMap', filename);}
    } else {
        this.makeEmptyMap();
    }
 
    //Empêche le déplacement au pad sur la WorldMap (dont l id est 1 ici)
    if(mapId === 1)
    {
        controlPad(false);
    }else{
        controlPad(true);
    }
};



Tu peux aussi désactiver manuellement dans un event en plaçant ce bout de script:

Portion de code : Tout sélectionner

1
controlPad(true);



The Lone Chameleon


maotd - posté le 20/03/2016 à 20:04:53 (103 messages postés)

❤ 0

Dr Latency

Merci ça fonctionne parfaitement. Du moins j'ai testé rapidement et ça sembler marcher sans souci.

Edit: Ca marche très bien en effet. Mais maintenant pour que tout soit parfait il faudrait que je trouve un moment de reset la positon de la caméra, centrée sur la position du héros. En fait j'utilise les touches fléchées pour déplacer la caméra mais quand je clique sur un emplacement et que le héros bouge, la caméra ne revient pas se centrer sur lui et ça donne des situations un peu bizarres.
Sur RPG Maker 2003 il y avait une option dans les événements pour la remettre à sa place mais là visiblement on a perdu cette fonction nativement. Si quelqu'un a un bout de code magique :amour2

Ma gallerie


Aminomad - posté le 20/03/2016 à 23:34:09 (150 messages postés)

❤ 0

Je me doutais que ce serait la prochaine étape :sourire2
C'est un peu moins évident que ça en a l'air et j'ai besoin d'aide pour le coup.
http://forums.rpgmakerweb.com/index.php?/topic/51325-camera-control-plugin-by-tyruswoo/
(plugin qui permet entre autre de centrer la camera sur le joueur).
Mais une fois que la caméra est centrée, le joueur pourra toujours la décentrer pendant le déplacement à priori puisqu'il la contrôle.
Et pour la caméra qu'est-ce qui déclenche le recentrement sur le joueur ?

Je t'ai fait un exemple d'event parallèle, tu peux changer selon comment tu vois les choses.
Ici, le joueur ne peux déplacer la caméra que si le héro n'est pas en train de se déplacer.
La caméra se recentre sur le héro quand le clic est pressé et que le joueur n'est pas déjà en train de bouger.
image

The Lone Chameleon


maotd - posté le 21/03/2016 à 18:27:29 (103 messages postés)

❤ 0

Dr Latency

Ca marche parfaitement. Merci énormément pour toute ton aide. Avec ça j'ai quasiment terminé mon système de carte du monde. Il me reste juste à faire l'interface des commandes de caméra maintenant. Tu viens de m'enlever une de mes deux plus grosses épines du pied.

Ma gallerie


verehn - posté le 21/03/2016 à 19:51:28 (9056 messages postés) - honor

❤ 0

Vhehrhehn

Bien joué Aminomad.

Eldrao ~ PakuPaku ~ Winged Light ~ Ruin ~ Ma galerie ~ LTDAD ~ Don de graphismes plateforme 2D


Aminomad - posté le 21/03/2016 à 21:38:15 (150 messages postés)

❤ 0

De rien, ça me permet aussi de me familiariser avec le logiciel.
Bonne chance pour la suite.

Et merci verehn :sourire2

The Lone Chameleon

Index du forum > Entraide > [RESOLU] [RPG Maker MV] Fixer la position de la caméra sur le curseur de la souris

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers