Partagez
Aller en bas
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 28
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Torturons la fenetre de jeu... grace aux apis Empty Torturons la fenetre de jeu... grace aux apis

le Mar 1 Juil 2008 - 18:22
Bonjour a tous...
plein de scripts completement inutiles...mais je commence a avoir l'habitude:


Attention: fenetre de jeu, tu vas prendre cher Laughing

1) supprimer le cadre de la fenetre de jeu

permet de supprimer le cadre de la fenetre de jeu...
inconveniants: plus la croix pour quitter le jeu... genant...

remplacez votre script main par:
Code:
#==============================================================================
# ■ Main  par berka:  suppression du cadre de la fenetre...
#==============================================================================
#===============================================================
#                         
#                www.rpgmakervx-fr.com                                         
#     
#===============================================================
unless Font.exist?("UmePlus Gothic")
  print "UmePlus Gothic フォントが見つかりません。"
  exit
end
begin
  def handle
    title = "\0" * 256
    Win32API.new('kernel32', 'GetPrivateProfileString',%w(p p p p l p), 'l').call("Game", "Title", "", title, 256, ".//Game.ini")
    title.delete!("\0")
    return Win32API.new('user32', 'FindWindow', "p, p", 'i').call("RGSS Player", title)
  end
  Win32API.new("user32.dll", "SetWindowLong",['N','N','N'], 'N').call(handle,-16,0x00800000|0x10000000|0x00080000| 0x00040000)
  Graphics.freeze
  $scene = Scene_Title.new
  $scene.main while $scene != nil
  Graphics.transition(30)
rescue Errno::ENOENT
  filename = $!.message.sub("No such file or directory - ", "")
  print("ファイル #{filename} が見つかりません。")
end
notez que vous pouvez redimensionner la fenetre :



2) la rendre transparente...

remplacez main par
Code:
#==============================================================================
# ■ Main  par berka:  cadre de la fenetre... transparent
#==============================================================================
unless Font.exist?("UmePlus Gothic")
  print "UmePlus Gothic フォントが見つかりません。"
  exit
end
begin
  Transparence = 100 #entre 0 et 192: 0 totalement transparent
  def handle
    title = "\0" * 256
    Win32API.new('kernel32', 'GetPrivateProfileString',%w(p p p p l p), 'l').call("Game", "Title", "", title, 256, ".//Game.ini")
    title.delete!("\0")
    return Win32API.new('user32', 'FindWindow', "p, p", 'i').call("RGSS Player", title)
  end
  Getlong = Win32API.new("user32.dll", "GetWindowLong",['N','N'], 'N')
  Setlong = Win32API.new("user32.dll", "SetWindowLong",['N','N','N'], 'N')
  Setlong.call(handle,-20, Getlong.call(handle,-20) | 0x80000 )
  Win32API.new("user32.dll",'SetLayeredWindowAttributes','IIII','I').call(handle, 0xFF000000, Transparence, 3)
  Graphics.freeze
  $scene = Scene_Title.new
  $scene.main while $scene != nil
  Graphics.transition(30)
rescue Errno::ENOENT
  filename = $!.message.sub("No such file or directory - ", "")
  print("ファイル #{filename} が見つかりません。")
end

3) ouverture et fermeture en fondu

a placer au dessus de main:
Code:
def handle
    title = "\0" * 256
    Win32API.new('kernel32', 'GetPrivateProfileString',%w(p p p p l p), 'l').call("Game", "Title", "", title, 256, ".//Game.ini")
    title.delete!("\0")
    return Win32API.new('user32', 'FindWindow', "p, p", 'i').call("RGSS Player", title)
  end

SetWindowRgn=Win32API.new("user32", "SetWindowRgn", "ILI", "I")
CreateEllipticRgn=Win32API.new("gdi32","CreateRectRgn","IIII","L")
def ouvrir;for i in 0...544;SetWindowRgn.call(handle,CreateEllipticRgn.call(0,0,i+8,i+8), 1);end;end
def fermer;for i in 0...544;SetWindowRgn.call(handle,CreateEllipticRgn.call(0,0,544-i-8,416-i-8),1);end;exit;end
pour ouvrir:
dans main, juste apres begin, ajoutez:
ouvrir

pour fermer:
dans main apres $scene.main while $scene != nil ajoutez:
fermer if $scene.nil?


Dernière édition par berka le Mer 2 Juil 2008 - 11:43, édité 2 fois
Gummy
Gummy
Staffeux retraité

Nombre de messages : 2666
Age : 28
Localisation : Belgique
Distinction : Modérateur imprévisible

Papy Lolo' [Nabots Nimousse]


Date d'inscription : 27/01/2008

Torturons la fenetre de jeu... grace aux apis Empty Re: Torturons la fenetre de jeu... grace aux apis

le Mer 2 Juil 2008 - 10:43
Totalement gadget, mais pourquoi pas!

Moi j'dis merci et bravo berka. Wink
Mister Geek
Mister Geek
Staffeux retraité

Nombre de messages : 719
Age : 25
Localisation : Vosges
Distinction : aucune
Date d'inscription : 20/12/2007

Torturons la fenetre de jeu... grace aux apis Empty Re: Torturons la fenetre de jeu... grace aux apis

le Ven 4 Juil 2008 - 20:58
Idem peut-être facultatif, mais ce sont quelques astuces toujours pratiques :P

Merci Berka Wink
Contenu sponsorisé

Torturons la fenetre de jeu... grace aux apis Empty Re: Torturons la fenetre de jeu... grace aux apis

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum