Oniromancie: Scripts - Fullscreen++


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Forstale
Par Ødd Clock

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Lije
Par Gaetz

LoveMaster
Par Cuddlefox

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

Jeux: Monster World RPG / Jeux: Pif et Hercule / News: Mise à jour de RPG Maker 2003 / Tutos: Création de charset / Jeux: FAYLINAWA /

Chat  (57 connectés)

Bienvenue
visiteur !






publicité RPG Maker!

Statistiques

Liste des
membres


Contact

68 connectés actuellement

9254063 visiteurs
depuis l'ouverture

1346 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires




TOP
GAMEMAKING


Les 5 plus
visités

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Pixelandgame

Tashiroworld

HeyMakeGames

Au hasard

Jerdz

HeyMakeGames

Nebula-Académie

Les deux derniers

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs




Fullscreen++
Script pour RPG Maker VX
Ecrit par Zeus81

Petit script vite fait pour VX et VX Ace.

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# Fullscreen++ v1.0 by Zeus81
# Description :
#   Permet d'avoir un mode plein écran plus intelligent qui utilise un maximum
#   de la surface de l'écran tout en gardant le bon ratio.
#   Alt+Entreé utilise toujours l'ancien mode plein.
#   Pour utiliser ce nouveau mode plein écran appuyez sur F5.
#   Pour faire démarrer le jeu automatiquement en plein écran voir ligne 14.
# Méthodes :
#   Graphics.fullscreen?     : pour savoir si on est en mode plein écran ou pas.
#   Graphics.fullscreen_mode : passe en mode plein écran.
#   Graphics.windowed_mode   : passe en mode fenêtré.
#   Graphics.toggle_mode     : passe d'un mode à l'autre.
class << Graphics
  fullscreen_start = false # 'true' pour démarrer en plein écran sinon 'false'
  
  FindWindow       = Win32API.new('user32', 'FindWindow'      , 'pp'          , 'l')
  CreateWindowEx   = Win32API.new('user32', 'CreateWindowEx'  , 'lpplllllllll', 'l')
  UpdateWindow     = Win32API.new('user32', 'UpdateWindow'    , 'l'           , 'l')
  ShowWindow       = Win32API.new('user32', 'ShowWindow'      , 'll'          , 'l')
  SetWindowLong    = Win32API.new('user32', 'SetWindowLong'   , 'lll'         , 'l')
  SetWindowPos     = Win32API.new('user32', 'SetWindowPos'    , 'lllllll'     , 'l')
  GetSystemMetrics = Win32API.new('user32', 'GetSystemMetrics', 'l'           , 'l')
  GetDC            = Win32API.new('user32', 'GetDC'           , 'l'           , 'l')
  FillRect         = Win32API.new('user32', 'FillRect'        , 'lpl'         , 'l')
  CreateSolidBrush = Win32API.new('gdi32' , 'CreateSolidBrush', 'l'           , 'l')
  if first_start = !method_defined?(:zeus81_fullscreen_update)
    @@MainWindow = FindWindow.call('RGSS Player', 0)
    @@BackWindow = CreateWindowEx.call(0x08000008, 'Static', '', 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0)
    @@FillRectArgs = [GetDC.call(@@BackWindow), [0,0,0xFFFF,0xFFFF].pack('L4'), CreateSolidBrush.call(0)]
    @@fullscreen = false
    alias zeus81_fullscreen_resize_screen resize_screen
    alias zeus81_fullscreen_update        update
  end
  def update
    zeus81_fullscreen_update
    toggle_mode if Input.trigger?(Input::F5)
  end
  def resize_screen(width, height)
    zeus81_fullscreen_resize_screen(width, height)
    fullscreen_mode if fullscreen?
  end
  def fullscreen?() @@fullscreen end
  def toggle_mode() fullscreen? ? windowed_mode : fullscreen_mode end
  def fullscreen_mode
    client_w, client_h = GetSystemMetrics.call(0), GetSystemMetrics.call(1)
    w, h = client_w, client_w * height / width
    h, w = client_h, client_h * width / height if h > client_h
    ShowWindow.call(@@BackWindow, 3)
    UpdateWindow.call(@@BackWindow)
    FillRect.call(*@@FillRectArgs)
    SetWindowPos.call(@@MainWindow, -1, (client_w-w)/2, (client_h-h)/2, w, h, 0)
    SetWindowLong.call(@@MainWindow, -16, 0x14000000)
    @@fullscreen = true
  end
  def windowed_mode
    client_w, client_h = GetSystemMetrics.call(0), GetSystemMetrics.call(1)
    w = width + (GetSystemMetrics.call(5)+2)*2
    h = height + (GetSystemMetrics.call(6)+2)*2 + GetSystemMetrics.call(4)
    ShowWindow.call(@@BackWindow, 0)
    SetWindowPos.call(@@MainWindow, -2, (client_w-w)/2, (client_h-h)/2, w, h, 0)
    SetWindowLong.call(@@MainWindow, -16, 0x14CA0000)
    @@fullscreen = false
  end
  Graphics.fullscreen_mode if first_start and fullscreen_start
end




Mack - posté le 05/02/2012 à 13:15:05. (1769 messages postés)

Super ce script !
Par contre c'est possible de changer la taille lors du plein écran ?
( Comme de base je joue en 272/208, ça me multiplie par 4 et non par 2. )

( Je prend note de tout les commentaires, même si je n'y répond pas )


Zeus81 - posté le 05/02/2012 à 14:02:51. (11072 messages postés)

Ça multiplie pas par deux ni par quatre ça étire autant que possible selon la résolution donc ça varie chez les gens.
Mais si tu veux tu peux mettre une limite ligne 48 :
w, h = width*2, height*2 if h > height*2


Mack - posté le 05/02/2012 à 14:18:53. (1769 messages postés)

Ah, effectivement, merci bien =P.

( Je prend note de tout les commentaires, même si je n'y répond pas )


Tinky - posté le 07/02/2012 à 16:00:03. (33 messages postés)

Vieil acariâtre.

Cependant la taille ne peut pas dépasser les 640*480, si ?
Si c'est le cas, je suis preneur, mais on m'a toujours dit que c'était impossible.
En fait, ça zoome (étire) l'écran ?

Désolé de ne pas avoir tout capté :p


Zeus81 - posté le 07/02/2012 à 16:05:27. (11072 messages postés)

Ce script change pas la résolution du jeu, c'est juste un mode plein écran, après si VX peut pas aller au delà de 640x480 qu'est ce que j'y peux ?


Tinky - posté le 07/02/2012 à 16:24:36. (33 messages postés)

Vieil acariâtre.

Ok, je comprends mieux !
Merci de la réponse, bonne journée :)


XxRamisxX - posté le 25/08/2012 à 15:37:48. (5 messages postés)

Pour moi il fonctionne nikel mais la jeu est accelerer en mode plein ecran, que faire? :sriden


Zeus81 - posté le 25/08/2012 à 17:07:36. (11072 messages postés)

Le jeu est accéléré ?
Peut être que t'utilises un autre script qui permet de faire ça avec la touche F5, non ?

Mise à jour.
Log Change :
- fonctionne mieux par rapport au mode plein écran par défaut.
- on peut désactiver le mode plein écran par défaut.
- on peut changer le ratio de la fenêtre en appuyant sur F6.
- la configuration est sauvegardée dans le Game.ini.
Script : http://pastebin.com/kc1hzBek

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

Plan du site:

Activité: Accueil | News | Forum | Flash-news | Chat | Commentaires | Galerie | Screen de la semaine | Sorties | Articles perso | Livre d'or | Recherche
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Rubriques: Le Wiki | Collection Oniro | Tutoriaux | Scripts | Guides | Gaming-Live | Tests | Making-of | Interviews | Articles perso | OST | L'Annuaire | Divers | Palmarès
Hébergés: Aëdemphia | Fighting Robots Quest | Forstale | Geex | Inexistence | La Légende d'Ibabou | Lije | LoveMaster | Sarcia | Super Mario RPG - Lost Souls
Ressources: Jeux | Programmes | Packs de ressources | Midis | Eléments séparés | Sprites
RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis