RPG Maker VX/VXAce - La Communauté - v3
Le forum de la communauté francophone de making. News, entraide, ressources, venez nombreux!
Spécialisés dans RPG Maker VX et RPG Maker VXAce

AccueilPage d'accueilFAQRechercherS'enregistrerConnexion



Partager | 
 

 Credits [good and simple system]

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Dudu'
Hamstérophile
Hamstérophile


Nombre de messages: 2060
Age: 21
Capacités: bon
Distinction: Apprenti KGB-boy en avenir
[Coco' Smile]
Hamsterphile de service ^^
[Balby' le Fake]
Grand prof de la MA
[Skillo]
Ce grand programmateur, mon coeur, ma vie ! [Hamu']
Date d'inscription: 22/06/2009

MessageSujet: Credits [good and simple system]   Mar 29 Juin 2010 - 10:27

Map Credit (by Woratana)


Intro : Display credits full customisables on the map.

Screen :



script :

Code:
#===============================================================
# ● [VX] ◦ Map Credit ◦ □
#--------------------------------------------------------------
# ◦ by Woratana [woratana@hotmail.com]
# ◦ Thaiware RPG Maker Community
# ◦ Released on: 09/05/2008
# ◦ Version: 1.0
#----------------------------------------------------
# ◦ How to use:
# ** To start Credit, call script:
# $scene.credit.start
#
# ** To Stop and Clear Credit, call script:
# $scene.credit.terminate
#----------------------------------------------------
# ◦ Special Tags for Decorate Text:
# There are special tags that you can put in text to decorate that line
#
# You can also set default text decoration for all text in:
  #-------------------------------------
  # SETUP HEADER TEXT HERE
  #-------------------------------------
# for Header line (line that has tag <h>)
# &
  #-------------------------------------
  # SETUP CONTENT TEXT HERE
  #-------------------------------------
# for Normal line~
#-----------------------------------------------------
# ◦ >= Tag List <= ◦
# * These tags will only apply to the line it is in~
# * You cannot use opposite tags in same line. (e.g. <b> and </b>)
#
# <b> :mettre en gras
# </b> :No Bold Text

# <i> :Italic Text
# </i> :No Italic Text

# <center> :Align text to Center
# <left> :Align text to left
# <right> :Align text to right

# <h> :Make that line become Header line
#===========================================================================

#----------------------------------------
# Map Credit Main script \('w' )
#----------------------------------------
class Wora_Map_Credit

  BG_Image = 'credit_bg' # Background Image file name, image must be in folder 'Picture'
  # leave '' for no background
  BG_Image_Opacity = 255 # Background Opacity (0 - 255)
 
  Text_Begin_y = 416 # Use 0 - 416: Text will start in the screen
  # Use 416+: Text will start below the screen
 
  Text_Scroll_Speed = 1 # Higher this number = Faster
  Text_Scroll_Delay = 0 # Delay between each text move (0 for no delay)
  Text_Opacity = 220 # Text Opacity
  Text_Blend_Type = 0 # 0: Normal, 1: Add, 2: Subtraction
 
  Test_Text = 'I' # Text for test height,
  # Change to taller alphabet if height is not right~

#--------------------------
# Start Credit
#--------------------------
Credit= <<_MAP_CREDIT_

<h>créateur du scénario
Nom

<h>graphistes
Nom
Nom

<h>mappeurs
Nom
Nom

<h>scripteurs
Nom
Nom

<h>remerciements spéciaux
Nom
Nom
Nom

_MAP_CREDIT_
#--------------------------
# End Credit
#--------------------------
  #-------------------------------------
  # SETUP HEADER TEXT HERE
  #-------------------------------------
  def header_properties(bitmap)
    bitmap.font.name = 'Tahoma' # Text Font
    bitmap.font.color = Color.new(0, 0, 255, 255) # (Red, Green, Blue, Opacity)
    bitmap.font.size = 30 # Text size
    bitmap.font.bold = true # Bold Text? (true/false)
    bitmap.font.italic = false # Italic Text? (true/false)
    bitmap.font.shadow = true # Shadowed Text? (true/false)
    @text_outline = Color.new(0,0,0) # nil for no outline, Color.new(r,g,b) for outline
    @text_align = 1 # 0: Left, 1: Center, 2: Right
  end
 
  #-------------------------------------
  # SETUP CONTENT TEXT HERE
  #-------------------------------------
  def content_properties(bitmap)
    bitmap.font.name = 'Tahoma'
    bitmap.font.color = Color.new(255, 255, 255, 255)
    bitmap.font.size = 22
    bitmap.font.bold = true
    bitmap.font.italic = false
    bitmap.font.shadow = true
    @text_outline = nil
    @text_align = 1
  end
#-----------------------------------------------------------------------
# -END- MAP CREDIT script SETUP PART
#===========================================================================

  def initialize
    @started = false
  end
 
  # Delete credit if credit started
  def terminate
    if @started
      if @bg != nil
        @bg.bitmap.dispose
        @bg.dispose
      end
      @sprite.bitmap.dispose
      @sprite.dispose
      @started = false
    end
  end
 
  # Start Credit
  def start(text = Credit, bg = BG_Image)
    # Create Background Sprite
    if BG_Image != ''
      @bg = Sprite.new
      @bg.bitmap = Cache.picture(bg)
      @bg.opacity = BG_Image_Opacity
      @bg.z = 10000
    end
    # Create Text Sprite
    @sprite = Sprite.new
    @sprite.x = 0
    @sprite.y = 0
    @sprite.z = 10001
    @sprite.opacity = Text_Opacity
    @sprite.blend_type = Text_Blend_Type
    # Calculate Credit Height
    header_line = 0
    content_line = 0
    height = 0
    text = text.split(/\n/)
    text.each do |i|
      if i.include?('<h>'); header_line += 1
      else; content_line += 1
      end
    end
    @sprite.bitmap = Bitmap.new(1,1)
    # Test Header Properties
    header_properties(@sprite.bitmap)
    header_height = @sprite.bitmap.text_size(Test_Text).height
    height += ( header_line * ( header_height ) )
    # Test Content Properties
    content_properties(@sprite.bitmap)
    content_height = @sprite.bitmap.text_size(Test_Text).height
    height += ( content_line * ( content_height ) )
    @sprite.bitmap.dispose
    # Finished Test, Draw Text
    @sprite.bitmap = Bitmap.new(Graphics.width, Text_Begin_y + height + 32)
    content_x = 0
    content_y = Text_Begin_y
    text.each do |i|
     
      # Determine Special Tags
      if i.include?('<h>')
        i.sub!('<h>', '')
        header_properties(@sprite.bitmap)
        bitmap_height = header_height
      else
        content_properties(@sprite.bitmap)
        bitmap_height = content_height
      end
      # Bold Text
      if i.include?('<b>')
        i.sub!('<b>', ''); @sprite.font.bold = true
      elsif i.include?('</b>')
        i.sub!('</b>', ''); @sprite.font.bold = false
      end
      # Italic Text
      if i.include?('<i>')
        i.sub!('<i>', ''); @sprite.font.italic = true
      elsif i.include?('</i>')
        i.sub!('</i>', ''); @sprite.font.italic = false
      end
      # Align Text
      if i.include?('<center>')
        i.sub!('<center>', ''); @text_align = 1
      elsif i.include?('<left>')
        i.sub!('<left>', ''); @text_align = 0
      elsif i.include?('<right>')
        i.sub!('<right>', ''); @text_align = 2
      end
      if !@text_outline.nil? # Text Outline
        ori_color = @sprite.bitmap.font.color.clone
        @sprite.bitmap.font.color = @text_outline
        @sprite.bitmap.draw_text(content_x-1, content_y, @sprite.bitmap.width,
bitmap_height, i, @text_align)
        @sprite.bitmap.draw_text(content_x, content_y-1, @sprite.bitmap.width,
bitmap_height, i, @text_align)
        @sprite.bitmap.draw_text(content_x, content_y+1, @sprite.bitmap.width,
bitmap_height, i, @text_align)
        @sprite.bitmap.draw_text(content_x+1, content_y, @sprite.bitmap.width,
bitmap_height, i, @text_align)
        @sprite.bitmap.font.color = ori_color
      end
     
      # Draw Text
      @sprite.bitmap.draw_text(content_x, content_y, @sprite.bitmap.width,
bitmap_height, i, @text_align)
      content_y += bitmap_height
    end
    @delay = 0
    @started = true
  end
 
  # Update credit if credit started~
  def update
    if @started
      if @delay > 0
        @delay -= 1
        return
      else
        @sprite.oy += Text_Scroll_Speed
        @delay += Text_Scroll_Delay
      end
    end
  end
end

#----------------------------------------
# Plug Credit to Map >_> <_<~
#----------------------------------------
class Scene_Map < Scene_Base
  attr_reader :credit
  alias wor_mapcre_scemap_str start
  alias wor_mapcre_scemap_upd update
  alias wor_mapcre_scemap_ter terminate

  def start
    @credit = Wora_Map_Credit.new # Create Credit
    wor_mapcre_scemap_str
  end
 
  def update
    @credit.update # Update Credit
    wor_mapcre_scemap_upd
  end
 
  def terminate
    @credit.terminate # Dispose Credit
    wor_mapcre_scemap_ter
  end
end



Using :
=>Put the background picture in "pictures" with this name: "credit_bg"
=>Starting: this script call:
Code:
$scene.credit.start

=>Stopping: This script call:
Code:
$scene.credit.terminate
Revenir en haut Aller en bas
 

Credits [good and simple system]

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» Gagner des crédits avec les offres des partenaires d'imvu
» how to make a good presentation?
» World Boss Rules/System/Current Drops ( Updated 23/11/11 )
» [Trinity] Simple Quest Creator
» effet de lumière très simple avec gimp

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX/VXAce - La Communauté - v3 :: International forum-
Web Designers : Widowan, SD-Arius, Coco-Drift & Mist'

|
Forum gratuit | © phpBB | Forum gratuit d'entraide | Contact | Signaler un abus | Créer un forum