我正在创建一个3D游戏,但我不知道如何根据我的手指翻译相机.我正在创建一个地图(x = -30到+30; y = -30到30; z = -1到1),其中每个坐标用于使用我的资产中的.g3db文件的模型,并使用模型放置到位翻译.这项工作到目前为止,地图看起来很好,并以67%的角度查看.地图太大,无法立即在相机中查看(不,我不想缩小).每当我触摸我的Android手机的屏幕时,它只是围绕中心旋转,而是我希望游戏地图从我的视角保持原位,而是改变透视摄像机在x和y轴上的位置.没有可用于位置跟踪的游戏对象,一切都应该取决于我的手指动作.这样我想要移动到每个x和y方向的可见屏幕(想象它看起来像2D摄像机向上,向下和向前移动到图片前面).你能帮助我吗?
到目前为止这是我的代码:
public class MyGdxGame extends ApplicationAdapter implements ApplicationListener{
//define variables
...
@Override
public void create() {
environment = new Environment();
environment.set(new ColorAttribute(ColorAttribute.AmbientLight, 0.4f, 0.4f, 0.4f, 1f));
environment.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, -1f, -0.8f, -0.2f));
modelBatch = new ModelBatch();
cam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
cam.position.set(10f, 10f, 10f);
cam.lookAt(0,0,0);
cam.near = 1f;
cam.far = 300f;
cam.update();
assets = new AssetManager();
//load assets
...
loading = true;
camController = new CameraInputController(cam);
camController.forwardTarget = true; …Run Code Online (Sandbox Code Playgroud) 我有一个带有文件上传输入的功能组件。如果我添加一个名为 1.csv 的 .csv 文件,该组件就可以正常工作。它也适用于我之后加载的其他文件,例如 2.csv 或 3.csv,如果我更改顺序(例如,先是 3.csv,然后是 1.cav,然后是 2.csv),一切都很好。如果我上传 1.csv,然后再次上传 1.csv,中间没有其他上传,则不会触发 onChange 事件。如果文件与前一个文件相同,有什么想法会阻止 onChange 事件吗?
我的组件:
interface UploadInputProps {
accept?: string;
label?: string;
onChange?: (value: any) => void;
}
const UploadInput: React.FC<UploadInputProps> = ({ accept, label, onChange }) => {
return (
<Container style="align-items: center">
<div className="upload-btn-wrapper">
<label className="uploadBtn">
<i className="fal fa-file-import uploadIcon" />
<input type="file" name="fileUpload" title=" " accept={accept} onChange={onChange} />
{label}
</label>
</div>
</Container>
);
};
Run Code Online (Sandbox Code Playgroud)
我猜这是因为文件输入始终是反应中不受控制的组件。有什么想法如何触发它,即使它是连续 x 次的同一个文件?
提前致谢 :)
我有一个包含约 70 个表的大型架构,其中许多表相互连接(194 个 @connection 指令),如下所示:
type table1 @model {
id:ID!
name: String!
...
table2: table2 @connection
}
type table2 @model {
id:ID!
....
}
Run Code Online (Sandbox Code Playgroud)
这很好用。现在我的数据量正在稳步增长,我需要能够查询结果并对它们进行排序。
我读过几篇文章,发现其中一篇建议我创建一个 @key 指令来生成具有 2 个字段的 GSI,这样我就可以说“根据我的过滤器属性过滤结果,按字段“名称”对它们进行排序并返回前 10 个条目,其余可通过 nextToken 参数访问”
所以我尝试添加一个像这样的GSI:
type table1 @model
@key(name: "byName", fields:["id","name"], queryField:"idByName"){
id:ID!
name: String!
...
table2: table2 @connection
}
Run Code Online (Sandbox Code Playgroud)
跑步
amplify push --minify
Run Code Online (Sandbox Code Playgroud)
我收到错误
Attempting to add a local secondary index to the table1Table table in the table1 stack. Local secondary indexes must be created when the …Run Code Online (Sandbox Code Playgroud) 我已经创建了一个twig模板,它将创建一个带有复选框和js函数的项目表,可以使用一个按钮触发该函数,该按钮将返回选中复选框的所有项目的ID.这到目前为止工作正常.现在我需要调用一个服务并传递一个包含所有选定ID的数组.
有没有一种很好的方法从树枝模板中的js部分调用服务?我不想为服务创建控制器并使用curl来调用它.
最好的问候Christian
我是 GAS 的新手,我在权限系统方面很挣扎。
我是一个普通的 Google Drive 用户,我启动了一个电子表格并尝试向其中添加一些代码。我的代码可以工作,但前提是我在代码编辑器中。我想使用 onEdit() 函数,所以它也可以在工作表中工作对我来说很重要。当我第一次在编辑器中运行我的代码时,它打开了一个新窗口,我需要在其中输入我的凭据以允许脚本,然后它就可以工作了。如果我对工作表中的单元格进行一些更改并触发 onEdit() 函数,我会收到一条错误消息,内容如下(已翻译):
Exception: You are not permitted to call UrlFetchApp.fetch. Required permission: https://www.googleapis.com/auth/script.external_request
Run Code Online (Sandbox Code Playgroud)
在编辑器中,我显示了清单文件并向 oauthScopes 添加了权限,但在工作表中我仍然收到消息。这是我的代码的样子(简化):
function onEdit(e)
{
var data = {
'key1': 'value1',
'key2': 'value2'
};
var options = {
'method' : 'post',
'contentType': 'application/json',
'payload' : JSON.stringify(data)
};
try{
var response = UrlFetchApp.fetch('https://a-working-url.com', options); //error happening in this line
//some more data wizardry
}catch(error)
{
Browser.msgBox(error)
}
}
Run Code Online (Sandbox Code Playgroud)
任何想法如何在我的工作表中打开此权限屏幕或任何提示如何以不同的方式解决它?我想创建一个工作表,其中一些代码在后台运行。我想和一些朋友分享表格,之前用 Excel 和 VBA 尝试过,直到我意识到它不适用于 Excel Online,所以我切换到 GAS。
在此先感谢您的帮助 :)
android ×1
aws-amplify ×1
camera ×1
graphql ×1
input ×1
java ×1
libgdx ×1
permissions ×1
reactjs ×1
symfony ×1
twig ×1
typescript ×1