点积的结果是一个标量,也就是单独的数值
点积的结果是一个标量,也就是单独的数值
使用Normalize()方法是直接改变了原有的向量的值,变为了归一化单位向量
调用normalized属性可以新设一个向量接收这个值,这样不用改变原有向量值
如果要先执行原有的方法 再执行补丁方法
lua中:
local util = require 'util'
util.hotfix_ex(CS.XX,"Start",function(self)
self:Start()
xxxxxxxx
end)
vector3.forward会计算旋转的影响,会根据旋转的角度产生变换
transform.forward不计算旋转的影响,固定根据世界坐标or局部坐标的Z轴运动
打开热更新的宏
当前工程有任何更改,都需要:
Xlua -> Generate Code
再点击
Xlua -> Hotfix inject in Editor
(如果有出错,先Clear Generate Code)
打包前,记得删除example文件夹,否则会各种出错。
如果还是有错误,可能需要copy dll文件:
xlua放置目录不要有中文
MiNiJson SMS-SDK和ShareSDK 都有,因此删掉一个就行了
libs 下有几个Jar包重复了,删除一个就行了
两个android manifest文件有冲突
<uses-sdk
android:miniSdkVersion="16"
android:targetSdkVersion="26"/>
把两个有冲突的属性给去掉一个保留一个
视口坐标系就是屏幕坐标系的单位化,固定左下角原点为(0,0),右上角为(1,1)
屏幕坐标系没有Z轴,世界坐标转换为屏幕坐标,z轴数值来源于相机的Z轴负值
屏幕坐标转换为世界坐标z轴数值等于投射距离+相机Z轴数值,点的位置是影投射,所以z轴数值直接影响x、y的值
屏幕坐标就是像素点,宽高是screen.Width
Screen.height
面板显示永远是局部坐标
如果没有父物体,Inspector面板显示position是局部坐标,也就是世界坐标
如果有父物体,局部坐标系不会发生变化
z轴方向可能随着左手坐标和右手坐标系正方不一致,但是xy轴都是一致的
如果cmd提示: keytool 错误: java.io.FileNotFoundException: xxx.keystore (拒绝访问。) c盘没有写的权限,修改下路径就行了 keytool -genkey -alias xxx -keyalg RSA -validity 20000 -keystore /<MY_PATH>/android.keystore(修改keystore的路径)
在脚本Model里添加IsGameOver()方法
在脚本GameManager里调用
transform.position 是全局坐标
transform.localPosition 是局部坐标
UnitEditor显示的是局部标
局部坐标 -> 全局坐标
Transform.TransformPoint(Vector3 pos)
全局坐标 -> 局部坐标
Transform.InverseTransformPoint(Vector3 pos)
CheckMap(),CheckRowIsFull(),DeleteRow(),MoveDownRow(),MoveDownRowsAbove()
提醒一下大家当前的shareSDK中,ssdk.ShowPlatformList()中的platformTypes参数是有效的了。
另外title,text,url,imageUrl,shareType这几个是必要参数一个都不能少,不然无法分享。
还有,建议在ShareSDk.cs和DevInfo中修改app id和appsecret,方便切换ios和Android平台或者使用cloud build。如果是在iOS平台使用一键打包功能,需要将所使用的目标平台拥有的所有分享方式的appid及app secret都进行修改,否则添加白名单可能会出现问题(比如目标平台是微信朋友圈,那么不只是修改WeChat moment中的appid和app secret,WeChat、WeChatFavorite、WechatSeries这几个地方不管你用不用的到,都要进行修改)。
顺便一提微信如果不使用登陆功能仅仅使用分享功能的话,是不收门槛费的,流程上除了需要7个工作日审核之外跟新浪差不多。
Public Const int MAX_ROWS=23;
public const int MAX_COLUMNS=10;
Private Transform [,] map=New Transform[MAX_COLUMNS,MAX_ROWS];
public bool IsValidMapPosition(Transform t){}
(注意旋转之后取整)
可另外设计一个工具类Vector3Extension
private bool IsInsideMap(Vector2 pos){}
最高分数的的显示为什么是得到分数之后才显示
public override void DoBeforeEntering()
{
ctrl.view.ShowGameUI(ctrl.model.Score,ctrl.model.HighScore);
1.在Shape脚本中定义变量isPause(bool),timer(float),stepTime(float);
2.Void Update(){
if(isPause) return;
timer+=time.deltaTime
if(timer>stepTime)
{
timer=0;
fall();
}
}
3.定义Fall()方法;