各位朋友大家好,相信刚接触罗布脚本的你,跟当初的我一样迷茫,困惑?这是怎么用,怎么写,如何做到那个效果@@,英文差怎么办?那么此文章就非常适合你了。
-教学目标
1.认识工作室
2.变量,脚本概念
3.实践,执行简单的操作
认识工作室(开胃菜)
首先最基本的移动方式就是 w,s,a,d 用来移动你的摄像机 ,点击右键旋转你的摄像机。
对于真的第一次打开的同学,请观看以下视频:【每天五分钟!玩转罗布乐思Studio!】Lesson2 摄像头的控制、基础部件的属性、部件属性调整_哔哩哔哩_bilibili
打开工作室后,我们会发现最上面有五个选项,这时候我们点击视图,
可以看到有许多按钮,首先最重要的是 1. 项目管理器 2. 属性 3.输出 4.命令栏
确保我们都有打开他们,首先第一个看到的是输出, 会像以下这个样子,用来展示脚本的执行,bug或程序相关的输出。
2.命令栏
命令栏让我们执行简单的脚本,可用来测试东西,通常在最下面,一个小小的空格。如图所示,我们先打一个 print("Hello World),按 enter执行后,输出中会出现Hello World 的字样,然后右边有一个 “编辑”,代表着这一个指令来自命令栏。
3.项目管理器
在图中我点选了一个方块
方块可以在首页栏的部件中点击部件按钮添加, 也可以在项目管理器,workspace的 + 按钮中添加
重点来了,在项目管理器看到的这些呢(下图),其实都对应着一种服务,workspace(工作室),players(玩家),lighting(灯光)等等。首先你只需知道,在游戏内的任何模块,怪兽,枪支等等,都在这个workspace(工作室)里面。其他的服务与用途会在下一次介绍
图中我们选择了刚刚创建的Part
当我们在管理器点击部件的时候呢,会看到他的属性,名字Name,颜色Color,位置Position,大小Size,父系/父亲Parent,等等, 许多效果都是靠改变他的属性来达成
脚本的基础概念
想象罗布世界是一个学校,学校里有许多学生,校长,老师和建筑物,每个老师和学生都有他的任务,每个建筑物和房间都有他的名字。举个例子,你的老师要你把科学课本带到办公室,那么你的思路应该是这样的,首先找到, “自己”,“课本” 和 “办公室”。 然后创建一个任务就是自己把课本带到办公室,
写脚本时要带着这么个想法,我要执行什么任务, “自己”是谁,“对象”又是谁。
因此脚本第一课,我们学的是变量
任何变量我们都会先写一个 local
1.以我们送书到办公室为例子,我们要先列出三样东西
--Variables 变量
local me = "自己"
local book = "课本"
local office = "办公室"
用 . 和 [ ] 来连接
这次我们用真正的写法找到自己与书本,在图中分别是黄色的方块,与白色的方块
任务一 : 在workspace 点击 + 的按钮找到script,植入一个脚本
任务二: 在脚本中我们可以使用. 来连接/ 大小写都要准确,甚至是空格
local me = game.Workspace.me
local book = game.Workspace["书本"]
print(me)
print(book)
-- 小提示,从编辑器中看到的那些 workspace 工作室,players,ligting 也好,都能使用 game.XXX 来获取
-- 同时我们也可以使用 game:GetService("Workspace")来获取
-- 另外除了小点, 也可以用 [ ] 来获取他的子系,通常用于中文字体,有空格的字体包括英文等等 ,记得挂号内一定要加开关引号 “” 因为他是字符串
重点一 : 当不知道如何引用东西的时候,就用game. 衍生下去寻找
重点二 : . 不是万能的但是[" "] 绝对是万能的,我们甚至可以这么写 game[“Workspace”][“书本”], 来找到书本
接下来,在 3,4 行加上 print(me) 和 print(book), 如果你连接的东西是空的,输出那里就会显示nil ,如果你写对了,则会像以下这样。
图中,我们可以看到第一个出现的是时间 , 19:33:19.884 , 书本, 服务器, 脚本一 :4
当我们点击“书本”的时候,会自动导向物体本身,然后是服务器运作的,脚本的名字叫脚本一, 第四行执行。
3.简单的操作
现在我们学会了如何找到游戏中的对象,那么,现在我们学习改变他的名字Name ,透明度Transparency,他的锚定值和碰撞值 canCollide
然而,他们的属性 Name, Transparency 这一些该如何获取呢, 用点来获取 ,例如 : book.Name / book.Transparency, 只要在属性板里的都能这么写
https://developer.roblox.com/en-us/api-reference/class/Part
因为脚本是永远学不完的,所以我们要学习如何去查API数据库,自学如何使用这些脚本
首先,我们第一目标是改变他的名字Name
那么,我们从图中看到了string 字符串,代表着这个值必须是字符串 “ ” 要有开关引号。
所以脚本中为了改变他的名字,
任务一 : 找到书本
任务二 : 改变书本的名字
local book = game.Workspace.book
book.Name = "书的新名"
游戏开始测试后,就能看到他在管理器里的名字变成了书的新名
任务二
透明化书本部件
float 是一种数字, 透明度是 0 - 1 之间 , 现在你点击书本后,他的属性中的Transparency 是0 , 代表着,部件是不透明状态,如果调成了0.5 则是半透明, 1 为完全透明
以下脚本示范如何在开始游戏后把书本部件隐形
local book = game.Workspace.book
book.Transparency = 1
游戏执行后则会隐形
任务三 锚定 Anchored
锚定的效果是让物体不会因碰撞而被移位,或者从天空中掉下来,
现在把你的书本移到空中,然后把Anchored的取消。
游戏执行后你就会发现他掉了下来,那么问题来了,如果我们要他游戏执行后停在空中然后过几秒才掉下来呢?我们可以这么写 ,首先要知道Anchored 用的是什么值,
最左边的Bool代表了,布尔值,而bool 只有两种, true /false
那么意思就是,的话是true,而没有打勾则是false
local book = game.Workspace.book
book.Anchored = true
wait(8)
book.Anchored = false
所以这里的意思就是,游戏开始的时候他还在天空中锚定着,八秒后,则从天空掉了下来。这是非常基本和容易的执行功能。
最后一个任务是CanCollide,这个得靠你们自己尝试了,CanCollide也是布尔值, true的时候,玩家会碰撞到他,false的时候,玩家会碰撞不到他,能直接穿过。现在你的任务是,制作一个隐形墙,玩家看不到他,却碰得到他^^
以上为今天的分享,如果有什么意见,想学的,不懂的,或则认为小编写得太深了,还是太浅了,都能提出来,方便我下次改进。谢谢你的耐心观看
–有兴趣一起学习的小伙朋友记得进群哦,QQ群:572811070
引用:
1.【每天五分钟!玩转罗布乐思Studio!】Lesson2 摄像头的控制、基础部件的属性、部件属性调整_哔哩哔哩_bilibili