AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



Le Deal du moment : -30%
LEGO Icons 10318 – Le Concorde à ...
Voir le deal
139.99 €

Partagez
 

 Problème Script de Plateforme

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Eternal
Habitant Lv.6
Habitant Lv.6
Eternal


Masculin Age : 34
Inscrit le : 02/10/2008
Messages : 102

Problème Script de Plateforme Empty
MessageSujet: Problème Script de Plateforme   Problème Script de Plateforme Icon_minitimeLun 21 Fév 2011 - 13:13

Bonjour à tous,

J'ai un problème avec le script de plateforme ci-dessous :

Code:
# ▼▲▼ XRXS50. Action-Maps XC. ▼▲▼ built 033010
# by 桜雅 在土

#======================================================
# □ カスタマイズポイント
#======================================================
class XRXS50
#
# Action-Maps を稼動させるマップIDの配列
#
ENABLE_FULL_ACTY_MAPS = [1, 2 , 3 , 5 , 6 , 7 , 8 , 9 ,10 , 11 , 12 , 13]
#
# 「斜め降下」
#
ENABLE_SLIDE_DESCENT = true
#
# 向きジャンプ(true : 向いている方向へジャンプ。
# false : キーが押されている方向へジャンプ。
#
JUMP_AS_KEY = false
end
#======================================================
# ■ Game_Player
#======================================================
class Game_Player < Game_Character
#------------------------------------------------------
# ○ 公開インスタンス変数
#------------------------------------------------------
# 既存
attr_writer :direction_fix
attr_accessor :walk_anime
# 新規
attr_accessor :now_jumps
attr_writer :xrxs50_direction_sidefix
#------------------------------------------------------
# ○ 最大ジャンプ回数
#------------------------------------------------------
def max_jumps
return 1
end
#------------------------------------------------------
# ● 左を向く
#------------------------------------------------------
alias xrxs50_turn_left turn_left
def turn_left
if @xrxs50_direction_sidefix
@direction = 4
else
xrxs50_turn_left
end
end
#------------------------------------------------------
# ● 右を向く
#------------------------------------------------------
alias xrxs50_turn_right turn_right
def turn_right
if @xrxs50_direction_sidefix
@direction = 6
else
xrxs50_turn_right
end
end
end
#======================================================
# ■ Scene_Map
#======================================================
class Scene_Map
#------------------------------------------------------
# ● メイン処理
#------------------------------------------------------
alias xrxs50_main main
def main
# チェック
xrxs50_enable_check
# 呼び戻す
xrxs50_main
end
#------------------------------------------------------
# ● フレーム更新
#------------------------------------------------------
alias xrxs50_update update
def update
# 呼び戻す
xrxs50_update
# フレーム更新 (座標系更新
if @xrxs50_enable
update_coordinates
end
end
#------------------------------------------------------
# ○ フレーム更新 (座標系更新
#------------------------------------------------------
def update_coordinates
# if $game_player.passable?($game_player.x,$game_player.y,2)
if $game_player.passable?($game_player.x,$game_player.y+1)
unless $game_player.moving?
# if XRXS50::ENABLE_SLIDE_DESCENT and Input.press?(Input::RIGHT) and $game_player.passable?($game_player.x,$game_player.y+1,6)
if XRXS50::ENABLE_SLIDE_DESCENT and Input.press?(Input::RIGHT) and $game_player.passable?($game_player.x+0.5,$game_player.y+0.5)
$game_player.move_lower_right
# elsif XRXS50::ENABLE_SLIDE_DESCENT and Input.press?(Input::LEFT) and $game_player.passable?($game_player.x,$game_player.y+1,4)
elsif XRXS50::ENABLE_SLIDE_DESCENT and Input.press?(Input::LEFT) and $game_player.passable?($game_player.x-0.5,$game_player.y+0.5)
$game_player.move_lower_left
else
$game_player.move_down
end
end
else
$game_player.move_down
$game_player.walk_anime = true unless $game_player.walk_anime
$game_player.now_jumps = 0
if Input.trigger?(Input::X) and $game_player.now_jumps < $game_player.max_jumps
if XRXS50::JUMP_AS_KEY
direction = $game_player.direction == 6 ? -1 : 1
else
if Input.press?(Input::RIGHT)
direction = 2
elsif Input.press?(Input::LEFT)
direction = -2
else
direction = 0
end
end
$game_player.jump(direction, -2)
$game_player.now_jumps += 5
$game_player.walk_anime = false
end
end
end
#------------------------------------------------------
# ● プレイヤーの場所移動
#------------------------------------------------------
#alias xrxs50_transfer_player transfer_player
alias xrxs50_transfer_player update_transfer_player
def update_transfer_player
#def transfer_player
# 呼び戻す
xrxs50_transfer_player
# チェック
xrxs50_enable_check
end
#------------------------------------------------------
# ○ XRXS50 が稼動するか判定
#------------------------------------------------------
def xrxs50_enable_check
if XRXS50::ENABLE_FULL_ACTY_MAPS.include?($game_map.map_id)
$game_player.now_jumps = 0 if $game_player.now_jumps.nil?
@xrxs50_enable = true
$game_player.direction_fix = true
$game_player.xrxs50_direction_sidefix = true
else
@xrxs50_enable = false
$game_player.direction_fix = false
$game_player.xrxs50_direction_sidefix = false
end
end
end



Le problème étant le suivant :

Lorsque l'on appuie sur la touche de saut, le héros saute (logique) puis descend, jusque là on est tous d'accord. Petit soucis, il n'y a que la descente qui permet d'être "en diagonale" je m'explique, le héros saute en ligne droite et peut redescendre si on appuie sur la droite par exemple en diagonale. Il peut aussi sauter en diagonale si le héros est déjà en déplacement, problème, dès que le héros est "fixe" il ne peut sauter QUE en ligne droite. Ce que j'aimerais savoir, c'est quelle ligne de code je dois modifier (ou quelle manip je dois faire) pour que le héros puisse sauter en diagonale même en "position fixe", parce que ça fait un peu carré si vous voyez ce que je veux dire.

Si je n'ai pas été assez pércis, merci de me le préciser.

Merci d'Avance,

L. Eternal
Revenir en haut Aller en bas
 

Problème Script de Plateforme

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» Problème de saut avec script pour jeu de plateforme
» [Script] [Très Important] Problème avec script augmentation limite lvl
» Script pour jeu de Plateforme
» Script " Action-Maps" (plateforme)
» probleme script d'ajout de commande et script ATB

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Problèmes et Solutions :: Abandonné-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Cookies | Forum gratuit