赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 1060 |
最后登录 | 2012-5-4 |
在线时间 | 0 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 0 小时
- 注册时间
- 2008-1-28
- 帖子
- 232
|
3楼
楼主 |
发表于 2008-3-20 19:43:36
|
只看该作者
天哪?
那你们原来的XP人物行走图是怎么自己绘制的啊?(在不用纸娃娃的情况下)
对了,
楼下的姐姐你的教程怎么不弄了啊?我是你最忠实的读者了。没有你我的脚本什么时候才能学会啊。
还有
- WIDTH = 640 #屏宽
- HEIGHT = 480 #屏高
- DELTA_WIDTH = (WIDTH - 544).abs
- DELTA_HEIGHT = (HEIGHT - 416).abs
- class Game_Map
- def calc_parallax_x(bitmap)
- if bitmap == nil
- return 0
- elsif @parallax_loop_x
- return @parallax_x / 16
- elsif loop_horizontal?
- return 0
- else
- w1 = bitmap.width - WIDTH
- w2 = @map.width * 32 - WIDTH
- if w1 <= 0 or w2 <= 0
- return 0
- else
- return @parallax_x * w1 / w2 / 8
- end
- end
- end
- end
- class Spriteset_Map
- def create_viewports
- @viewport1 = Viewport.new(0, 0, WIDTH, HEIGHT)
- @viewport2 = Viewport.new(0, 0, WIDTH, HEIGHT)
- @viewport3 = Viewport.new(0, 0, WIDTH, HEIGHT)
- @viewport2.z = 50
- @viewport3.z = 100
- end
- end
- class Spriteset_Battle
- def create_viewports
- @viewport1 = Viewport.new(0, 0, WIDTH, HEIGHT)
- @viewport2 = Viewport.new(0, 0, WIDTH, HEIGHT)
- @viewport3 = Viewport.new(0, 0, WIDTH, HEIGHT)
- @viewport2.z = 50
- @viewport3.z = 100
- end
- end
- class Game_Player < Game_Character
- CENTER_X = (WIDTH / 2 - 16) * 8 # 屏幕中央X坐标 * 8
- CENTER_Y = (HEIGHT / 2 - 16) * 8
- end
- class Sprite_Timer < Sprite
- def initialize(viewport)
- super(viewport)
- self.bitmap = Bitmap.new(88, 48)
- self.bitmap.font.name = "Arial"
- self.bitmap.font.size = 32
- self.x = WIDTH - self.bitmap.width
- self.y = 0
- self.z = 200
- update
- end
- end
- class Sprite_Base < Sprite
- def start_animation(animation, mirror = false)
- dispose_animation
- @animation = animation
- return if @animation == nil
- @animation_mirror = mirror
- @animation_duration = @animation.frame_max * 4 + 1
- load_animation_bitmap
- @animation_sprites = []
- if @animation.position != 3 or not @@animations.include?(animation)
- if @use_sprite
- for i in 0..15
- sprite = ::Sprite.new(viewport)
- sprite.visible = false
- @animation_sprites.push(sprite)
- end
- unless @@animations.include?(animation)
- @@animations.push(animation)
- end
- end
- end
- if @animation.position == 3
- if viewport == nil
- @animation_ox = WIDTH / 2
- @animation_oy = HEIGHT / 2
- else
- @animation_ox = viewport.rect.width / 2
- @animation_oy = viewport.rect.height / 2
- end
- else
- @animation_ox = x - ox + width / 2
- @animation_oy = y - oy + height / 2
- if @animation.position == 0
- @animation_oy -= height / 2
- elsif @animation.position == 2
- @animation_oy += height / 2
- end
- end
- end
- end
- class Window_Base < Window
- def x=(x)
- super(x + DELTA_WIDTH / 2)
- end
-
- def y=(y)
- super(y + DELTA_HEIGHT/ 2)
- end
- end
- class Scene_Battle < Scene_Base
- def create_info_viewport
- @info_viewport = Viewport.new(0, 288, WIDTH, HEIGHT)
- @info_viewport.z = 100
- @status_window = Window_BattleStatus.new
- @party_command_window = Window_PartyCommand.new
- @actor_command_window = Window_ActorCommand.new
- @status_window.viewport = @info_viewport
- @party_command_window.viewport = @info_viewport
- @actor_command_window.viewport = @info_viewport
- @status_window.x = 128
- @actor_command_window.x = 544
- @info_viewport.visible = false
- end
- end
- class Scene_Item < Scene_Base
- def start
- super
- create_menu_background
- @viewport = Viewport.new(0, 0, WIDTH, HEIGHT)
- @help_window = Window_Help.new
- @help_window.viewport = @viewport
- @item_window = Window_Item.new(0, 56, 544, 360)
- @item_window.help_window = @help_window
- @item_window.active = false
- @target_window = Window_MenuStatus.new(0, 0)
- hide_target_window
- end
-
- def show_target_window(right)
- @item_window.active = false
- width_remain = WIDTH - @target_window.width
- @target_window.x = right ? width_remain : 0
- @target_window.visible = true
- @target_window.active = true
- if right
- @viewport.rect.set(0, 0, width_remain, HEIGHT)
- @viewport.ox = 0
- else
- @viewport.rect.set(@target_window.width, 0, width_remain, HEIGHT)
- @viewport.ox = @target_window.width
- end
- end
-
- def hide_target_window
- @item_window.active = true
- @target_window.visible = false
- @target_window.active = false
- @viewport.rect.set(0, 0, WIDTH, HEIGHT)
- @viewport.ox = 0
- end
- end
- class Scene_Skill < Scene_Base
- def start
- super
- create_menu_background
- @actor = $game_party.members[@actor_index]
- @viewport = Viewport.new(0, 0, WIDTH, HEIGHT)
- @help_window = Window_Help.new
- @help_window.viewport = @viewport
- @status_window = Window_SkillStatus.new(0, 56, @actor)
- @status_window.viewport = @viewport
- @skill_window = Window_Skill.new(0, 112, 544, 304, @actor)
- @skill_window.viewport = @viewport
- @skill_window.help_window = @help_window
- @target_window = Window_MenuStatus.new(0, 0)
- hide_target_window
- end
-
- def show_target_window(right)
- @skill_window.active = false
- width_remain = WIDTH - @target_window.width
- @target_window.x = right ? width_remain : 0
- @target_window.visible = true
- @target_window.active = true
- if right
- @viewport.rect.set(0, 0, width_remain, HEIGHT)
- @viewport.ox = 0
- else
- @viewport.rect.set(@target_window.width, 0, width_remain, HEIGHT)
- @viewport.ox = @target_window.width
- end
- end
- def hide_target_window
- @skill_window.active = true
- @target_window.visible = false
- @target_window.active = false
- @viewport.rect.set(0, 0, WIDTH, HEIGHT)
- @viewport.ox = 0
- end
- end
复制代码
这个脚本我发现全屏之后,下面的图块是循环的。怎么办啊?而且屏幕在人物没走到下面就开始移动了,就好象是是把图放大了,可人物并不知道他的地图放大了,没等要走出屏幕就把屏幕跟随了。而且到最后多出的部分还是循环图块。(说的乱七八糟的能看懂么?) |
|