加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
hi, 各位RM开发者
小弟正在写一个功能——玩家吃巧克力,体重上升,角色变胖
目前的实现是通过下面代码完成的:
function playerGetWeightProcess( ) {
var sprites = SceneManager._scene._spriteset._characterSprites;
// 寻找玩家角色的精灵
var playerSprite = sprites.find ( function ( sprite) {
return sprite._character === $gamePlayer;
} ) ;
if ( $gameActors._data[ 1 ] .luk >= 100 ) {
$gamePlayer.setMoveSpeed ( 2 ) ;
playerSprite.scale ._x = 3
playerWeightLevel = 3 ;
} else if ( $gameActors._data[ 1 ] .luk >= 80 ) {
$gamePlayer.setMoveSpeed ( 3 ) ;
playerSprite.scale ._x = 2
playerWeightLevel = 2 ;
} else if ( $gameActors._data[ 1 ] .luk >= 60 ) {
$gamePlayer.setMoveSpeed ( 4 ) ;
playerSprite.scale ._x = 1
playerWeightLevel = 1 ;
}
}
function playerGetWeightProcess( ) {
var sprites = SceneManager._scene._spriteset._characterSprites;
// 寻找玩家角色的精灵
var playerSprite = sprites.find ( function ( sprite) {
return sprite._character === $gamePlayer;
} ) ;
if ( $gameActors._data[ 1 ] .luk >= 100 ) {
$gamePlayer.setMoveSpeed ( 2 ) ;
playerSprite.scale ._x = 3
playerWeightLevel = 3 ;
} else if ( $gameActors._data[ 1 ] .luk >= 80 ) {
$gamePlayer.setMoveSpeed ( 3 ) ;
playerSprite.scale ._x = 2
playerWeightLevel = 2 ;
} else if ( $gameActors._data[ 1 ] .luk >= 60 ) {
$gamePlayer.setMoveSpeed ( 4 ) ;
playerSprite.scale ._x = 1
playerWeightLevel = 1 ;
}
}
我有2个问题:
- 如何高效的获取$gamePlayer的sprite?我目前的实现方式是遍历了全地图,感觉很浪费
- 如何手动更新变化后的sprite?目前这段代码的效果是,玩家必须移动1格,才会变胖