【教程】Scratch Platformer 引擎并制作方法
scratch吧
全部回复
仅看楼主
level 10
Platoformer 是一种2D 跑酷动作的游戏(比如:Mario)
2018年06月08日 13点06分 1
吧务
level 15
围观
2018年06月08日 13点06分 2
二楼当目录
2018年06月10日 01点06分
1. 3楼-8楼废话
2018年06月10日 01点06分
2. 10楼一下开始教程。 11楼是最终结果
2018年06月10日 01点06分
level 9
围观
2018年06月08日 13点06分 3
前排提醒:坟贴勿回
2020年04月09日 04点04分
level 10
首先肯定是创两个Sprite:
一个是玩家移动的Sprite
另一个是地形
2018年06月08日 13点06分 4
level 10
然后再加上移动的编码
当然这只是一部分。你会发现这个编码会让猫猫浮空不能下去
2018年06月08日 13点06分 5
level 10
这时要加上重力(Gravity)的变量,然后当不碰地形时,往下掉 重力
然鹅这仍然不现实,因为重力是加速的!
那么我们就得加一个速度(Speed)的变量
PS: -0.5 是暂定的,你想改就改.
2018年06月08日 13点06分 6
level 11
不会调中文吗?[汗]
2018年06月08日 14点06分 7
你的 scratch该升级了[滑稽]最新版本v460.0.1
2018年06月08日 14点06分
@死去的记忆又回来了草 lz 觉得中文比英文好用,毕竟编程嘛
2018年06月08日 14点06分
level 10
细心的人会发现,我上张图猫猫卡在地形了
插一句,我发现我遍的时候有个Bug,要这样修复:
加了个Repeat Until 并且最后把YSpeed set 成0
以防下一次超高的YSpeed 直接把你按在地上!
可是仍然会卡……
Scratch 最有用的特性就是More Blocks 的Run Without Screen Refresh。就是在那0.001 秒完成整个脚本那么在那0.001秒完成这个脚本的话就不会有卡在地形了!
然鹅还有一个问题……
我们并没有叫小猫不能卡住旁边的地形,而且当你卡住时你会发现非常悲剧的事:
小猫卡在下面,而且YSpeed 以超快的速度增加,然后SC 可以卡爆你的电脑……
2018年06月08日 14点06分 8
level 10
没人吗[泪]!!
2018年06月09日 04点06分 9
有人,其实一个简单的普通掉下去就可以哇!不用那么细致
2018年06月09日 05点06分
@(o.0) 你肯定不想掉下去然后卡在地图里吧
2018年06月09日 05点06分
2018年06月09日 05点06分
2018年06月09日 07点06分
level 10
做了一个小project, 你们自己试一试
Scratch 链接:https://scratch.mit[滑稽].edu/projects/228308016/
卡搭链接:https://kada.163.com/[滑稽]projectPublish/715026.htm
2018年06月09日 08点06分 10
自己试一试,然后我再发教程(重新)
2018年06月09日 08点06分
打的卡在下面回复
2018年06月09日 08点06分
level 10
我做的Platformer 引擎,就42行(Thumbnail不算0-0)。四块程序。3个Sprites
2018年06月10日 00点06分 11
除了Moving Script (XSpeed) (Direction) , 其它的定义方块都是Run Without Screen Refresh
2018年06月10日 00点06分
level 10
先讲这两个Hitbox(碰撞箱) 的脚本
首先第一行是回到100层以后 这是为了不让碰撞箱挡在 Player(角色) 上面的杯具
ghost effect to 100 是将 【虚像】 特效设置为 (100),使碰撞箱“隐形”。为什么打引号?因为ghost effect 是只给玩家看的,SC 本身是看得见的。你试试看把一个东西设置一个efect, 然后按红色的停止按钮它就会返回原样这就是effect 的一个特性
然后Rotation Style Left-Right旋转模式设为【左右】。其实你选择不旋转也可以,但千万不要任意!不然你会死得很惨![滑稽]
Variables 没什么说的了,后面再讲
这里Platformer Engine 自定义方块就是我们的主要方块。
注意是Run Without Screen Refresh 哦!还有千万不能把Forever 放到Platoformer Engine 里面,不然有可能把你的电脑卡爆!
想一想Run Without Screen Refresh + Forever,就是在那一霎那重复进行这几行脚本……
开始讲Platformer Engine。
这里Change Y Position by (YSpeed) 将Y 坐标增加(YSpeed)其实就是Y移动的部分。这里没有X 移动因为我放在Movng Script (XSpeed) (Direction)
别问我为什么,到时讲到Moving Script 就会说。
那么change YSpeed by (-1) 就是把碰撞箱一直拉下来,就是引力。然鹅你不可能拉穿地面啊!(除非你真是犯了什么天大的错,要下地狱18层[滑稽]
那就要Touch Ground <(YSpeed < 0 )> 就是防止穿地图
Touch Ground 也晚点讲。
AD 左右嘛,然后W 就是跳。Falling? 是个特殊的变量。我在Touch Ground 里定义当在空中越久Falling? 就会越大。<3 是我觉得比较好的数字,你也可以改。这样 <<w pressed> and <falling? < 3 > >就是防止空中跳。[滑稽]Double Jump 就会和这个有点不一样。
最后一块。这一块是比较特别的。如果你要按越久跳越高,就把这一块把上面把YSpeed 函数改变的那个模块换成这个。他们两个是一样的。
2018年06月10日 02点06分 12
level 10
有人吗???
Anyone???
Cmon
2018年06月10日 02点06分 13
再没人我不更了!!
2018年06月10日 03点06分
In our tieba, Nobody can talk at noon. All of everyday.
2018年06月10日 04点06分
@死去的记忆又回来了草 Why shall not I talk in noon? Everyone will see it at night and it's just same as how you only talk in night[哈哈].
2018年06月10日 04点06分
@死去的记忆又回来了草 Btw such rule wasn't wrote in the Rules of the Baidu Scratch Tieba
2018年06月10日 04点06分
level 10
感谢 @禹杨工作室 [滑稽]给我继续更的动力 [滑稽]
那么来讲Moving Script
你可以看到这里有两个变量 XSpeed 和Direction
然后是重置Slope 变量。Slope 是后面用的。
下面两行就是把XSpeed 和Direction 用上了。大家应该懂
那下面的Repeat Until 呢?
每当重复一次,Slope 就+1
同时y位置也 +1
重复5次(原本slope = 0, 要加5次slope =5) 或者不是碰到地面。
有谁知道这块是什么的脚本吗?
没错!就是检测角色走斜坡时有多斜,然后设置一个限制。
如果Slope = 5, 也就是说到这时角色还是碰到了地面。这个斜坡太陡。于是肯定要返回原本的位置啊!一种方法就是将X位置 改变 -XSpeed Y位置改变 -Slope, 也就是-5. 因为刚刚我们向上移了5个像素
Touch Ground 一看就是防止角色卡地图的。那这个Ceiling? 是什么回事呢?
Ceiling? 是bool (布尔值) 。 当YSpeed<0 ,就是往下掉的时候,Ceiling? 成立。当YSpeed >0 时,就是往上的时候,Ceiling? 不成立。Ceiling 是天花板的意思。这时防止角色跳一下然后直接穿墙到天花板上面。ouch!
当碰到地形时,这样就可以检测是否头碰到(要往下)还是脚碰到(要往上)。一直重复到不再碰到地图。
2018年06月10日 07点06分 14
2018年06月16日 05点06分
怎么了? 你们渔洋又要搞什么事情?
2018年06月16日 05点06分
level 10
打了那么多,求有人来啊啊啊啊啊!
2018年06月10日 07点06分 15
@姓q的那位 你可以去看一下我俩的英语对话[滑稽]
2018年06月10日 13点06分
你可以试一试学校除了英文什么语言都不能说[滑稽](除了语文课和西班牙课) Refusing to follow such rule may lead to detentions and possibly being kicked out of the school.
2018年06月10日 14点06分
1 2 尾页