|
5.难度、版本显示 在左边状态栏上有所呈现即可,能让作者看着放心,玩家玩着舒心。
|
|
6.事件名称——dead 这个问题被一些人忽略,但很重要。我们说魔塔里可见的设置都是平等的,相同的墙不要有普通墙和暗墙的区别。同样相同的地板不要有正常地板和不能飞的地板的区别。 比如杀怪开机关门,杀完怪后远处某个地方放着的一个机关门开了。但这个机关门不是开完就算数,它是中心对称飞行器的一个落点,很重要的一个落点。这样就会少一条正常过关的路。 还有就是不可通行的事件,名称却是“dead”,也会造成一定影响。
|
|
这个问题比较麻烦,如果无实际用途可以不用,有需要的话可以看看公共事件- 每层的并行处理内容 和 事件结束的处理,里面有个41号变量记录了所有执行过的事件。 与这个问题相关的是样板自带的阻击bug,阻击背后有事件(执行过的事件),阻击怪就动不了了。 联合制塔时碰到了这样的问题,不过自己找到了一个解决办法:
|
|
▲●Game_Player 204行开始,“#夹击怪”以后、“#退敌怪”以前的一大段东西,把这段替换为: did=0 if $game_party.item_number($game_variables[120])<1#没有阻止退敌的物品时 for i in 0...$game_variables[119].size xx=($game_map.events[$game_variables[119][i]].x- $game_player.x).abs yy=($game_map.events[$game_variables[119][i]].y- $game_player.y).abs kx=$game_map.events[$game_variables[119][i]].x ky=$game_map.events[$game_variables[119][i]].y px=$game_player.x py=$game_player.y ee=$game_map.events[$game_variables[119][i]].event.name [6,3].to_i if (xx==1 and yy<1) or (xx<1 and yy==1) aa=$data_enemies[ee].name.split('/')[1].to_i $game_actors[$game_variables[1]+1].hp-=aa $game_player.animation_id=3#显示动画3 if $game_actors[$game_variables[1]+1].hp<=0 $game_variables[19]=1 $game_temp.common_event_id = 12#生命小于0,调用1号结局 else dx=(2*kx-px).to_i dy=(2*ky-py).to_i if $game_map.have_an_event?(dx,dy) == true did=$game_map.check_event(dx,dy) if $game_map.events[did].event.name == "dead" $game_map.events[did].event.x-=dx $game_map.events[did].event.y-=dy $game_map.events[did].erase if $movedevents.include?($game_map.map_id)==false $movedevents[$game_map.map_id]=[] end $movedevents[$game_map.map_id][did]=$game_map.he_at(did) else did=0 end end if py-ky>0 $game_map.events[$game_variables[119][i]].move_up end if ky-py>0 $game_map.events[$game_variables[119][i]].move_down end if px-kx>0 $game_map.events[$game_variables[119][i]].move_left end if kx-px>0 $game_map.events[$game_variables[119][i]].move_right end all=$game_map.events[$game_variables[119][i]].event.id if $movedevents.include?($game_map.map_id)==false $movedevents[$game_map.map_id]=[] end $movedevents[$game_map.map_id][all]=$game_map.he_at(all) if did !=0 $game_map.events[did].event.x+=kx $game_map.events[did].event.y+=ky $movedevents[$game_map.map_id][did]=[kx , ky] end end end end end#退敌怪
|
|
用到的就是“dead”的判定,可见这还是有作用的。 至于更复杂的,比如把阻击怪推到一个可能会发生剧情的位置,那么需要更复杂的设置,在此不展开。
|
|
7.BGM @cc928yreally 的BGM是有名的,因为听这个BGM后会觉得没动力拆塔。说明从玩家的角度,BGM很重要,支持振奋人心的高燃值的音乐或者有魔塔气氛的阴沉的音乐。 有人说,淡淡的音乐作为背景不也挺好的?在这里,淡淡的音乐可以用作调剂,不过总不能让玩家一直提不起精神吧…… 饭店放嘈杂的音乐可以加快顾客用餐速度,像这个就是音乐对行动的影响。
|
|
8.画面 细的东西不说,在什么地方就要像什么,在魔塔里就要像在魔塔里,在路上就要像在路上,在湖边就要像在湖边…… 然后是画面的感觉,不过分浮夸(对比度过低),也不过分鲜艳(饱和度过高)。对比度包括素材本身对比度和地板与事件的对比度。 善用各种图片处理工具,可以让画面变得更整洁美观。
|
|
9.零碎的效果(动画、SE等) 还是以适度为好,不堆砌,也不缺乏,让玩家从零碎的效果中保持清醒的头脑,明确自己在干什么。 我能想到的就是这么多,这篇就到这里吧~!
|
|
哦对,想起来个事儿,这不是脚本问题。 50层复刻的双倍攻击十字架在怪物伤害显示上有体现,那么,请看这段: 这是十字架,注意十字架的id是10,计算怪物伤害时需要用到十字架的id。
|
|
大约46行的时候加一段这个: @hate=0#仇恨伤害 $game_variables[198]=1.to_i #这是要添加的内容
@mhp=$game_actors[$game_variables[1]+1].hp#基础勇生命
|