Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
382 connectés actuellement
30742110 visiteurs depuis l'ouverture
2483 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
MrHeimer -
posté le 23/08/2020 à 15:34:58 (73 messages postés)
| | Domaine concerné: Script
Logiciel utilisé: [RpgmakerMV]
Salut tous le monde!!
J'ai trouvé un tuto qui me permettrait de faire ce que je souhaite, c'est à dire un gamepad pour androïd/ios
Le tuto en question : https://www.youtube.com/watch?v=mH6RjUo2FSg
J'ai quand même pu cerner les bases grâce à son tuto en le suivant je vais obtenir à peu prés ce que je souhaite juste à rajouter un bouton retour pour quitter le menu.
Mais il restera un problème, les images du Gamepad apparaîtront lors des combats..
Vous pensez que c'est possible de faire en sorte que pour chaque combat: les boss / évènements ( et même ceux que l'on croise aléatoirement dans les herbes ) de faire appel à l’événement qui cache le game pad et réactive le "touchscreen" lors de la cinématique qui lance le combat, et de réactiver le gamepad une fois ce combat finit de manière fluide?
Edit: pour les boss et autres combats lancés par événements je pourrais le faire manuellement mais qu'en est t'il pour les combats aléatoire qui se déclenchent suivant le nombre de pas?
|
MrHeimer -
posté le 26/08/2020 à 16:31:31 (73 messages postés)
| | Personne n'aurait une idée alors pour faire en sorte d’appeler l’événement qui cache le gamepad et réactive le "touchscreen" lors des combats aléatoire sur les maps?
Je devrais pouvoir réussir si il existait un moyen de dire dans un événement commun par exemple: si le bgm qui se joue lors de l'introduction pour les combats est joué, on réactive le touch screen, et lorsque la musique de victoire est joué, on repasse sur le mode gamepad?
J'ai pensé à ça vu que c'est la seule chose que les combats aléatoires ont en communs à moins qu'il existe une commande qui correspond au combat aléatoire?
Ceux programmés par des événements c'est facile j'ai juste à activer l événement commun avant le 'traitement de combat' et le désactiver à la fin mais pour les combats aléatoire ..
|
gif -
posté le 27/08/2020 à 08:57:38 (4782 messages postés)
- | Egotrip Gigamaxé | Salut MrHeimer,
Si personne ne répond, je prendrais le temps de t'aider demain après-midi .
|
Itch.io | Twitter | Une IA qui génère des sprites de Pokémon | Cochouchou à la coupe du monde ! | le concours hebdomadaire du meilleur screen ! |
MrHeimer -
posté le 28/08/2020 à 00:45:09 (73 messages postés)
| | gif a dit:
Salut MrHeimer,
Si personne ne répond, je prendrais le temps de t'aider demain après-midi .
|
Salut Gif la forme?
ça marche merci tu gères ^^
Je devrais m'en sortir si j'arrive à trouver simplement la commande qui correspond aux combats aléatoires (ceux programmés suivant le nombre de pas)
genre avec une branche conditionnelle dans un événement commun :
Si le combat aléatoire se lance ===> on désactive le gamepad et on réactive le touch screen
Si le combat aléatoire est fini ===> on réactive le gamepad et on désactive le touch screen
|
Gari -
posté le 28/08/2020 à 07:15:36 (5901 messages postés)
- | | La formule pour calculer le nombre de pas avant la rencontre est dans rpg_objects. Par contre je ne sais pas si cette formule est appelée de ce plugin ou d'un autre.
|
MrHeimer -
posté le 28/08/2020 à 14:17:21 (73 messages postés)
| | Gari a dit:
La formule pour calculer le nombre de pas avant la rencontre est dans rpg_objects. Par contre je ne sais pas si cette formule est appelée de ce plugin ou d'un autre.
|
Non je ne veux pas calculer le nombre de pas avant la rencontre, je souhaite juste trouver la commande qui dit "quand un combat de lance" (combat aléatoire pour le coup vu que pour les autres je peux cacher le gamepad manuellement dans la page d'evenement), mais merci quand même Gari.
|
gif -
posté le 28/08/2020 à 19:43:45 (4782 messages postés)
- | Egotrip Gigamaxé | I made dis :
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
| //=============================================================================
// DetectEncounter.js
//=============================================================================
// Change $gameTemp.reserveCommonEvent(1) to the ID you like (call at encounter start)
// Change $gameTemp.reserveCommonEvent(2) to the ID you like (call at encounter stop)
/*:
* @plugindesc Detect the start of a battle
* @author Oniromancie "rpg-maker.fr"
*
* @help Ce plugin detecte le démarrage et la fin du combat
*/
BattleManager.onEncounter = function() {
$gameTemp.reserveCommonEvent(1)
this._preemptive = (Math.random() < this.ratePreemptive());
this._surprise = (Math.random() < this.rateSurprise() && !this._preemptive);
};
Scene_Battle.prototype.stop = function() {
Scene_Base.prototype.stop.call(this);
if (this.needsSlowFadeOut()) {
this.startFadeOut(this.slowFadeSpeed(), false);
} else {
this.startFadeOut(this.fadeSpeed(), false);
}
this._statusWindow.close();
this._partyCommandWindow.close();
this._actorCommandWindow.close();
$gameTemp.reserveCommonEvent(2);
}; |
Ce plugin va appeler l'event commun 1 (ligne 14) au démarrage d'un combat random et l'event commun 2 (ligne 29) à la fin. Tu me dis si ça correspond à ce que tu veux ! Modifie à ta convenance.
Améliorable bien sûr, mais je n'ai plus ....que ...5% de.... bat...terie...
|
Itch.io | Twitter | Une IA qui génère des sprites de Pokémon | Cochouchou à la coupe du monde ! | le concours hebdomadaire du meilleur screen ! |
MrHeimer -
posté le 28/08/2020 à 21:44:48 (73 messages postés)
| | gif a dit:
I made dis :
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
| //=============================================================================
// DetectEncounter.js
//=============================================================================
// Change $gameTemp.reserveCommonEvent(1) to the ID you like (call at encounter start)
// Change $gameTemp.reserveCommonEvent(2) to the ID you like (call at encounter stop)
/*:
* @plugindesc Detect the start of a battle
* @author Oniromancie "rpg-maker.fr"
*
* @help Ce plugin detecte le démarrage et la fin du combat
*/
BattleManager.onEncounter = function() {
$gameTemp.reserveCommonEvent(1)
this._preemptive = (Math.random() < this.ratePreemptive());
this._surprise = (Math.random() < this.rateSurprise() && !this._preemptive);
};
Scene_Battle.prototype.stop = function() {
Scene_Base.prototype.stop.call(this);
if (this.needsSlowFadeOut()) {
this.startFadeOut(this.slowFadeSpeed(), false);
} else {
this.startFadeOut(this.fadeSpeed(), false);
}
this._statusWindow.close();
this._partyCommandWindow.close();
this._actorCommandWindow.close();
$gameTemp.reserveCommonEvent(2);
}; |
Ce plugin va appeler l'event commun 1 (ligne 14) au démarrage d'un combat random et l'event commun 2 (ligne 29) à la fin. Tu me dis si ça correspond à ce que tu veux ! Modifie à ta convenance.
Améliorable bien sûr, mais je n'ai plus ....que ...5% de.... bat...terie...
|
Mwahahaha merci Gif pour le temps consacré ça fonctionne parfaitement t'es au top!!
ça commence à prendre forme !
Il me reste juste un mini problème désolé de vous embêter avec ça mais quand je vais dans le menu, le game pad reste affiché en arrière plan c'est vraiment très moche
Pareil pour le shop si le joueur ouvre le shop les images des boutons du gamepad reste en arrière plan
Il faut donc que je désactive le gamepad lorsque le menu et le shop sont ouverts
J'ai essayé de faire ça :
Donc l'ev.commun hide gamepad change l'opacité de toutes les images à 0 et réactive le touchscreen
Et l'ev.commun show gamepad remet l'opacité des images à 255 et désactive le touchscreen
là c'est sensé dire si le menu est ouvert on cache le game pad et on réactive le touch screen
là c'est sensé dire si le shop est ouvert on cache le game pad et on réactive le touch screen
là c'est sensé dire si le joueur retourne sur la map on réactive le gamepad et on désactive le touch screen :/
Mais ça ne change absolument rien :/
C'est où que je foire dans ces événements communs siouplait?
Merci encore en tout cas!!
|
gif -
posté le 29/08/2020 à 12:11:57 (4782 messages postés)
- | Egotrip Gigamaxé | En fait on pourrait faire quelque chose de plus simple : dès que tu quittes une map (pour aller dans un menu, un combat ou autre), tu désactives tes contrôles :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| //=============================================================================
// DetectEnterExitMap.js
//=============================================================================
/*:
* @plugindesc Detect when the party enter and exit the map
* @author Oniromancie "rpg-maker.fr"
*
* @help Ce plugin detecte l'entrée et la sortie d'une map
*/
Scene_Map.prototype.start = function() {
window.alert("go!")
this._active = true;
};
Scene_Map.prototype.stop = function() {
window.alert("bye!")
this._active = false;
}; |
Ca risque d'être un peu plus long de mêler events communs et code js (car les events communs ne peuvent pas se lancer dans les menus à la base).
C'est quoi ton code pour afficher / cacher tes contrôles ? On devrait pouvoir les intégrer à ce plugins.
|
Itch.io | Twitter | Une IA qui génère des sprites de Pokémon | Cochouchou à la coupe du monde ! | le concours hebdomadaire du meilleur screen ! |
MrHeimer -
posté le 29/08/2020 à 12:58:04 (73 messages postés)
| | gif a dit:
En fait on pourrait faire quelque chose de plus simple : dès que tu quittes une map (pour aller dans un menu, un combat ou autre), tu désactives tes contrôles :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| //=============================================================================
// DetectEnterExitMap.js
//=============================================================================
/*:
* @plugindesc Detect when the party enter and exit the map
* @author Oniromancie "rpg-maker.fr"
*
* @help Ce plugin detecte l'entrée et la sortie d'une map
*/
Scene_Map.prototype.start = function() {
window.alert("go!")
this._active = true;
};
Scene_Map.prototype.stop = function() {
window.alert("bye!")
this._active = false;
}; |
Ca risque d'être un peu plus long de mêler events communs et code js (car les events communs ne peuvent pas se lancer dans les menus à la base).
C'est quoi ton code pour afficher / cacher tes contrôles ? On devrait pouvoir les intégrer à ce plugins.
|
Ah d'accord merci c'est pour que ça marche pas dans les menus du coup ...
Alors j'ai réussi pour les shops hier soir par contre pour les menus je tourne vraiment en rond :/
C'est pas vraiment un code ça passe par un événement commun je screen ça :
ça c'est l’événement 18 il met à 0 l'opacité de toutes les images du gamepad (de l'image 1 à l'image 7) et réactive le touché écran:
ça c'est l'événement 19 il remet à 130 l'opacité de toutes les images du game pad ( 1 à 7) et désactive le touché écran :
Donc théoriquement ça donnerait ça : ?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| //=============================================================================
// DetectEnterExitMap.js
//=============================================================================
/*:
* @plugindesc Detect when the party enter and exit the map
* @author Oniromancie "rpg-maker.fr"
*
* @help Ce plugin detecte l'entrée et la sortie d'une map
*/
Scene_Map.prototype.start = function() {
window.alert("go!")
this._active = true;
$gameTemp.reserveCommonEvent(18);
};
Scene_Map.prototype.stop = function() {
window.alert("bye!")
this._active = false;
$gameTemp.reserveCommonEvent(19);
}; |
Donc là logiquement quand on entre dans une map ça désactive le gamepad et quand on sort de celle ci ça le réactive?
Donc après j'ai juste à laisser en permanence en exécution parallèle un événement sur chaque map qui active le show gamepad? ( vu que le menu est considéré comme une map à part entière apparemment donc il ne devrait donc pas se réactiver ^^ )
Je test ça en rentrant je dois aller au taff là merci Gif
Edit: jveins de tester là nop ça ne marche pas je dois mal m'y prendre pour insérer dans le script les événements communs le gamepad apparaît encore quand le menu est ouvert
|
gif -
posté le 30/08/2020 à 12:43:22 (4782 messages postés)
- | Egotrip Gigamaxé | Oui car l'event commun :
1
| $gameTemp.reserveCommonEvent(19); |
Ne se déclenche pas à l'entrée d'un menu, c'est normal (en fait tu demandes à ce qu'il soit appelé avec cette ligne de code, mais il ne sera réellement appelé que lorsque tu quitteras le menu).
Ce que je peux te proposer c'est transférer ton code d'event commun vers du code js pour que ça fonctionne.
Si j'ai le time, je fais ça cette aprèm'.
Edit :
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
| //=============================================================================
// ManageGamePad.js
//=============================================================================
/*:
* @plugindesc Activate and desactivate the gamepad during the game !
* @author Oniromancie "rpg-maker.fr"
*
* @help Ce plugin detecte l'entrée et la sortie d'une map pour activer et désactiver le gamepad
*/
// ---------------------------------------------------------------------------------------------
// overload the stop method to manage the gamepad
Scene_Map.prototype.oldStart = Scene_Map.prototype.start;
Scene_Map.prototype.start = function() {
// show the gamepad
showGamePad();
// Launch command module 'EnableTouchMove'
var myInterpreter = new Game_Interpreter()
myInterpreter.pluginCommand('EnableTouchMove', [])
// call the correct start methode
this.oldStart();
};
// ---------------------------------------------------------------------------------------------
// overload the stop method to manage the gamepad
Scene_Map.prototype.oldStop = Scene_Map.prototype.stop;
Scene_Map.prototype.stop = function() {
// hide the gamepad
hideGamePad();
// Launch command module 'DisableTouchMove'
var myInterpreter = new Game_Interpreter()
myInterpreter.pluginCommand('DisableTouchMove', [])
// call the correct stop methode
this.oldStop();
};
// ---------------------------------------------------------------------------------------------
// function which show a set of picture
function showGamePad() {
// set of picture to manipulate
var picIdList = [1, 2, 3, 4, 5, 6, 7];
// loop through picture and hide them
for (var i = 0; i < picIdList.length; i++) {
var pidId = picIdList[i];
var picture = $gameScreen.picture(pidId);
if (picture) {
// special treatment for the picture 6 (dashing control)
if (ConfigManager.alwaysDash && pidId == 6) {
picture._opacity = 180;
} else {
picture._opacity = 130;
}
}
}
};
// ---------------------------------------------------------------------------------------------
// function which hide a set of picture
function hideGamePad() {
// set of picture to manipulate
var picIdList = [1, 2, 3, 4, 5, 6, 7];
// loop through picture and hide them
for (let i = 0; i < picIdList.length; i++) {
var pidId = picIdList[i];
var picture = $gameScreen.picture(pidId);
if (picture) {
picture._opacity = 0;
}
}
}; |
Voila un plugin qui va cacher / afficher un set d'image selon si tu quittes ou arrives sur une map. Ca va aussi effectue la "commande de plugin" pour activer / désactiver le "TouchMove".
Ca marche comme tu veux ?
|
Itch.io | Twitter | Une IA qui génère des sprites de Pokémon | Cochouchou à la coupe du monde ! | le concours hebdomadaire du meilleur screen ! |
mrheimer -
posté le 30/08/2020 à 15:33:41 (73 messages postés)
| | gif a dit:
Oui car l'event commun :
1
| $gameTemp.reserveCommonEvent(19); |
Ne se déclenche pas à l'entrée d'un menu, c'est normal (en fait tu demandes à ce qu'il soit appelé avec cette ligne de code, mais il ne sera réellement appelé que lorsque tu quitteras le menu).
Ce que je peux te proposer c'est transférer ton code d'event commun vers du code js pour que ça fonctionne.
Si j'ai le time, je fais ça cette aprèm'.
Edit :
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
| //=============================================================================
// ManageGamePad.js
//=============================================================================
/*:
* @plugindesc Activate and desactivate the gamepad during the game !
* @author Oniromancie "rpg-maker.fr"
*
* @help Ce plugin detecte l'entrée et la sortie d'une map pour activer et désactiver le gamepad
*/
// ---------------------------------------------------------------------------------------------
// overload the stop method to manage the gamepad
Scene_Map.prototype.oldStart = Scene_Map.prototype.start;
Scene_Map.prototype.start = function() {
// show the gamepad
showGamePad();
// Launch command module 'EnableTouchMove'
var myInterpreter = new Game_Interpreter()
myInterpreter.pluginCommand('EnableTouchMove', [])
// call the correct start methode
this.oldStart();
};
// ---------------------------------------------------------------------------------------------
// overload the stop method to manage the gamepad
Scene_Map.prototype.oldStop = Scene_Map.prototype.stop;
Scene_Map.prototype.stop = function() {
// hide the gamepad
hideGamePad();
// Launch command module 'DisableTouchMove'
var myInterpreter = new Game_Interpreter()
myInterpreter.pluginCommand('DisableTouchMove', [])
// call the correct stop methode
this.oldStop();
};
// ---------------------------------------------------------------------------------------------
// function which show a set of picture
function showGamePad() {
// set of picture to manipulate
var picIdList = [1, 2, 3, 4, 5, 6, 7];
// loop through picture and hide them
for (var i = 0; i < picIdList.length; i++) {
var pidId = picIdList[i];
var picture = $gameScreen.picture(pidId);
if (picture) {
// special treatment for the picture 6 (dashing control)
if (ConfigManager.alwaysDash && pidId == 6) {
picture._opacity = 180;
} else {
picture._opacity = 130;
}
}
}
};
// ---------------------------------------------------------------------------------------------
// function which hide a set of picture
function hideGamePad() {
// set of picture to manipulate
var picIdList = [1, 2, 3, 4, 5, 6, 7];
// loop through picture and hide them
for (let i = 0; i < picIdList.length; i++) {
var pidId = picIdList[i];
var picture = $gameScreen.picture(pidId);
if (picture) {
picture._opacity = 0;
}
}
}; |
Voila un plugin qui va cacher / afficher un set d'image selon si tu quittes ou arrives sur une map. Ca va aussi effectue la "commande de plugin" pour activer / désactiver le "TouchMove".
Ca marche comme tu veux ?
|
Merci encore Gif j'espère que ça ne t'as pas pris trop de temps
Malheureusement non ça ne change rien quand j'ouvre le menu l'opacité des images du gamepad ne passent pas à 0
En tout cas ça m'a donné envie d'apprendre le JS cette histoire je vais m'y mettre dés aujourd'hui!!
Edit gif : J'ai modifié le code que tu cites car tu as répondu trop vite .
|
gif -
posté le 30/08/2020 à 15:42:53 (4782 messages postés)
- | Egotrip Gigamaxé | C'est peut être un bug (ça n'apparait pas chez moi, j'ai testé avec des ptites images bidons en haut-à-gauche de mon screen) :
J'ai essayé différentes choses : téléportation de map, combat, menu, ...
Ca marche assez bien, t'as essayé sur un projet vierge ?
C'est peut-être ma commande de module qui crash chez toi (je n'ai pas ton plugin "TouchPad").
Sinon met bien mon plugin tout en bas de la liste.
|
Itch.io | Twitter | Une IA qui génère des sprites de Pokémon | Cochouchou à la coupe du monde ! | le concours hebdomadaire du meilleur screen ! |
mrheimer -
posté le 30/08/2020 à 16:05:55 (73 messages postés)
| | gif a dit:
C'est peut être un bug (ça n'apparait pas chez moi, j'ai testé avec des ptites images bidons en haut-à-gauche de mon screen) :
J'ai essayé différentes choses : téléportation de map, combat, menu, ...
Ca marche assez bien, t'as essayé sur un projet vierge ?
C'est peut-être ma commande de module qui crash chez toi (je n'ai pas ton plugin "TouchPad").
Sinon met bien mon plugin tout en bas de la liste.
|
Hum même sur un projet vierge ça ne marche pas chez moi je dois me foirer quelque part :/
J'ai copié collé ton code dans notepad++
dans le type j'ai mis javascript file (.js, .jsm, .jsx, .ts, .tsx)
Je l'ai enregistré sous dans le bon dossier pour les pluggins
et j'ai rajouté à la fin du nom .js
|
gif -
posté le 30/08/2020 à 16:13:20 (4782 messages postés)
- | Egotrip Gigamaxé | Tu l'as ajouté au plugins dans l'éditeur j'imagine aussi ?
Au pire passe moi ton projet (héberge le temporairement sur mediafire), ça sera plus simple .
Soit la commande de module ne passe pas soit y'a une incompatibilité quelque part.
|
Itch.io | Twitter | Une IA qui génère des sprites de Pokémon | Cochouchou à la coupe du monde ! | le concours hebdomadaire du meilleur screen ! |
mrheimer -
posté le 30/08/2020 à 16:39:54 (73 messages postés)
| | gif a dit:
Tu l'as ajouté au plugins dans l'éditeur j'imagine aussi ?
Au pire passe moi ton projet (héberge le temporairement sur mediafire), ça sera plus simple .
Soit la commande de module ne passe pas soit y'a une incompatibilité quelque part.
|
Oui et c'est bien sur on et tout en bas de la liste :/
Je t'upload ça (17% c'est long avec ma connection )
|
gif -
posté le 30/08/2020 à 18:38:26 (4782 messages postés)
- | Egotrip Gigamaxé | Ok merci.
Bon bah chez moi ça marche, j'sais pas quoi te dire .
J'ai bien le GamePad qui fonctionne, apparait et disparait correctement (combat, menu, ...).
Tu n'as pas la dernière version du plugin que je t'ai écrite par contre (j'ai édité mon post cette aprèm'). J'ai également édité ton post qui cite le mien pour pas qu'il n'y ait pas de différence .
|
Itch.io | Twitter | Une IA qui génère des sprites de Pokémon | Cochouchou à la coupe du monde ! | le concours hebdomadaire du meilleur screen ! |
mrheimer -
posté le 30/08/2020 à 18:55:53 (73 messages postés)
| | gif a dit:
J'ai supprimé l'ancienne version du code pour la remplacer par le nouveau et ça me laisse toujours le gamepad en fond du menu
Pourquoi est-ce que ça fonctionne chez toi et pas sur mon pc ?
Je vais essayer de trouver d'où ça pourrait venir merci encore en tout cas Gif t'es au top ^^!!!!!!
|
mrheimer -
posté le 31/08/2020 à 13:20:35 (73 messages postés)
| | gif a dit:
Ouais tkt on va finir par trouver
|
J'espère
En tout cas ça vient pas des mes pilotes j'ai vérifiié tout est à jour^^
|
gif -
posté le 31/08/2020 à 13:32:32 (4782 messages postés)
- | Egotrip Gigamaxé | Le plugin n'est pas bien compliqué, tu comprends comment il fonctionne ? Ça peut t'aider a debugger que de savoir ce qu'il s'y passe .
En gros y'a 2 "methodes" (start/stop) qui sont rattachées à la "map" et 2 "procédures" (show/hide gamepad).
- "Start/stop" sont automatiquement appelées lorsque tu entres dans un map ou que tu la quittes.
- "Show/hide gamepad" sont respectivement appelées dans "start/stop" pour afficher/cacher des images.
Pour s'assurer que ces methodes sont bien exécutées, tu peux essayer cette version de debuggage :
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
| //=============================================================================
// ManageGamePad.js
//=============================================================================
/*:
* @plugindesc Activate and desactivate the gamepad during the game !
* @author Oniromancie "rpg-maker.fr"
*
* @help Ce plugin detecte l'entrée et la sortie d'une map pour activer et désactiver le gamepad
*/
// ---------------------------------------------------------------------------------------------
// overload the stop method to manage the gamepad
Scene_Map.prototype.oldStart = Scene_Map.prototype.start;
Scene_Map.prototype.start = function() {
window.alert("start");
// show the gamepad
showGamePad();
// Launch command module 'EnableTouchMove'
var myInterpreter = new Game_Interpreter()
myInterpreter.pluginCommand('EnableTouchMove', [])
// call the correct start methode
this.oldStart();
};
// ---------------------------------------------------------------------------------------------
// overload the stop method to manage the gamepad
Scene_Map.prototype.oldStop = Scene_Map.prototype.stop;
Scene_Map.prototype.stop = function() {
window.alert("stop");
// hide the gamepad
hideGamePad();
// Launch command module 'DisableTouchMove'
var myInterpreter = new Game_Interpreter()
myInterpreter.pluginCommand('DisableTouchMove', [])
// call the correct stop methode
this.oldStop();
};
// ---------------------------------------------------------------------------------------------
// function which show a set of picture
function showGamePad() {
window.alert("on affiche le gamepad");
// set of picture to manipulate
var picIdList = [1, 2, 3, 4, 5, 6, 7];
// loop through picture and hide them
for (var i = 0; i < picIdList.length; i++) {
var pidId = picIdList[i];
var picture = $gameScreen.picture(pidId);
if (picture) {
// special treatment for the picture 6 (dashing control)
if (ConfigManager.alwaysDash && pidId == 6) {
picture._opacity = 180;
} else {
picture._opacity = 130;
}
}
}
};
// ---------------------------------------------------------------------------------------------
// function which hide a set of picture
function hideGamePad() {
window.alert("on cache le gamepad");
// set of picture to manipulate
var picIdList = [1, 2, 3, 4, 5, 6, 7];
// loop through picture and hide them
for (let i = 0; i < picIdList.length; i++) {
var pidId = picIdList[i];
var picture = $gameScreen.picture(pidId);
if (picture) {
picture._opacity = 0;
}
}
}; |
J'ai juste ajouté des "window.alert();" au début de chaque methode/procédure pour verifier qu'elles s'exécutent bien.
Si cette version de debug fonctionne, tu auras des pop up a chaque fois que tu arrives sur une map ou quetu la quittes.
|
Itch.io | Twitter | Une IA qui génère des sprites de Pokémon | Cochouchou à la coupe du monde ! | le concours hebdomadaire du meilleur screen ! |
mrheimer -
posté le 31/08/2020 à 13:59:06 (73 messages postés)
| | gif a dit:
Le plugin n'est pas bien compliqué, tu comprends comment il fonctionne ? Ça peut t'aider a debugger que de savoir ce qu'il s'y passe .
En gros y'a 2 "methodes" (start/stop) qui sont rattachées à la "map" et 2 "procédures" (show/hide gamepad).
- "Start/stop" sont automatiquement appelées lorsque tu entres dans un map ou que tu la quittes.
- "Show/hide gamepad" sont respectivement appelées dans "start/stop" pour afficher/cacher des images.
Pour s'assurer que ces methodes sont bien exécutées, tu peux essayer cette version de debuggage :
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
| //=============================================================================
// ManageGamePad.js
//=============================================================================
/*:
* @plugindesc Activate and desactivate the gamepad during the game !
* @author Oniromancie "rpg-maker.fr"
*
* @help Ce plugin detecte l'entrée et la sortie d'une map pour activer et désactiver le gamepad
*/
// ---------------------------------------------------------------------------------------------
// overload the stop method to manage the gamepad
Scene_Map.prototype.oldStart = Scene_Map.prototype.start;
Scene_Map.prototype.start = function() {
window.alert("start");
// show the gamepad
showGamePad();
// Launch command module 'EnableTouchMove'
var myInterpreter = new Game_Interpreter()
myInterpreter.pluginCommand('EnableTouchMove', [])
// call the correct start methode
this.oldStart();
};
// ---------------------------------------------------------------------------------------------
// overload the stop method to manage the gamepad
Scene_Map.prototype.oldStop = Scene_Map.prototype.stop;
Scene_Map.prototype.stop = function() {
window.alert("stop");
// hide the gamepad
hideGamePad();
// Launch command module 'DisableTouchMove'
var myInterpreter = new Game_Interpreter()
myInterpreter.pluginCommand('DisableTouchMove', [])
// call the correct stop methode
this.oldStop();
};
// ---------------------------------------------------------------------------------------------
// function which show a set of picture
function showGamePad() {
window.alert("on affiche le gamepad");
// set of picture to manipulate
var picIdList = [1, 2, 3, 4, 5, 6, 7];
// loop through picture and hide them
for (var i = 0; i < picIdList.length; i++) {
var pidId = picIdList[i];
var picture = $gameScreen.picture(pidId);
if (picture) {
// special treatment for the picture 6 (dashing control)
if (ConfigManager.alwaysDash && pidId == 6) {
picture._opacity = 180;
} else {
picture._opacity = 130;
}
}
}
};
// ---------------------------------------------------------------------------------------------
// function which hide a set of picture
function hideGamePad() {
window.alert("on cache le gamepad");
// set of picture to manipulate
var picIdList = [1, 2, 3, 4, 5, 6, 7];
// loop through picture and hide them
for (let i = 0; i < picIdList.length; i++) {
var pidId = picIdList[i];
var picture = $gameScreen.picture(pidId);
if (picture) {
picture._opacity = 0;
}
}
}; |
J'ai juste ajouté des "window.alert();" au début de chaque methode/procédure pour verifier qu'elles s'exécutent bien.
Si cette version de debug fonctionne, tu auras des pop up a chaque fois que tu arrives sur une map ou quetu la quittes.
|
Non il ne se passe toujours strictement rien quand je test le gamepad est toujours présent dans le menu :/
Je ne pense pas que ça vienne de ton plugin vu qu'il marche chez toi dans tous les cas sur mon projet..
ça doit sûrement venir de mon ordinateur quelque chose doit interférer avec mais alors quoi ... je vais tester sur l'ordi de ma copine et au pire quand le jeu sera fini je l'exporterai depuis son ordi..
Merci encore Gif en tout cas !!
|
gif -
posté le 31/08/2020 à 14:11:10 (4782 messages postés)
- | Egotrip Gigamaxé | Ouais ok donc le plugins ne s'exécute pas en fait. Ok bonne chance .
RMMV doit y constater une erreur je pense. Je regarderai en detail ce weekend si possible.
|
Itch.io | Twitter | Une IA qui génère des sprites de Pokémon | Cochouchou à la coupe du monde ! | le concours hebdomadaire du meilleur screen ! |
mrheimer -
posté le 01/09/2020 à 14:28:55 (73 messages postés)
| | gif a dit:
Ouais ok donc le plugins ne s'exécute pas en fait. Ok bonne chance .
RMMV doit y constater une erreur je pense. Je regarderai en detail ce weekend si possible.
|
J'y comprends plus rien... j'ai strictement rien fait ce matin j'ai ouvert le projet et ça marche !!!
ça me met les messages quand je change de map et ça disparait bien!!
Merci Gif mwahahahahah!!!
( Par contre j'y comprends absolument rien pourquoi ça ne marchait pas hier ... ? )
Merci encore
|
Index du forum > Entraide > [RESOLU] [[RpgmakerMV]] GamePad pour Androïd
|
|
|