如何检测ARAnchor当前是否在相机中可见,我需要测试相机视图何时发生变化.我想在不在屏幕上时将箭头放在屏幕边缘指向锚点的方向.我需要知道节点是否位于平截头体的左侧或右侧.
我现在正在这样做,但是它表示如果不是,并且X值看起来不对,那么引脚是可见的吗?也许渲染器视锥体与屏幕相机不匹配?
var deltaTime = TimeInterval()
public func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval) {
deltaTime = time - lastUpdateTime
if deltaTime>1{
if let annotation = annotationsByNode.first {
let node = annotation.key.childNodes[0]
if !renderer.isNode(node, insideFrustumOf: renderer.pointOfView!)
{
print("Pin is not visible");
}else {
print("Pin is visible");
}
let pnt = renderer.projectPoint(node.position)
print("pos ", pnt.x, " ", renderer.pointOfView!.position)
}
lastUpdateTime = time
}
}
Run Code Online (Sandbox Code Playgroud)
更新:代码用于显示节点是否可见,如何判断节点相对于相机平截头的左或右方向?
UPDATE2!正如Bhanu Birani的建议答案
let screenWidth = UIScreen.main.bounds.width
let screenHeight = UIScreen.main.bounds.height
let leftPoint = CGPoint(x: 0, y: …Run Code Online (Sandbox Code Playgroud) 好吧...... Android的新手,使用ant构建我下载的东西.
如何判断哪个API级别是目标?我在build.xml文件中没有看到它.
当我尝试使用API Level 8中的类时,我发现符号未找到错误..
谢谢
我尝试将我的Adobe AIR应用程序上传到google play我收到以下消息.
您上传了一个使用Google Play服务版本4242000的APK.这仅适用于9级及以上的Android API级别.除非您已将清单中的minSdkVersion设置为9或更高,否则无法在Google Play中发布此内容.
我在我的应用程序xml中设置了minSdk版本,如下所示
<android>
<manifestAdditions>
<![CDATA[<manifest android:installLocation="preferExternal">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-sdk android:targetSdkVersion="17"/>
<uses-sdk android:minSdkVersion="10"/>
<supports-screens android:normalScreens="true" android:largeScreens="true" android:smallScreens="false" android:xlargeScreens="true"/>
<application>
Run Code Online (Sandbox Code Playgroud)
所以问题是我为什么会收到此错误?我检查过以前上传的应用程序,他们确实有8+的API,我也在这些上设置minSdk 10.看起来其他地方正在设置minSdk值并且清单被忽略了吗?有人知道它的位置吗?我正在使用AIR版本14.0.0.125它可能是AIR中的错误吗?
以下是我正在使用的ANE列表
<extensions>
<extensionID>com.chartboost.plugin.air</extensionID>
<extensionID>com.freshplanet.AirAlert</extensionID>
<extensionID>com.sticksports.nativeExtensions.GameCenter</extensionID>
<extensionID>com.sticksports.nativeExtensions.CanOpenUrl</extensionID>
<extensionID>com.freshplanet.AirGooglePlayGamesService</extensionID>
<extensionID>com.codealchemy.ane.admobane</extensionID>
</extensions>
Run Code Online (Sandbox Code Playgroud)