我目前正在从React Native,0.55和React-Viro中使用AR应用程序,版本,2.12.0。它是口袋妖怪,例如应用程序,在AR页面上,有可点击的项目。当用户单击它时,它将打开模式。在DEV中(这是完整的Commmand:ADB反向TCP:8081 TCP:8081& amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; variant = ardebug),它立即访问。但是,当我们以释放模式将其搭配时,模态至少需要一分钟才能出现。
页面的代码为:
<ViroARScene onTrackingUpdated={this._onInitialized}>
<ViroSpotLight
innerAngle={5}
outerAngle={45}
direction={[0, -1, -0.2]}
color="#ffffff"
castsShadow={true}
influenceBitMask={2}
shadowMapSize={2048}
shadowNearZ={2}
shadowFarZ={5}
shadowOpacity={0.7}
/>
<ViroAmbientLight color="#ffffff" />
<ViroNode ref={_setARNodeRef} onClick={this.tryGain}>
<Viro3DObject
position={[x, 0, z]}
scale={[0.5, 0.5, 0.5]}
rotation={[0, 0, 0]}
source={require(`${ROOT_3D_ASSET}chest/coffre_bois_obj.obj`)}
resources={[
require(`${ROOT_3D_ASSET}chest/coffre_bois_mtl.mtl`),
require(`${ROOT_3D_ASSET}chest/wood.jpg`),
require(`${ROOT_3D_ASSET}chest/wood2.jpg`),
require(`${ROOT_3D_ASSET}chest/gold.jpg`)
]}
onLoadStart={this._onLoadStart}
onLoadEnd={this._onLoadEnd}
onError={this._onError}
lightReceivingBitMask={3}
shadowCastingBitMask={2}
type="OBJ"
/>
</ViroNode>
</ViroARScene>
,点击事件的功能为
tryGain = _ => {
this.clickInterval=setInterval(() => (this.hasClicked = false), 500);// in case click, goes nowherer
if (this.hasClicked) {
return;
}
handleTryGain.call(this, this.props.activeGainPoiId, this.props.isDemo);
this.hasClicked = true;
};
这是相同的代码,所以我不确定为什么有太大的区别。有人有同样的问题吗?
谢谢
,所以我弄清楚了查看日志猫的问题。由于这些道具OnloadStart,Onloadend&amp;&amp;OnError,我正在输出错误的日志,该日志覆盖了该应用程序,从而导致延迟。我通过简单地将问题删除在Viro3Dobject
中解决了问题。<Viro3DObject ... same
-> Deleted onLoadStart={this._onLoadStart}
-> Deleted onLoadEnd={this._onLoadEnd}
-> Deleted onError={this._onError} lightReceivingBitMask={3} shadowCastingBitMask={2} type="OBJ" />
仍然有一些错误,但这不会影响应用程序