幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
楼主: caihou1

[原创]{自制游戏}E搞大学校园游戏

[复制链接]

121

主题

3186

帖子

2万

积分

管理员

お嬢様

Rank: 9Rank: 9Rank: 9

积分
22410
发表于 2004-11-15 17:18:17 | 显示全部楼层
以下是引用在2004-11-15 13:10:26的发言:
没有截图……


广告学基础.
回复 支持 反对

使用道具 举报

122

主题

3385

帖子

8590

积分

⑦老手

积分
8590
发表于 2004-11-15 18:23:27 | 显示全部楼层
1.系统图的透明色有问题
2.游戏一开始输入姓名的时候应该加一些中文进去
3.给伱推荐个RGSS的跟随的脚本.
# ▼▲▼ XRXS13. パーティ列車移動 ver.1.02 ▼▲▼
# by fukuyama
#
# Train_Actor
#
# fukuyama@alles.or.jp
#
#
module Train_Actor
# ●透明状態用スイッチ設定
# true だとスイッチ制御を行う
# TRANSPARENT_SWITCH = true
TRANSPARENT_SWITCH = false
# ●透明状態用スイッチ番号
# TRANSPARENT_SWITCH が true で、この番号のスイッチがONだと透明になる
TRANSPARENT_SWITCHES_INDEX = 20
# ●アクターの最大数
# 将来的に多人数パーティが出来るようになったら…
TRAIN_ACTOR_SIZE_MAX = 4
# 定数
#Input:OWN  = 2
#Input:EFT  = 4
#Input::RIGHT = 6
#Input::UP    = 8
DOWN_LEFT  = 1
DOWN_RIGHT = 3
UP_LEFT    = 7
UP_RIGHT   = 9
JUMP       = 5
class Game_Party_Actor < Game_Character
  def initialize
    super()
    @through = true
  end
  def setup(actor)
    # キャラクターのファイル名と色相を設定
    if actor != nil
      @character_name = actor.character_name
      @character_hue = actor.character_hue
    else
      @character_name = \"\"
      @character_hue = 0
    end
    # 不透明度と合成方法を初期化
    @opacity = 255
    @blend_type = 0
  end
  def screen_z(height = 0)
    if $game_player.x == @x and $game_player.y == @y
      return $game_player.screen_z(height) - 1
    end
    super(height)
  end
  #--------------------------------------------------------------------------
  # ● 下に移動
  #     turn_enabled : その場での向き変更を許可するフラグ
  #--------------------------------------------------------------------------
  def move_down(turn_enabled = true)
    # 下を向く
    if turn_enabled
      turn_down
    end
    # 通行可能な場合
    if passable?(@x, @y, Input:OWN)
      # 下を向く
      turn_down
      # 座標を更新
      @y += 1
    end
  end
  #--------------------------------------------------------------------------
  # ● 左に移動
  #     turn_enabled : その場での向き変更を許可するフラグ
  #--------------------------------------------------------------------------
  def move_left(turn_enabled = true)
    # 左を向く
    if turn_enabled
      turn_left
    end
    # 通行可能な場合
    if passable?(@x, @y, Input:EFT)
      # 左を向く
      turn_left
      # 座標を更新
      @x -= 1
    end
  end
  #--------------------------------------------------------------------------
  # ● 右に移動
  #     turn_enabled : その場での向き変更を許可するフラグ
  #--------------------------------------------------------------------------
  def move_right(turn_enabled = true)
    # 右を向く
    if turn_enabled
      turn_right
    end
    # 通行可能な場合
    if passable?(@x, @y, Input::RIGHT)
      # 右を向く
      turn_right
      # 座標を更新
      @x += 1
    end
  end
  #--------------------------------------------------------------------------
  # ● 上に移動
  #     turn_enabled : その場での向き変更を許可するフラグ
  #--------------------------------------------------------------------------
  def move_up(turn_enabled = true)
    # 上を向く
    if turn_enabled
      turn_up
    end
    # 通行可能な場合
    if passable?(@x, @y, Input::UP)
      # 上を向く
      turn_up
      # 座標を更新
      @y -= 1
    end
  end
  #--------------------------------------------------------------------------
  # ● 左下に移動
  #--------------------------------------------------------------------------
  def move_lower_left
    # 向き固定でない場合
    unless @direction_fix
      # 右向きだった場合は左を、上向きだった場合は下を向く
      @direction = (@direction == Input::RIGHT ? Input:EFT : @direction == Input::UP ? Input:OWN : @direction)
    end
    # 下→左、左→下 のどちらかのコースが通行可能な場合
    if (passable?(@x, @y, Input:OWN) and passable?(@x, @y + 1, Input:EFT)) or
       (passable?(@x, @y, Input:EFT) and passable?(@x - 1, @y, Input:OWN))
      # 座標を更新
      @x -= 1
      @y += 1
    end
  end
  #--------------------------------------------------------------------------
  # ● 右下に移動
  #--------------------------------------------------------------------------
  def move_lower_right
    # 向き固定でない場合
    unless @direction_fix
      # 左向きだった場合は右を、上向きだった場合は下を向く
      @direction = (@direction == Input:EFT ? Input::RIGHT : @direction == Input::UP ? Input:OWN : @direction)
    end
    # 下→右、右→下 のどちらかのコースが通行可能な場合
    if (passable?(@x, @y, Input:OWN) and passable?(@x, @y + 1, Input::RIGHT)) or
       (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input:OWN))
      # 座標を更新
      @x += 1
      @y += 1
    end
  end
  #--------------------------------------------------------------------------
  # ● 左上に移動
  #--------------------------------------------------------------------------
  def move_upper_left
    # 向き固定でない場合
    unless @direction_fix
      # 右向きだった場合は左を、下向きだった場合は上を向く
      @direction = (@direction == Input::RIGHT ? Input:EFT : @direction == Input:OWN ? Input::UP : @direction)
    end
    # 上→左、左→上 のどちらかのコースが通行可能な場合
    if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input:EFT)) or
       (passable?(@x, @y, Input:EFT) and passable?(@x - 1, @y, Input::UP))
      # 座標を更新
      @x -= 1
      @y -= 1
    end
  end
  #--------------------------------------------------------------------------
  # ● 右上に移動
  #--------------------------------------------------------------------------
  def move_upper_right
    # 向き固定でない場合
    unless @direction_fix
      # 左向きだった場合は右を、下向きだった場合は上を向く
      @direction = (@direction == Input:EFT ? Input::RIGHT : @direction == Input:OWN ? Input::UP : @direction)
    end
    # 上→右、右→上 のどちらかのコースが通行可能な場合
    if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
       (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
      # 座標を更新
      @x += 1
      @y -= 1
    end
  end
  attr_writer :move_speed
  attr_writer :step_anime
end
module Spriteset_Map_Module
  def setup_actor_character_sprites?
    return @setup_actor_character_sprites_flag != nil
  end
  def setup_actor_character_sprites(characters)
    if !setup_actor_character_sprites?
      index_game_player = 0
      @character_sprites.each_index do |i|
        if @character_sprites.character.instance_of?(Game_Player)
          index_game_player = i
          break
        end
      end
      for character in characters.reverse
        @character_sprites.unshift(
          Sprite_Character.new(@viewport1, character)
        )
      end
      @setup_actor_character_sprites_flag = true
    end
  end
end
module Scene_Map_Module
  def setup_actor_character_sprites(characters)
    @spriteset.setup_actor_character_sprites(characters)
  end
end
module Game_Party_Module
  def set_transparent_actors(transparent)
    @transparent = transparent
  end
  def setup_actor_character_sprites
    if @characters == nil
      @characters = []
      for i in 1 ... TRAIN_ACTOR_SIZE_MAX
        @characters.push(Game_Party_Actor.new)
      end
    end
    for i in 1 ... TRAIN_ACTOR_SIZE_MAX
      @characters[i - 1].setup(actors)
    end
    if $scene.class.method_defined?(\'setup_actor_character_sprites\')
      $scene.setup_actor_character_sprites(@characters)
    end
  end
  def update_party_actors
    setup_actor_character_sprites
    transparent = $game_player.transparent
    if transparent == false
      if TRANSPARENT_SWITCH
        transparent = $game_switches[TRANSPARENT_SWITCHES_INDEX]
      end
    end
    for character in @characters
      character.transparent = transparent
      character.move_speed = $game_player.move_speed
      character.step_anime = $game_player.step_anime
      character.update
    end
  end
  def moveto_party_actors( x, y )
    setup_actor_character_sprites
    for character in @characters
      character.moveto( x, y )
    end
    if @move_list == nil
      @move_list = []
    end
    move_list_setup
  end
  def move_party_actors
    if @move_list == nil
      @move_list = []
      move_list_setup
    end
    @move_list.each_index do |i|
      if @characters != nil
        case @move_list.type
          when Input::DOWN
            @characters.move_down(@move_list.args[0])
          when Input::LEFT
            @characters.move_left(@move_list.args[0])
          when Input::RIGHT
            @characters.move_right(@move_list.args[0])
          when Input::UP
            @characters.move_up(@move_list.args[0])
          when DOWN_LEFT
            @characters.move_lower_left
          when DOWN_RIGHT
            @characters.move_lower_right
          when UP_LEFT
            @characters.move_upper_left
          when UP_RIGHT
            @characters.move_upper_right
          when JUMP
            @characters.jump(@move_list.args[0],@move_list.args[1])
        end
      end
    end
  end
  class Move_List_Element
    def initialize(type,args)
      @type = type
      @args = args
    end
    def type() return @type end
    def args() return @args end
  end
  def move_list_setup
    for i in 0 .. TRAIN_ACTOR_SIZE_MAX
      @move_list = nil
    end
  end
  def add_move_list(type,*args)
    @move_list.unshift(Move_List_Element.new(type,args)).pop
  end
  def move_down_party_actors(turn_enabled = true)
    move_party_actors
    add_move_list(Input::DOWN,turn_enabled)
  end
  def move_left_party_actors(turn_enabled = true)
    move_party_actors
    add_move_list(Input::LEFT,turn_enabled)
  end
  def move_right_party_actors(turn_enabled = true)
    move_party_actors
    add_move_list(Input::RIGHT,turn_enabled)
  end
  def move_up_party_actors(turn_enabled = true)
    move_party_actors
    add_move_list(Input::UP,turn_enabled)
  end
  def move_lower_left_party_actors
    move_party_actors
    add_move_list(DOWN_LEFT)
  end
  def move_lower_right_party_actors
    move_party_actors
    add_move_list(DOWN_RIGHT)
  end
  def move_upper_left_party_actors
    move_party_actors
    add_move_list(UP_LEFT)
  end
  def move_upper_right_party_actors
    move_party_actors
    add_move_list(UP_RIGHT)
  end
  def jump_party_actors(x_plus, y_plus)
    move_party_actors
    add_move_list(JUMP,x_plus, y_plus)
  end
end
module Game_Player_Module
  def update
    $game_party.update_party_actors
    super
  end
  def moveto( x, y )
    $game_party.moveto_party_actors( x, y )
    super( x, y )
  end
  def move_down(turn_enabled = true)
    if passable?(@x, @y, Input::DOWN)
      $game_party.move_down_party_actors(turn_enabled)
    end
    super(turn_enabled)
  end
  def move_left(turn_enabled = true)
    if passable?(@x, @y, Input::LEFT)
      $game_party.move_left_party_actors(turn_enabled)
    end
    super(turn_enabled)
  end
  def move_right(turn_enabled = true)
    if passable?(@x, @y, Input::RIGHT)
      $game_party.move_right_party_actors(turn_enabled)
    end
    super(turn_enabled)
  end
  def move_up(turn_enabled = true)
    if passable?(@x, @y, Input::UP)
      $game_party.move_up_party_actors(turn_enabled)
    end
    super(turn_enabled)
  end
  def move_lower_left
    # 下→左、左→下 のどちらかのコースが通行可能な場合
    if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
       (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
      $game_party.move_lower_left_party_actors
    end
    super
  end
  def move_lower_right
    # 下→右、右→下 のどちらかのコースが通行可能な場合
    if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
       (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
      $game_party.move_lower_right_party_actors
    end
    super
  end
  def move_upper_left
    # 上→左、左→上 のどちらかのコースが通行可能な場合
    if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
       (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
      $game_party.move_upper_left_party_actors
    end
    super
  end
  def move_upper_right
    # 上→右、右→上 のどちらかのコースが通行可能な場合
    if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
       (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
      $game_party.move_upper_right_party_actors
    end
    super
  end
  def jump(x_plus, y_plus)
    # 新しい座標を計算
    new_x = @x + x_plus
    new_y = @y + y_plus
    # 加算値が (0,0) の場合か、ジャンプ先が通行可能な場合
    if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0)
      $game_party.jump_party_actors(x_plus, y_plus)
    end
    super(x_plus, y_plus)
  end
  
  attr_reader :move_speed
  attr_reader :step_anime
end
end # module Train_Actor
class Game_Party
  include Train_Actor::Game_Party_Module
end
class Game_Player
  include Train_Actor::Game_Player_Module
end
class Spriteset_Map
  include Train_Actor::Spriteset_Map_Module
end
class Scene_Map
  include Train_Actor::Scene_Map_Module
end
# Train_Actor

4.战斗加入真人配音的话,恶搞的效果就出来了.
5.道具太多太杂,技能也是.
6.剧情CG应该再多些,而且要搞笑一点的,可以的话,弄一点伱们学校的照片进去-_,-
7.男女主角居然是校草校花,行走图应该用PL一点的.
9.宿舍的床好BT,还是用单人的吧...还有,男生宿舍不够脏乱啊
10.NPC太少啦!!多增加一些,再配上恶搞的台词!
11.食堂的两个欧巴桑居然长得一模一样,Twins?
12.也是食堂的问题,最好做个招牌(改地图素材就行)写上今天的食物.食堂里边再弄多些苍蝇XD
13.学校里边应该弄得到处是垃圾,垃圾的素材自己想办法画吧.
14.怎么不见厕所呢?
15.那个南京的地图...楼主还是厚道点修改一下地图素材再画吧....
16.从学校的外部,更不分不清是建筑...而且五层的教学楼外边看只有1层,学校部分,
     我建议楼主还是用远景做个游标地图吧.(游标地图的制作RM2003有示例游戏的)
17.标题画面强烈要求楼主用学校的照片!!!!!!!!!!!
这些提议,有的纯粹是挑刺,有的则真的很希望楼主能采用.
以上
回复 支持 反对

使用道具 举报

18

主题

310

帖子

5876

积分

⑦老手

积分
5876
发表于 2004-11-15 19:51:34 | 显示全部楼层
???????
回复 支持 反对

使用道具 举报

4

主题

29

帖子

289

积分

③业余

积分
289
QQ
 楼主| 发表于 2004-11-15 20:02:30 | 显示全部楼层
第十二楼滴真是太好了!我还以为没有人能耐心看完呢!
最新计划:EXP全为0,改为降级系统。我很多同学说在浦口都学不到东西,水平下降。
素材什么的肯定是要改滴!这只是一个骨架子而已嘛!
回复 支持 反对

使用道具 举报

0

主题

33

帖子

619

积分

⑤进阶

♂≮潜水之王≯♂

积分
619
发表于 2004-11-15 21:25:22 | 显示全部楼层
哈哈很搞笑的游戏啊。只是平衡不行,一开始死了N次。。后来买了两个电蚊拍...才...
尤其那个机房做的很有意思,回想起大学的生活HOHO。
PS:我光打那个屋子里的欧八桑就赚了几万.....
.-. Love is...特别な / /Love is...捧げる /. /Love is...歴史が ) / / ( /\'\\/ ) / / ( / / ) / / ( /. / .`.\'. `\'``
回复 支持 反对

使用道具 举报

carol3 该用户已被删除
发表于 2004-11-16 09:47:11 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

4

主题

29

帖子

289

积分

③业余

积分
289
QQ
 楼主| 发表于 2004-11-16 21:38:45 | 显示全部楼层
^_^看来欧有必要作一个说明文档 附上欧的茄子照片
[em01][em01][em01][em01]
回复 支持 反对

使用道具 举报

6

主题

954

帖子

7602

积分

⑦老手

水妖王

积分
7602
QQ
发表于 2004-11-17 13:47:21 | 显示全部楼层
12楼的还真是厚道到不行~PF一下
回复 支持 反对

使用道具 举报

4

主题

29

帖子

289

积分

③业余

积分
289
QQ
 楼主| 发表于 2004-11-17 18:44:27 | 显示全部楼层
努力中......估计正式版12月份露面。
我同学昨天打的时候“献了两次血”,挂了,整个宿舍都回荡着她的狂笑声。然后她跟我说要学习用这个软件,我雇她做我的美工,因为她画的东西是非逻辑非线性的,正是我下一个游戏想要的效果!
回复 支持 反对

使用道具 举报

64

主题

782

帖子

9444

积分

⑦老手

花痴守护神

积分
9444
发表于 2004-11-17 20:09:38 | 显示全部楼层
不会下
老婆,你又犯花痴了……
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-18 10:25 , Processed in 0.011966 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表