Grid Layout Group和Content Size Fitter搭配使用可以自适应宽高
Grid Layout Group和Content Size Fitter搭配使用可以自适应宽高
方法调用:A需要持有B,才能调用B的方法。
委托,回调:A需要持有B,才能注册B的委托。
tolua
//对象池
Laya.Pool.getItemByCreateFun("PlayerBolt",)
onTriggerEnter(other){
}//触发检测执行
//创建物体的预制体
Laya.Sprite3D.instantiate(bolt_Player)
//激活(显示)物体
bolt_Player.active = false;
所需能力:
如何去提升这些能力,从哪方面去提升?
希望做哪些品类的游戏
编辑器下资源回收需要置空所有引用
在原生的opengl中,所谓深度测试指的是,当前绘制指令里待绘制的所有点,其投影在屏幕上的前后覆盖关系是否受点的z坐标影响。
举同一帧内两条绘制指令的例子。
glenable(gl_depth_test)
glbegin()
绘制三角形A
glend()
gldsiable(gl_depth_test)
glbegin()
绘制三角形B(B的z坐标比A更远)
glend()
绘制B前面有gldisable(gl_depth_test)
所以B的绘制其与A的关系不再受z坐标影响,所以视口窗口里B会在A前面,如果我没有gldisable(gl_depth_test)这一句,那么A就会在B前面。
这跟什么colorbuffer,什么颜色缓冲区的关系扯得太远了。这都是固定管线时代就已经有的内容了……
//Vector3 m_target = m_go2.transform.position;
//m_go1.transform.Translate((m_go2.transform.position - m_go1.transform.position).normalized * Time.deltaTime, Space.World);
//m_go1.transform.position = new Vector3(Mathf.Clamp(m_go1.transform.position.x, m_go1.transform.position.x, m_target.x), Mathf.Clamp(m_go1.transform.position.y, m_go1.transform.position.y, m_target.y), Mathf.Clamp(m_go1.transform.position.z, m_go1.transform.position.z, m_target.z));
private void Update()
{
//if (timer <= 1)
{
m_go1.transform.Translate(Vector3.right * 2 * Time.deltaTime);
Vector3 viewPos = Camera.main.WorldToViewportPoint(m_go1.transform.position);
if (viewPos.x >= 1f || viewPos.x < 0.0 || viewPos.y >= 1f || viewPos.y < 0.0)
{
m_go1.transform.position = oldPos;
return;
}
oldPos = m_go1.transform.position;
timer += Time.deltaTime;
}
}
哟,看样子你很yong
三年起步,最高死刑。
这个歌很好听啊。。。歌曲名称叫啥啊?
build项目的时候,出错误,要删xlua中的example文件夹
从这里开始,前面的准备工作差不多完成了,剩下的就是游戏逻辑的工作了。
标记,到此还没做。。。
Physics Raycaster+IPointerClickHandler组合
public void RemoveFlag()
{
Transform flag = transform.Find("FlagElement");
if (flag != null)
{
elementState = ElementState.Covered;
flag.DOLocalMoveY(0.15f, 0.1f).onComplete += () =>
{
Destroy(flag.gameObject);
};
}
}
使用DoTween做插旗拔旗的操作时,在完成时用Lambda表达式的方式去开启一个协程来销毁对象