Unity为什么Main camera中没有javafx scene buildercamera脚本?

他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
绘画、动画、游戏、CG技术研究爱好者,非权威高手。博客文章自由共享,转载时请保持内容完整。
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
什么是Script(脚本)?简而言之,就是使用代码来执行一系列动作命令的特殊文本,它需要编译器来从新解读。U3D内部如何解读脚本,这不是我们所要关心的—这是引擎开发人员的活,我们所要知道的就是脚本的使用规则。【三种语言的特点】U3D支持C#,JavaScript,BOO三种语言格式的代码编写。首先来简单介绍下这三种语言的特点:对U3D来说,这是入门级的脚本语言,U3D内置的函数都能通过JS方便的调用。语法上,JS和传统的C语言差不多,需要分号结束符,变量类型定义,大括号……不过它的变量类型定义,是通过冒号接在变量右边,如:Name:string=”Li”。相对其他两种语言,使用JS语法,很多函数不需要实例化就能直接使用,如:vector3 direction=vector3(1,2,3)。如果使用C#,则需要使用new关键字:vector3 direction=new vector3(1,2,3)。JavaScript直接继承自U3D的MonoBehaviour类,因此不像C#和BOO那样需要使用Using或Import来加载类库。这看似省心,不过因为缺少了加载特殊类库,JavaScript能调用的第三方函数不多(当然,我们可以载入net类库给JavaScript调用,虽然看着有点奇怪……)。*注意:JavaScript不是Java,同时,U3D中的JavaScript也有别于独立的JavaScript语言。C#(发音C Sharp),微软开发的面向对象编程语言。由于有强大的net类库支持,以及由此衍生出的很多跨平台语言,C#逐渐成为U3D开发者推崇的程序语言。U3D内置的脚本范例中,C#脚本也占了很大一部分(其他脚本是JavaScript脚本)。另外,在装有VisualStudio的电脑上,我们也可以使用微软的脚本编辑工具来编写U3D脚本。C开头,那么语法上和C语言是很接近的,除了面向对象语言所具有的一些特点。当然,我不用在这进行太多说明,因为C#的相关学习资料很多。BOO是新兴的基于Python的语言。语法上,BOO和Python大同小异,都是通过换行来实现语句的结束,它省略了分号、大括号,甚至条件语句的小括号等。Python在很多大型三维图形软件上都有应用,由此可以看出它的跨平台性能很不错,我也选择使用Python来编写maya特效脚本;不过,对于游戏事件的编写,个人感到这种精简的语法反而有些难以适应。如基本的变量类型定义,BOO(类Python)语法就显得不那么便捷: direction as vector3 =vector3(1,2,3)。游戏事件不同于特效脚本,前者是过程中的交互,而后者只需要看到结果。因此,游戏中经常需要大量的具有明确类型的变量出现,BOO语言可以省略变量类型的优势在这里反而容易引发问题。引擎编译时,三种语言的执行效率是一样的,因为U3D会内部进行它自己的语言格式的转换。尽管我们可以在不同语言编写的脚本之间进行变量和方法的调用,但是我不推荐那么做,因为测试确实会存在一些意想不到的问题。使用不同语言编写多个脚本时,应尽量让脚本之间没有直接联系。最后,个人认为,在windows平台下,C#是U3D脚本语言的最佳选择。【脚本的使用规则】U3D的脚本作用方式很有趣,我称之为“拖放法”。无论是作用在一个具体的场景物体还是管理着批量的物体,脚本首先必须依附于场景中的一个元素才能被执行。要将脚本赋予物体的方式很简单,就是按住鼠标左键将脚本文件拖放到物体的属性面板上(也可以拖放到场景的物体上)。U3D有个概念,那就是component(成分)--类似Maya的节点。包括脚本,所有元素属性都是游戏物体的component。添加、删除、停用、读取、写入component信息,就是脚本所要做的(尽管脚本也是个component)。net语言的C#,在不同脚本之间调用变量和方法时,如果脚本位于同一路径下,那么只需要对非static(静态)成员进行new实例化即可。例如a.cs和b.cs,要调用脚本a中的一个非静态变量cc,需要在脚本b中写入:a &c=new a(),然后c.cc的格式完成调用。不过,作为一个component,要调用不同脚本之间的成员,U3D的规则是使用GetComponent函数来完成(其实也就相当于new的作用,只是U3D不支持这种脚本间调用的写法)。如:& &&someScript = GetComponent&ExampleScript&();如果是在C#脚本中调用JavaScript脚本,则使用强制类型转换语法:&
someScript = GetComponent(“ExampleScript”) as ExampleS*&&这个特殊的符号表示使用的是C#中的泛型功能,用于避免强制类型的转换,减少装箱量(将值类型专为引用类型的操作)。根据脚本使用的情况,可以有以下做法:1.脚本位于同一个物体上。可直接使用泛型或者类型转换语法调用。如:someScript = GetComponent&ExampleScript&();2.脚本位于不同物体上。需要使用Find或相关的搜索函数,取得指定名称的物体信息后,再+”.GetComponent”函数。如:GameObject.Find("stone").GetComponent&ExampleScript&()。3.脚本位于同一路径或者被调用脚本位于主脚本的路径及以下(脚本是否被物体使用都可)。将被调用脚本中的成员(变量或方法)使用static标识,然后可以通过”脚本.成员”的格式直接调用。例如:ScriptA.CS…public static mm();…ScriptB.CS…ScriptA.mm();…不过,static成员的调用虽然提高了效率,但因为它常驻内存,所以在会产生大量系统资源要求的情况下要慎用。*static是C#定义变量或方法类型的关键字,使用static的变量或方法,不需要new实例化即可直接调用。【脚本内容】除了JavaScript函数,C#和BOO的脚本都需要预先载入类库。这里以C#为例:using UnityEusing System.Cpublic class NewBehaviourScript : MonoBehaviour {}NewBehaviourScript是脚本的名称,它必须和脚本文件的外部名称一致(如果不同,脚本无法在物体上被执行)。所有游戏执行语句,都包含在这个继承自MonoBehaviour类的自创脚本中(大括号内)。以下介绍一些常用的内置运行函数(定义函数时,JavaScript的关键字是function,C#是void,BOO是def。如:void Start()。Awake:在游戏运行时调用,用于初始化。Start&: 只在游戏开始时执行一次,在Awake()函数后执行;Update:在游戏每一帧都执行一次,在Start()函数后执行;LateUpdate:同Update,只是它会在Update()函数执行后再执行;FixedUpdate:当游戏中引入刚体系统,使用适配的方式同步物理时钟,可以让动力学更精确的计算;OnGUI:绘制游戏界面的函数,因为每一帧执行多次,所以一些时间相关的函数要尽量避免直接在其内部使用。OnMouseOver:鼠标停留在物体上时执行该函数的内容。OnMouseEnter:鼠标进入物体范围时执行该函数的内容。和OnMouseOver不同,该函数只执行一次。OnMouseExit:鼠标离开物体范围时执行该函数的内容。OnMouseDown:鼠标按下时执行该函数的内容。OnMouseUp:当鼠标释放时执行该函数的内容。OnMouseDrag:按住鼠标拖动时执行该函数的内容。OnMouse系列函数是针对指定物体的,如果要使用全局鼠标控制操作,则需要使用射线相关函数。还有很多特殊的游戏触发事件的函数,这里就不一一列出。U3D内置的代码有个命名规则,开头第一个字母大写的词组都属于类或者函数,而开头小写的词组则是变量。新手经常会混淆它们之间的区别。简单说来,函数词组可以作为变量的类型,还可以直接执行功能,词组后必接成对小括号;变量是对应函数的分支,实现的是对一个具体属性的控制。例如:Camera和camera。当场景中存在一个默认的主摄像机,脚本位于摄像机时,Camera.mainCamera.transform和camera.transform是等同的;假如脚本在其他物体上,Camera.mainCamera.transform仍旧直接获取了主摄像机,而camera.transform必须要使用Find函数先找到指定名称的摄像机:GameObject.Find("mainCamera").camera.transform。当然,这里是列出细节来比较,实际运用时,脚本位于特殊元素上我们可以不用声明这个元素的类别,如camera.transform可以简化到transform。GameObject和gameObject。前者包含查找,破坏和产生游戏物体的函数,同时可以将一个变量定义为“游戏物体”类型;后者则包含丰富的游戏物体属性,例如名称,变形信息,动画,渲染等。同上面列举的camera,对于直接作用于指定物体的脚本,gameObject也可以省略掉。不过,在开始学写代码时,书写完整的变量名能让我们更深刻的记忆每个属性和变量的关系。通过以上对比后可以这么理解,函数通常是全局控制(包含脚本外的其他物体),而变量是需要指出具体的应用对象。*如果书写代码时语句不在函数作用范围内,编译器将无法智能完成一些变量的全名显示。更多函数的运用方法,用户可参考官方提供的帮助文档。【简单例子】在一个箱子上按下鼠标左键,箱子就开始旋转,同时灯光被点亮,屏幕出现“Test”的字样。1.点击Hierarchy栏下的Create,创建一个Cube,Plane和Spotlight。2.在Assets目录下,创建文件夹(右键,Create-&Folder),用于存放游戏的各种资源:模型,动画,材质,脚本,Prefab等。3.双击进入myScript文件夹,创建一个C#脚本。4.给脚本命名,然后再双击开启脚本编辑工具(如果脚本名称和内部的类名称不同,一定要更正)。5.加入鼠标相关函数,这里我需要用到OnMouseOver,OnMouseExit,OnMouseDown。此类特殊函数不会有智能拼写出现。6.语法方面就不傻瓜式的一步步进行了,实现的思路是:当鼠标移动到物体上,物体的材质色彩变为黄色,同时将一个初始值为假的布尔变量1的值取真;当鼠标离开后,物体材质色彩还原,布尔变量1值为假;当按下鼠标左键,且布尔变量1的值为真,布尔变量2的值为真。*OnMouse函数都是执行一次的函数,因此不能将和动画有关的控制函数放于其内执行,通常会使用布尔开关来控制Update函数中的动画函数。7.接着在Update函数内实现:当布尔变量2的值为真,物体旋转。8.将写好的脚本拖拽到场景中的方块上(或者先选择方块,将脚本拖到方块的属性栏),调好摄像机位置,执行测试;9.因为脚本只作用于其所依附的物体,要控制灯光,我们有两个选择:创建新的脚本,使用查找物体函数。很显然,我没必要为这么简单的功能加入一个新的脚本。因此我使用Find函数获取灯光的强度属性。*脚本中遇到这样一串长长的语句时,通常会使用一个自定义变量来替代,而且很多时候还能降低计算量。例如:float LightInt =GameObject.Find("Spotlight").light.intensity。如果在Start函数中初始化,Update中就不必每帧执行查找函数,降低游戏效率。不过这里作为一个测试,我也就很省事的忽略了。10.GUI的使用。要在游戏视图显示各种UI信息,都需要使用U3D的UI组件或者GUI函数。为方便阅读,我将其他函数的内容收起,并使用GUI函数的Label创建简单的文字显示功能(有关GUI更多的详细信息,请参阅官方文档,我会在后面再做讨论)。11.最终测试:12.发布。执行File-&BuildSettings,开启发布界面。设置好要发布游戏的平台以及一些发布的信息,点击Build按钮即可发布一个完整的游戏客户端。U3D支持发布的平台与用户授权和操作系统有关,如IOS游戏需要MAC平台的U3D才能发布,Android需要在系统安装安卓SDK包,次世代主机平台则需要用户向官方购买额外解决方案。*由于商业策略的分歧,U3D刚宣布了中止flash平台的后续开发,看来想玩U3D开发的网页游戏,还是需要先安装U3D官方的网页插件。【结语】游戏制作并不简单,这里仅仅是一个初入门的小例子,主要是对脚本使用方式的练习。后面会逐步深入学习U3D丰富的函数功能。
阅读(58113)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'【U3D】Unity3D的脚本-script入门',
blogAbstract:'Unity3D的基本操作很容易就能掌握了,接下来就是游戏系统的核心部分:脚本。什么是Script(脚本)?简而言之,就是使用代码来执行一系列动作命令的特殊文本,它需要编译器来从新解读。U3D内部如何解读脚本,这不是我们所要关心的—这是引擎开发人员的活,我们所要知道的就是脚本的使用规则。',
blogTag:'unity,script,u3d,脚本',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:3,
publishTime:2,
permalink:'blog/static/',
commentCount:11,
mainCommentCount:8,
recommendCount:17,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'绘画、动画、游戏、CG技术研究爱好者,非权威高手。博客文章自由共享,转载时请保持内容完整。',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}unity camera怎么调整_百度知道
unity camera怎么调整
我有更好的答案
并将这个脚本绑定在主角对象身上,在此是用JAVA脚本; Create ----. 创建 脚本Assets --,
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Unity3d——2d游戏制作心得之移动摄像头 - 简书
Unity3d——2d游戏制作心得之移动摄像头
首先分析 2D 游戏摄像头移动的需求:
在 2D 游戏中,摄像头移动类型的类型一般有以下几种:
跟随主角模式
这种移动方式基本适合大多数的冒险、动作游戏。
这种模式一般适合不需要屏幕晃动的时候使用。
这种模式一般使用主角需要跳跃,但是又不想要屏幕上下晃动的时候。
这种模式跟横向跟随对应,使用与主角上下移动,但又不想屏幕左右晃动。
在游戏中摄像头的移动方式一般不之一种,因此,我把摄像头的移动分成以下两个脚本:
一个脚本命名为 CameraPoint 用来指定摄像头在什么地方以什么方式跟随。
一个脚本命名为 CameraPointControl 用来控制摄像头在设定好的地方以特定的移动方式移动
在 CameraPoint 脚本中用来存储信息,在 CameraPointControl 脚本中用来读取 CameraPoint 中的信息并控制摄像头移动
CameraPoint中包含类型、控制范围、跟随速度
public class CameraPoint : MonoBehaviour
public enum PointType
FollowHorizontal,
//横坐标跟随
FollowVertical,
//纵坐标跟随
//控制点的类型
[SerializeField]
private PointType type = PointType.F
//控制范围
[SerializeField]
private Vector2 fixedSize = Vector2.one * 20f;
//横向移动速度
[SerializeField]
private float horizontalSpeed = 5f;
//纵向移动速度
[SerializeField]
private float verticalSpeed = 5f;
public PointType Type
public Vector2 FixedSize
return fixedS
fixedSize =
public float HorizontalSpeed
return horizontalS
horizontalSpeed =
public float VerticalSpeed
return verticalS
verticalSpeed =
CameraPointControl中包含获取所有的摄像头控制点,以及控制方式
public class CameraPointControl : MonoBehaviour
//跟随目标
public GameObject T
GameObject MainC
//默认跟随速度
public float FollowSpeed = 5f;
//摄像头坐标微调(与摄像头跟随无关,及与本文章无关)
public Vector2 DeltaPositon = Vector2.up * 0.5f;
//所有摄像头控制点的父对象
public GameObject EventP
//所有控制点
CameraPoint[] P
void Start()
//获取所有控制点
Points = EventPoints.GetComponentsInChildren&CameraPoint&();
//得到主要摄像头
MainCamera = GameObject.FindGameObjectWithTag("MainCamera");
//检测跟随目标,若没有,则跟随主角
if (!Target)
Target = GameObject.FindGameObjectWithTag("Player");
//固定频率更新游戏
void FixedUpdate()
//没有摄像头控制点则一默认跟随方式跟随
if (Points.Length & 1)
MethodFollowDefault();
//记录是否执行过其它跟随方式,若没有执行,则以默认跟随方式跟随
int Count = 0;
foreach (var item in Points)
switch (item.Type)
case CameraPoint.PointType.Fixed:
if (MethodFixed(item))
case CameraPoint.PointType.FollowHorizontal:
if (MethodHorizontal(item))
case CameraPoint.PointType.FollowVertical:
if (MethodVertical(item))
//没有执行其它跟随方式,以默认跟随方式跟随
if (Count & 1)
MethodFollowDefault();
//纵向跟随
bool MethodVertical(CameraPoint Point)
//检测是否在控制范围
if (Target.transform.position.x & Point.transform.position.x - Point.FixedSize.x &&
Target.transform.position.x & Point.transform.position.x + Point.FixedSize.x)
//跟随控制点的 X 坐标,跟随目标的 Y 坐标, 摄像头本身的 Z 坐标
Vector3 Destination = new Vector3(Point.transform.position.x, Target.transform.position.y + DeltaPositon.y, MainCamera.transform.position.z);
//平滑移动(线性插值)
Vector3 PositionNow = Vector3.Lerp(MainCamera.transform.position, Destination, FollowSpeed * Time.deltaTime);
MainCamera.transform.position = new Vector3(PositionNow.x, PositionNow.y, PositionNow.z);
//横向跟随
bool MethodHorizontal(CameraPoint Point)
//检测是否在控制范围
if (Target.transform.position.x & Point.transform.position.x - Point.FixedSize.x &&
Target.transform.position.x & Point.transform.position.x + Point.FixedSize.x)
//跟随目标的 X 坐标,控制点的 Y 坐标, 摄像头本身的 Z 坐标
Vector3 Destination = new Vector3(Target.transform.position.x + DeltaPositon.x, Point.transform.position.y, MainCamera.transform.position.z);
//平滑移动(线性插值)
Vector3 PositionNow = Vector3.Lerp(MainCamera.transform.position, Destination, FollowSpeed * Time.deltaTime);
MainCamera.transform.position = new Vector3(PositionNow.x, PositionNow.y, PositionNow.z);
//固定摄像机模式
bool MethodFixed(CameraPoint Point)
//检测是否在控制范围
if (Target.transform.position.x & Point.transform.position.x - Point.FixedSize.x &&
Target.transform.position.x & Point.transform.position.x + Point.FixedSize.x &&
Target.transform.position.y & Point.transform.position.y - Point.FixedSize.y &&
Target.transform.position.y & Point.transform.position.y + Point.FixedSize.y)
//跟随控制点的 X 坐标,控制点的 Y 坐标, 摄像头本身的 Z 坐标
Vector3 Destination = new Vector3(Point.transform.position.x, Point.transform.position.y, MainCamera.transform.position.z);
//平滑移动(线性插值)
Vector3 PositionNow = Vector3.Lerp(MainCamera.transform.position, Destination, FollowSpeed * Time.deltaTime);
MainCamera.transform.position = new Vector3(PositionNow.x, PositionNow.y, PositionNow.z);
//默认跟随方式
void MethodFollowDefault()
//跟随目标的 X 坐标,目标的 Y 坐标, 摄像头本身的 Z 坐标
Vector3 Destination = new Vector3(Target.transform.position.x + DeltaPositon.x, Target.transform.position.y + DeltaPositon.y, MainCamera.transform.position.z);
//平滑移动(线性插值)
Vector3 PositionNow = Vector3.Lerp(MainCamera.transform.position, Destination, FollowSpeed * Time.deltaTime);
MainCamera.transform.position = new Vector3(PositionNow.x, PositionNow.y, MainCamera.transform.position.z);
上面代码中的坐标微调可以不用管,只是用来微调摄像头和跟随目标的相对位置的。 在unity3d中只要设置好摄像机控制点就行了。为了方便设置,可以自己更改 CameraPoint 的Editor方式。 在此提供一个方式,这方面研究不深,暂时先用着吧∠( ? 」∠)_
[CustomEditor(typeof(CameraPoint))]
public class CameraPointControlEditor : Editor
CameraPoint myCameraP
void OnEnable()
myCameraPoint = (CameraPoint)
public override void OnInspectorGUI()
myCameraPoint.Type = (CameraPoint.PointType)EditorGUILayout.EnumPopup("Type", myCameraPoint.Type);
switch (myCameraPoint.Type)
case CameraPoint.PointType.Fixed:
myCameraPoint.FixedSize = EditorGUILayout.Vector2Field("Fixed Size", myCameraPoint.FixedSize);
case CameraPoint.PointType.FollowHorizontal:
myCameraPoint.FixedSize = EditorGUILayout.Vector2Field("Size", myCameraPoint.FixedSize);
myCameraPoint.HorizontalSpeed = EditorGUILayout.FloatField("Horizontal Speed", myCameraPoint.HorizontalSpeed);
case CameraPoint.PointType.FollowVertical:
myCameraPoint.FixedSize = EditorGUILayout.Vector2Field("Size", myCameraPoint.FixedSize);
myCameraPoint.VerticalSpeed = EditorGUILayout.FloatField("Vertical Speed", myCameraPoint.VerticalSpeed);
public void OnSceneGUI()
Vector3 LeftUp = new Vector3(myCameraPoint.transform.position.x - myCameraPoint.FixedSize.x, myCameraPoint.transform.position.y + myCameraPoint.FixedSize.y, myCameraPoint.transform.position.z);
Vector3 RightUp = new Vector3(myCameraPoint.transform.position.x + myCameraPoint.FixedSize.x, myCameraPoint.transform.position.y + myCameraPoint.FixedSize.y, myCameraPoint.transform.position.z);
Vector3 LeftDown = new Vector3(myCameraPoint.transform.position.x - myCameraPoint.FixedSize.x, myCameraPoint.transform.position.y - myCameraPoint.FixedSize.y, myCameraPoint.transform.position.z);
Vector3 RightDown = new Vector3(myCameraPoint.transform.position.x + myCameraPoint.FixedSize.x, myCameraPoint.transform.position.y - myCameraPoint.FixedSize.y, myCameraPoint.transform.position.z);
Vector3[] BoxVertexs = { LeftUp, RightUp, RightUp, RightDown, RightDown, LeftDown, LeftDown, LeftUp };
Handles.color = Color.
Handles.DrawLines(BoxVertexs);
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
This article is a record of my journey to learn Game Development and it will keep updating. 由于这篇文章的长度早已超出了简书编辑器的限制,因此后续内容将不在本文中更新,请移步本人的独...
【内容简介:】 沟通细节决定成败,但你是否知道,最重要的细节,就埋藏在你最细致的身体的语言中? 商务谈判、市场攻略、职场面试必备工具书! 《纽约时报》畅销书排行No.1!全球疯狂抢购突破5,000,000本! 《身体语言密码》是享誉全球的人际关系大师潜心30年权威力作。它是...
【内容简介:】 沟通细节决定成败,但你是否知道,最重要的细节,就埋藏在你最细致的身体的语言中? 商务谈判、市场攻略、职场面试必备工具书! 《纽约时报》畅销书排行No.1!全球疯狂抢购突破5,000,000本! 《身体语言密码》是享誉全球的人际关系大师潜心30年权威力作。它是...
12月5日晚,舒淇突然发文“暂告演员生涯,承蒙错爱……各位,江湖再见”。此文引发网友对于她要告别影坛的猜测。 在某社交平台发文,舒淇提到“杀青”一词。因此,有网友表示,只是《上海堡垒》杀青了,并非正式宣告退出影坛。 网友较多评论都是舒淇后援会的休息休息的安慰之词。 不过舒淇...
初恋这件小事(第一部),顾少安著 友情之上,恋人未满 我就是这么一个没有节操的人,明明在心里说这辈子要忘记对这个人的感情,然而在对方向我微笑的刹那,一切防御都土崩瓦解。 我有个高中同学叫阿MAY,她有一双乌溜溜的大眼睛,长得美丽又善良,好吧,她是我高中时候的暗恋对象,初恋总...
自己再阿里云申请了一台1G1核的机器,每次重启自己的服务tomcat都需要卡住很长时间,每次都是日志停在Root WebApplicationContext: initialization completed in 744 ms这个地方,然后也不知道发生了什么,在等待什么,...
各位家长: 早上三个小游戏,你体验到了什么?感悟到了什么?今天不妨和你的孩子说一说谈一谈。你知道游戏的意义吗? 1.异同掌同声 在这几天的活动中,孩子们掌声不断,他们学会了给老师鼓掌,给同学鼓掌;在分享的时候,有的同学像演说家一样,非常的精彩,这时我们的孩子会鼓掌。而有的同...
校招季 个人经历优先考虑 写不出来的实习经历和咸鱼有什么区别? 【实习经历】是简历中最好的自我介绍}

我要回帖

更多关于 qgraphicsscene 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信