Jeux des Membres
- Jeux d'Aventures Courts (28)
- Jeux d'Aventures Longs (16)
- Jeux de Gestion (4)
- Jeux de Réflexion (15)
- Jeux de Rôles (6)
- nouveautés (5)
- Pleins feux sur le projet... (1)
Présentations des Jeux
Fourni par Blogger.
Tutos : LES BASES
Tutos : LE SCRIPT
mardi 17 avril 2012
Un petit bout de code pour AGS personnalisé avec l'aide de quelques ingénieux membres du forum tasse-bleue
Fonction mouse
Mode special qui permet :
-Click gauche = walkto + interract si objet/hotspot + talkto si character
-click droit = Look at (hotspot/objet/character)
(un systeme proche du game play du jeu Resonance)
Code :
function on_mouse_click(MouseButton button) {
// called when a mouse button is clicked. button is either LEFT or RIGHT
if (IsGamePaused() == 1) {
// Game is paused, so do nothing (ie. don't allow mouse click)
}
else if (button == eMouseLeft) {
ginfo.Visible=false;
if (player.ActiveInventory == null) {
Mouse.EnableMode(eModeUseinv);
mouse.Mode= eModeInteract ;
mouse.ChangeModeGraphic (eModeInteract, 1368);
ProcessClick(mouse.x, mouse.y, mouse.Mode ); }
if(GetLocationType(mouse.x, mouse.y)==eLocationHotspot){
mouse.Mode = (eModeWalkto);
}
if(GetLocationType(mouse.x, mouse.y)==eLocationCharacter){
mouse.Mode = (eModeTalkto);
}
if(GetLocationType(mouse.x, mouse.y)==eLocationObject){
mouse.Mode = (eModeUseinv);
}
else if (player.ActiveInventory != null) {
ProcessClick(mouse.x, mouse.y, eModeUseinv); }
else mouse.ChangeModeGraphic (eModeWalkto, 85) ;
ProcessClick(mouse.x, mouse.y, eModeWalkto);
}
if (mouse.Mode == eModeUseinv) {
player.ActiveInventory = inventory[game.inv_activated];
if (button == eMouseRight){
player.ActiveInventory = null; // lose active inventory item
mouse.Mode=eModeInteract;
}
if (button == eMouseLeft) ProcessClick(mouse.x, mouse.y, eModeUseinv);
}
else if (button == eMouseRight){
ginfo.Visible=false;
mouse.Mode = eModeLookat ;
mouse.ChangeModeGraphic (eModeLookat, 183);
ProcessClick(mouse.x, mouse.y, mouse.Mode );
if(GetLocationType(mouse.x, mouse.y)==eLocationHotspot){
mouse.Mode = (eModeLookat);
}
if(GetLocationType(mouse.x, mouse.y)==eLocationCharacter){
mouse.Mode = (eModeLookat);
}
if(GetLocationType(mouse.x, mouse.y)==eLocationObject){
mouse.Mode = (eModeLookat);
}
else if (player.ActiveInventory != null) {
ProcessClick(mouse.x, mouse.y, eModeUseinv); }
else mouse.ChangeModeGraphic (eModeWalkto, 85) ;
ProcessClick(mouse.x, mouse.y, eModeWalkto);
}
else mouse.Mode = (eModeInteract);
}
Libellés :
code
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire