Advertisement
polectron

Untitled

Mar 29th, 2017
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 6.82 KB | None | 0 0
  1. #===============================================================================
  2. # € Simple Map Clock by KleinStudio
  3. #===============================================================================
  4. # Positions
  5. #===============================================================================
  6. # Clock
  7. CLOCKX=0
  8. CLOCKY=740
  9.  
  10. # Menu button
  11. MENUX=30
  12. MENUY=680
  13.  
  14. # Debug
  15. DEBUGX=360
  16. DEBUGY=680
  17. #===============================================================================
  18.  
  19. FADEIN=0
  20. FADEOUT=1
  21.  
  22. class Scene_Map
  23.  
  24.   alias _sceneMiniUpdate miniupdate
  25.  
  26.   def miniupdate
  27.     _sceneMiniUpdate
  28.     updateClockmini if @clockrendered
  29.   end
  30.  
  31.   def createSpritesets
  32.     @spritesets={}
  33.     clockRender if $Trainer
  34.     for map in $MapFactory.maps
  35.      @spritesets[map.map_id]=Spriteset_Map.new(map)
  36.     end
  37.     $MapFactory.setSceneStarted(self)
  38.     updateSpritesets
  39.   end
  40.  
  41.   def disposeSpritesets
  42.    return if !@spritesets
  43.     clockDispose if @clockrendered
  44.     for i in @spritesets.keys
  45.       if @spritesets[i]
  46.         @spritesets[i].dispose
  47.         @spritesets[i]=nil
  48.       end
  49.     end
  50.     @spritesets.clear
  51.     @spritesets={}
  52.   end
  53.  
  54.  
  55.   def main
  56.     createSpritesets    
  57.     Graphics.transition
  58.     loop do
  59.       Graphics.update
  60.       Input.update
  61.       update
  62.       clockUpdate if @clockrendered
  63.      if $scene != self
  64.         break
  65.       end
  66.     end
  67.     Graphics.freeze
  68.     disposeSpritesets
  69.     if $game_temp.to_title
  70.       Graphics.transition
  71.       Graphics.freeze
  72.     end
  73.   end
  74.  
  75.  
  76.   def clockRender
  77.     @sprites= {}
  78.     @fade=false
  79.    
  80.     @sprites["bg"]=Sprite.new(@viewport)
  81.     @sprites["bg"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/Clock/clockbg")
  82.     @sprites["bg"].y=400
  83.    
  84.     @sprites["clock"]=Sprite.new(@viewport)
  85.     @sprites["clock"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/Clock/clockback")
  86.     @sprites["clock"].x=CLOCKX
  87.     @sprites["clock"].y=CLOCKY
  88.     @sprites["clock"].opacity=240
  89.  
  90.     @sprites["menu"]=Sprite.new(@viewport)
  91.     @sprites["menu"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/Clock/clockmenu")
  92.     @sprites["menu"].x=MENUX
  93.     @sprites["menu"].y=MENUY
  94.     @sprites["menu"].opacity=240
  95.     @sprites["menu"].visible=!($game_system.menu_disabled)
  96.  
  97. #============================ICONOS================================================
  98.     for i in 0...$Trainer.party.length
  99.       if i > 0
  100.         @coordenada_x+=80
  101.       else
  102.         @coordenada_x=0
  103.       end
  104.       @sprites["pkm#{i}"]=PokemonIconSprite.new($Trainer.party[i],@viewport)
  105.       @sprites["pkm#{i}"].x=30+@coordenada_x
  106.       @sprites["pkm#{i}"].y=420
  107.     end  
  108. #============================ICONOS================================================    
  109.     if $DEBUG
  110.     @sprites["debug"]=Sprite.new(@viewport)
  111.     @sprites["debug"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/Clock/clockdebug")
  112.     @sprites["debug"].x=DEBUGX
  113.     @sprites["debug"].y=DEBUGY
  114.     @sprites["debug"].opacity=240
  115.     end
  116.    
  117.     @oldhour=Time.now.hour
  118.     @oldmin=Time.now.min
  119.    
  120.     @hour=sprintf("%02d",Time.now.hour)
  121.     @hour0=@hour[0,1].to_i
  122.     @hour1=@hour[1,2].to_i
  123.     @min=sprintf("%02d",Time.now.min)
  124.     @min0=@min[0,1].to_i
  125.     @min1=@min[1,2].to_i
  126.  
  127.     clockbitmap=BitmapCache.load_bitmap("Graphics/Pictures/Clock/clocknum")
  128.     @clockw=clockbitmap.width
  129.     @clockh=clockbitmap.height/10
  130.  
  131.     @sprites["hour0"]=IconSprite.new(CLOCKX+7,CLOCKY+10,@viewport)
  132.     @sprites["hour0"].bitmap=clockbitmap.clone
  133.     @sprites["hour0"].src_rect.set(0,@clockh*@hour0,@clockw,@clockh)
  134.     @sprites["hour1"]=IconSprite.new(CLOCKX+21,CLOCKY+10,@viewport)
  135.     @sprites["hour1"].bitmap=clockbitmap.clone
  136.     @sprites["hour1"].src_rect.set(0,@clockh*@hour1,@clockw,@clockh)
  137.    
  138.     @sprites["min0"]=IconSprite.new(CLOCKX+46,CLOCKY+10,@viewport)
  139.     @sprites["min0"].bitmap=clockbitmap.clone
  140.     @sprites["min0"].src_rect.set(0,@clockh*@min0,@clockw,@clockh)
  141.     @sprites["min1"]=IconSprite.new(CLOCKX+62,CLOCKY+10,@viewport)
  142.     @sprites["min1"].bitmap=clockbitmap.clone
  143.     @sprites["min1"].src_rect.set(0,@clockh*@min1,@clockw,@clockh)
  144.    
  145.     @sprites["black"]=Sprite.new(@viewport)
  146.     @sprites["black"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/blackscreen")
  147.     @sprites["black"].y=400
  148.     @sprites["black"].visible=false
  149.     @sprites["black"].opacity=150
  150.    
  151.  
  152.     $CLOCKBLACK=@sprites["black"]
  153.     @clockrendered=true
  154.   end
  155.  
  156.   def clockToneScreen(value)
  157.     @clocktonescreen=value
  158.   end
  159.  
  160.   def clockDispose
  161.     pbDisposeSpriteHash(@sprites)
  162.   end
  163.  
  164.   def clockUpdate    
  165.     if !$game_system.map_interpreter.running? or !$game_temp.message_window_showing
  166.       enableClock
  167.     end
  168.    
  169.      updateHour
  170.      if $mouse.leftClick?(@sprites["menu"]) && !clockDisabled?
  171.       unless pbMapInterpreterRunning? or $game_system.menu_disabled or $game_player.moving?
  172.         clockButtonAnim(@sprites["menu"])
  173.         $game_temp.menu_calling = true
  174.         $game_temp.menu_beep = true
  175.       end
  176.     end
  177.      
  178.     if $DEBUG && !clockDisabled?
  179.      if $mouse.leftClick?(@sprites["debug"])
  180.         clockButtonAnim(@sprites["debug"])
  181.         pbFadeOutIn(99999) {
  182.            pbDebugMenu
  183.         }
  184.      end
  185.    end
  186.    
  187.   end
  188.  
  189.   def updateClockmini
  190.     updateHour
  191.     updateIcons
  192.   end
  193.  
  194.   def updateIcons
  195.     for i in 0...$Trainer.party.length
  196.       if i > 0
  197.         @coordenada_x+=80
  198.       else
  199.         @coordenada_x=0
  200.       end
  201.       @sprites["pkm#{i}"]=PokemonIconSprite.new($Trainer.party[i],@viewport)
  202.       @sprites["pkm#{i}"].x=30+@coordenada_x
  203.       @sprites["pkm#{i}"].y=420
  204.     end  
  205.   end
  206.  
  207.   def updateHour
  208.       if $game_system.map_interpreter.running? or $game_temp.message_window_showing
  209.       disableClock
  210.       end
  211.    
  212.       if Time.now.hour!=@oldhour
  213.        @hour=sprintf("%02d",Time.now.hour)
  214.        @hour0=@hour[0,1].to_i
  215.        @hour1=@hour[1,2].to_i
  216.        @sprites["hour0"].src_rect.set(0,@clockh*@hour0,@clockw,@clockh)
  217.        @sprites["hour1"].src_rect.set(0,@clockh*@hour1,@clockw,@clockh)
  218.      end
  219.     if Time.now.min!=@oldmin
  220.        @min=sprintf("%02d",Time.now.min)
  221.        @min0=@min[0,1].to_i
  222.        @min1=@min[1,2].to_i
  223.        @sprites["min0"].src_rect.set(0,@clockh*@min0,@clockw,@clockh)
  224.        @sprites["min1"].src_rect.set(0,@clockh*@min1,@clockw,@clockh)
  225.      end
  226.   end
  227.  
  228. end
  229.  
  230. def pbDoorTone1(tone=Tone.new(-255,-255,-255,0),duration=6)
  231.   $game_screen.start_tone_change(tone,duration * 2)
  232.   for picture in $game_screen.pictures
  233.     picture.start_tone_change(tone,duration * 2) if picture
  234.   end
  235.   #$scene.clockToneScreen(FADEIN)
  236. end
  237.  
  238. def pbDoorTone2(tone=Tone.new(0,0,0,0),duration=6)
  239.   $game_screen.start_tone_change(tone,duration * 2)
  240.   for picture in $game_screen.pictures
  241.     picture.start_tone_change(tone,duration * 2) if picture
  242.   end
  243.   #$scene.clockToneScreen(FADEOUT)
  244. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement