|
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#基礎勇生命
|