我统一使用了这些代码,并且收到了此错误。“运算符 > 不能用于左侧的‘对象’类型和右侧的‘对象’类型。对我来说,这就像游戏引擎的统一脚本中的一个错误,你怎么看??
var PlayerNames = ["john","doe","potato"];
var PlayerScores = [3,2,5];
if(PlayerScores[1] < PlayerScores[0])
print("potato");
Run Code Online (Sandbox Code Playgroud) 我在制作复杂(ish)相机行为(使用 Javascript)时遇到了问题。我遇到的问题是我无法在我的球员身后获得位置。请不要告诉我使用 Vector3.back 等,因为我想要本地位置,以支持转弯。如果相机总是设置在那个位置,它就不会工作,因为我有一个很酷的运动系统。
我尝试了多种方法,并把自己与数学混淆了。我也尝试过复杂的加法和减法。他们都没有工作。
我想我可能遗漏了一些非常简单的东西,比如进入局部坐标等的方法。(或者可能是一些数学函数)
提前致谢 -Etaash
我的问题的意思是,例如,当我向左移动鼠标时,如何使您的播放器自动旋转,并且我的整个角色身体将旋转并将其旋转限制回 2D 视图。
如果你们知道的话,类似于“Rochard”游戏。但我很难弄清楚。
这是我的代码:
#pragma strict
var spinx : int = 0;
var spiny : int = 0;
var spinz : int = 0;
function Update () {
transform.Rotate(spinx, spiny, spinz);
}
Run Code Online (Sandbox Code Playgroud) 所以我刚才有一个奇怪的问题.我写了一个小脚本,当攻击一个对象时会使它面向鼠标指针.但是,由于我从正交相机切换到透视相机,因此脚本已停止工作.我已经添加了一些调试,看起来ScreenToWorldPoint只是返回相同的值,无论鼠标在哪里.我怀疑这与鼠标是一个基本的2D实体有关,但我不知道如何解决这个问题.
任何帮助深表感谢!:)
void Update () {
Vector3 difference = camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position;
//Debug.Log(Camera.main.ScreenToWorldPoint(Input.mousePosition));
difference.Normalize();
difference.Set (difference.x, difference.y, 0);
transform.up = difference;
Run Code Online (Sandbox Code Playgroud) 我的游戏对象有这个代码:
private float screenx;
Vector3 playerPosScreen;
void Start () {
screenx=Camera.main.pixelWidth-renderer.bounds.size.x ;
}
void update(){
playerPosScreen = Camera.main.WorldToScreenPoint(transform.position);
if (playerPosScreen.x >= screenx) {
//playerPosScreen.x=screenx;
transform.position=new Vector3 (screenx, transform.position.y,transform.position.z);
}
//txt.text = playerPosScreen.x.ToString();
else if(playerPosScreen.x<=renderer.bounds.size.x){
transform.position=new Vector3 (renderer.bounds.size.x, transform.position.y,transform.position.z);
}
}
Run Code Online (Sandbox Code Playgroud)
我正在开发一款2D带orthographic摄像头的游戏,我的问题是游戏对象继续走出屏幕,我在这里错过了什么?
任何人都可以在编辑器中解释原因:
而在我的Galaxy S6上,我得到:
我的PanelUI元素(它是父元素)有GridLayoutGroup组件,以及ContentSizeFitter.子元素具有LayoutElementFlexibleWidth/Height为120 的组件,并且所有锚点都设置为在所有方向上伸展.
在Canvas被设定为屏幕尺寸按比例绘制,为320x480的参考RES和屏幕模式是匹配的高度.
无论正方形的数量(动态)如何,编辑器都可以完美地调整父元素中的子元素,但是我的设备使它们很小.我真的很困惑.
脚本中没有大小或锚点的设置,纯粹是实例化和父类的赋值,如下所示:
for(int i=0; i < amount; i++)
{
GameObject emptyCell = (GameObject)Instantiate(emptyCellObject);
emptyCell.transform.SetParent(cellHolder);
emptyCell.GetComponent<RectTransform>().localPosition = new Vector3(0f, 0f, 0f);
emptyCells.Add(emptyCell);
}
Run Code Online (Sandbox Code Playgroud)
我还检查了所有与以下相关的文档:http://docs.unity3d.com/Manual/comp-UIAutoLayout.html - 甚至UI教程电影,以及一些关于'新'UI工具的博客文章,但没有更改物理设备上的维度,并且似乎在编辑器中没有任何更改,因为它保持不变.
我确定我做的事情很傻,但我已经筋疲力尽了所有的途径,希望有人之前遇到过这种奇怪的事情.
Soomla核心版本:1.3.1 Facebook SDK版本:7.2.2 Unity:5.3.3
尝试从团结游戏登录Facebook(使用SoomlaProfile.Login(Provider.FACEBOOK);)
问题是:它始终打开登录屏幕进入Safari,而不是Facebook应用程序.
设置shareDialogMode = ShareDialogMode.NATIVE; 在MobileFacebook.cs内部没有帮助.它是默认的AUTOMATIC,但它打开浏览器,而不是应用程序.Facebook应用已安装.
我怎么能解决它?我需要打开Facebook应用程序,如果它已安装并在其中运行登录.
我正在使用名为Simple Obj的资产,它允许我导入 obj、它们的材料和纹理关联。这在我的编辑器中工作正常,但在我的独立版本中无效。我的OBJ 不在我的资源文件中,我使用 WWW 方法从另一个文件中获取它。
这是我的方法,他下载我的 OBJ,创建一个游戏对象并将其放置在我的场景中:
private IEnumerator DownloadAndImportAllInBackground(string url, Plane newPlane)
{
string objString = null;
string mtlString = null;
Hashtable textures = null;
GameObject planeObject = null;
bool gameObjectPerGroup = false;
bool subMeshPerGroup = false;
bool usesRightHanded = true;
yield return StartCoroutine(DownloadFile(url, retval => objString = retval));
yield return StartCoroutine(DownloadFile(url.Substring(0, url.Length - 4) + ".mtl", retval => mtlString = retval));
if (mtlString != null && mtlString.Length > 0) …Run Code Online (Sandbox Code Playgroud) 我正在开发 Unity2d Sprite,但出了点问题:在我的代码中,当我按下跳跃按钮时,我的角色会像传送一样跳跃,它向上方向移动得非常快。重力为 9,我的Rigidbody2D质量为 1。我的代码是这样的:
if(isGrounded == true && moveH == 0) {
if (Input.GetKeyDown(KeyCode.J)) {
anim.SetBool("str_jump", true);
//rgBody.velocity = new Vector2(0,jumpHeight);
//rgBody.AddForce(Vector2.up * jumpHeight);
transform.position = new Vector2(transform.position.x,
transform.position.y * jumpHeight);
isGrounded = false;
}
}
Run Code Online (Sandbox Code Playgroud) 我的角色里面有2个游戏对象说right_obj和left_obj,我希望他们忽略父旋转,就像玩家改变它的方向(左,右),这两个游戏对象保持他们的位置和旋转,到目前为止我使用2种方法但是失败.这是我的代码,我在我的两个游戏对象上使用这个脚本,但他们忽略了这一行
// first one approch
Quaternion rotation;
void Awake()
{
rotation = transform.rotation;
}
void LateUpdate ()
{
transform.rotation = rotation;
}
// 2nd approch
void LateUpdate ()
{
transform.rotation = Quaternion.identity;;
}
Run Code Online (Sandbox Code Playgroud) unityscript ×10
c# ×2
android ×1
camera ×1
coordinates ×1
perspective ×1
rotation ×1
soomla ×1
unity3d-gui ×1
unity5 ×1