LODM (L'Oasis des Makers)
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

LODM (L'Oasis des Makers)

Forum d'étude sur le Making RMXP
 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment : -39%
Ordinateur portable ASUS Chromebook Vibe CX34 Flip
Voir le deal
399 €

 

 [Alpha] Horloge

Aller en bas 
AuteurMessage
Corbaque
Chercheur



Nombre de messages : 10
Age : 33
Projet Principal : X-Shot II
Surnom : Lordryk
Date d'inscription : 11/03/2007

[Alpha] Horloge Empty
MessageSujet: [Alpha] Horloge   [Alpha] Horloge Icon_minitimeVen 30 Mar - 10:36

Un script que j'ai commencé hier, j'ai la flemme de finir ^^
C'est un travail d'optimisation, de commentation, et d'amélioration qu'il faut, mais le systême est déjà parfaitement stable, et déjà plutot joli.

Petit screen :
[Alpha] Horloge E4691ac172_tn

Et le script actuel :
Code:
#===================================
# Horloge
#---------------------------------------------------------------
# Créé par Corbaque
#---------------------------------------------------------------
# Version 0.8
#===================================
reveille = [21, 44]
#---------------------------------------------------------------
# Fond musicale
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# bgm("nom_sans_extension", volume*, tempo*)
#---------------------------------------------------------------
def bgm(n,v=100,p=100)
  # Ajoute le chemin de dossier s'il n'y est pas
  # déjà
  n = "Audio/BGM/"+ n if n[/Audio/] != "Audio"
  # Mise en mémoire
  $bgm = [n,v,p]
  # Joue le fond musicale
  Audio.bgm_play(n, v, p)
end
#---------------------------------------------------------------
# Effets sonores
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# se("nom_sans_extension", volume*, tempo*)
#---------------------------------------------------------------
def se(n,v=100,p=100)
  # Ajoute le chemin de dossier s'il n'y est pas
  # déjà
  n = "Audio/SE/"+ n if n[/Audio/] != "Audio"
  # Joue le fond musicale
  Audio.se_play(n, v, p)
end
$bgm = [nil, nil, nil]
class Vecteur
  attr_accessor :x
  attr_accessor :y
  attr_accessor :sens
  attr_accessor :norme
  def initialize(arg, sens=1)
    self.x = 0
    self.y = 0
    self.sens = sens
    self.x = arg[0]
    self.y = arg[1]
    self.norme = Math.hypot(x, y)
  end
  def draw(x, y, bitmap, color=Color.new(255,255,255))
    self.norme.to_i.times do |i|
      px = x + i * self.x / self.norme * self.sens
      py = y + i * self.y / self.norme * self.sens
      bitmap.set_pixel(px, py, color)
    end
  end
end
a = Vecteur.new([200, 0], 1)
f = Sprite.new
f.bitmap = Bitmap.new(640,480)
640.times do |x|
  480.times do |y|
    h = Math.hypot(x-320, y-240)
    if h < 200
      f.bitmap.set_pixel(x, y, Color.new(h, h, 200,h))
    else
      f.bitmap.set_pixel(x, y, Color.new(h, h,h))
    end
  end
end
f.bitmap.font.color = Color.new(0,0,0)
12.times do |i|
  x = Math.sin(i * Math::PI / 6 + Math::PI)
  y = Math.cos(i * Math::PI / 6 + Math::PI)
  f.bitmap.draw_text(305+x*180, 240+y*180-30, 30,60, (12-i).to_s, 1)
  55.times do |n|
    f.bitmap.set_pixel(x*(200+n)+320, y*(200+n)+240, Color.new(255, 255, 255))
  end
end
b = Sprite.new
b.bitmap = Bitmap.new(640,480)
b.bitmap.font.color = Color.new(0,0,0,120)
aiguille = []
3.times do |i|
  aiguille[i] = Sprite.new
  aiguille[i].bitmap = Bitmap.new(i * 50 + 100, 9)
  aiguille[i].bitmap.fill_rect(0, 3, i * 50 + 100, 1, Color.new(255,255,255, 155))
  aiguille[i].bitmap.fill_rect(0, 5, i * 50 + 100, 1, Color.new(255,255,255, 155))
  aiguille[i].bitmap.fill_rect(0, 4, i * 50 + 100, 1, Color.new(255,255,255))
  aiguille[i].oy = 5
  aiguille[i].x = 320
  aiguille[i].y = 240
end
seconde = 0
Graphics.frame_rate = 20
loop do
  Graphics.update
  mseconde = seconde
  seconde = Time.now.to_s[17,2].to_i
  minute = Time.now.to_s[14,2].to_i + seconde / 60.0
  heure = Time.now.to_s[11,2].to_i + minute / 60.0
  if mseconde != seconde
    Graphics.frame_count = 0
    if seconde % 2 == 0
      se("042-knock03")
    else
      se("043-knock04")
    end
  end
  if heure == reveille[0] and minute == reveille[1]
    bgm("004-Battle04") if $bgm[0] == nil
  else
    Audio.bgm_stop unless $bgm[0] == nil
  end
  b.bitmap.clear
  b.bitmap.font.size = 22
  b.bitmap.draw_text(15,0,640,50, Time.now.to_s[11,8] + "." + (Graphics.frame_count*0.5%10).to_i.to_s)
  b.bitmap.draw_text(15,430,640,50, "Alarme : " + reveille[0].to_s + "h" + reveille[1].to_s)
  b.bitmap.draw_text(-15,430,640,50, "© rpgmxp.ch", 2)
  b.bitmap.draw_text(-15,0,640,50, "Horologe", 2)
  b.bitmap.font.size = 10
  b.bitmap.draw_text(-15,20,640,50, "Script de Corbaque (Mars 2007)", 2)
  aiguille[2].angle = -seconde * 360 / 60.0 + 90
  aiguille[1].angle = -minute * 360 / 60.0 + 90
  aiguille[0].angle = -heure * 360 / 24.0 + 90
end

Voili voilou Wink
Revenir en haut Aller en bas
http://rpgmxp.ch
 
[Alpha] Horloge
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
LODM (L'Oasis des Makers) :: Groupe pour Scripts :: Outils pour Scripteur-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser