设为首页收藏本站同能贴吧 切换语言 繁体中文
开启辅助访问 切换到窄版
扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 91|回复: 0

[转载发布] Michael Super Simple Diagonal Movement Patch

[复制链接]
累计送礼:
0 个
累计收礼:
1 个
  • TA的每日心情
    开心
    2026-7-12 04:10
  • 签到天数: 209 天

    连续签到: 2 天

    [LV.7]常住居民III

    9068

    主题

    864

    回帖

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    7
    卡币
    58857
    OK点
    16
    推广点
    0
    同能卷
    50
    积分
    68819

    灌水之王

    发表于 3 天前 | 显示全部楼层 |阅读模式
    Michael Super Simple Diagonal Movement Patch

    Introduction
    This is a simple script to enable diagonal movement by default. It's so simple that it's less than 50 lines, I could bleed to metaphorical dead.


    How to Use

    Put it under material, above main.

    if you're using another movement script, put this above that script.

    Script

    Spoiler                Code:       
    1. #==============================================================================
    2. # Michael Basic 8D
    3. #==============================================================================
    4. class Game_Map
    5.   def x_with_direction(x, d)
    6.    x + ((d == 9 || d == 6 || d == 3) ? 1 : ((d == 7 || d == 4 || d == 1) ? -1 : 0))
    7.   end
    8.   def y_with_direction(y, d)
    9.    y + ((d == 1 || d == 2 || d == 3) ? 1 : ((d == 7 || d == 8 || d == 9) ? -1 : 0))
    10.   end
    11.   def round_x_with_direction(x, d)
    12.    round_x(x + ((d == 9 || d == 6 || d == 3) ? 1 : ((d == 7 || d == 4 || d == 1) ? -1 : 0)))
    13.   end
    14.   def round_y_with_direction(y, d)
    15.    round_y(y + ((d == 1 || d == 2 || d == 3) ? 1 : ((d == 7 || d == 8 || d == 9) ? -1 : 0)))
    16.   end
    17. end
    18. class Game_Character < Game_CharacterBase
    19.   def turn_right_90
    20.    case @direction
    21.      when 1; set_direction(7); when 2; set_direction(4)
    22.      when 3; set_direction(1); when 4; set_direction(8)
    23.      when 6; set_direction(2); when 7; set_direction(9)
    24.      when 8; set_direction(6); when 9; set_direction(3)
    25.    end
    26.   end
    27.   def turn_left_90
    28.    case @direction
    29.      when 1; set_direction(3); when 2; set_direction(6)
    30.      when 3; set_direction(9); when 4; set_direction(2)
    31.      when 6; set_direction(8); when 7; set_direction(1)
    32.      when 8; set_direction(4); when 9; set_direction(7)
    33.    end
    34.   end
    35. end
    36. class Game_Player < Game_Character
    37.   def move_by_input
    38.    return if !movable? || $game_map.interpreter.running?
    39.    case Input.dir8
    40.      when 2,4,6,8; move_straight(Input.dir8)
    41.      when 1; move_diagonal(4, 2); when 3; move_diagonal(6, 2)
    42.      when 7; move_diagonal(4, 8); when 9; move_diagonal(6, 8)
    43.    else; end
    44.   end
    45. end
    复制代码





    Terms

    Feel free to change, edit, use like as a slave, burn maybe.

    Credit is also optional

    [10/1/2019] edit: text format is updated to display the script


    本贴来自国际rpgmaker官方论坛作者:Mike处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/michael-super-simple-diagonal-movement-patch.23562/
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    简体中文
    繁體中文
    English(英语)
    日本語(日语)
    Deutsch(德语)
    Русский язык(俄语)
    بالعربية(阿拉伯语)
    Türkçe(土耳其语)
    Português(葡萄牙语)
    ภาษาไทย(泰国语)
    한어(朝鲜语/韩语)
    Français(法语)
    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2026-8-8 12:25 , Processed in 0.081857 second(s), 52 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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