这句话当然不对.
“机械能不变”,也就是“机械能守恒”.它一定满足如下条件:
(1)系统不受外力做功,或外力做功之和为零;
(2)系统内只有弹力或重力做功;
机械能守恒的公式表示是:
△E(机)≡△E(动)+△E(重)+△E(弹);
它说明:动能的增加量,应该总等于【重力势能和弹性势能】的总减少量——至于具体到两种势能,那么是都减少,还是一增一减(减量大于增量)就不得而知了.
你的追问——水平方向上没重力势能,严格来说应该是:水平方向上没重力势能“的变化”.其实,你给的例子以及你的分析都是正确的.它们不但不与“机械能守恒定律”矛盾,反而推出了机械能守恒在特殊情形下的一种变形:
△E(机)≡△E(动)+△E(弹);(△E(重)=0时成立)
总之,不是你的分析有问题;而是你的论点有问题——它本身就是对“机械能守恒定律”的断章取义.