Box2D | 调整夹具大小而不破坏/重新创建?

我想动态地改变一个灯具的大小。 最初我会毁坏每一帧夹具,然后重新创建新的尺寸。 这个问题是,因为我每帧重新创建灯具,ContactListener是搞砸了,因为它会调用beginContact和endContact每一帧(因为我不断破坏/重新创建灯具)。 有没有办法解决? 我需要联系侦听器工作。 谢谢!

Android的工作室2.3总是挂出

我在Gradle 2.3.3使用Android Studio 2.3 。 我面对一个奇怪的问题,被困一个星期。 当我输入一些代码行时,它会很常挂起,在它显示auto complete框之前。 或者,如果我没有输入任何内容,而是使用Command-click来查找变量或方法的实现,则会显示对话框“ Resolving Reference并挂起。 有时候,如果我切换到另一个应用程序一段时间,并切换回查看Android Studio,它也挂起。 我已经尝试了许多不同的方法,但没有帮助,其中包括: 删除Android工作室完全按照这个答案,然后再下载并安装。 转到菜单File > Invalidate Cache/Restart… 删除JDK并重新安装。 我正在使用JDK jdk-8u131-macosx-x64从这里下载 删除所有生成文件夹和Rebuild Project 回滚到我过去成功构建的项目稳定的源代码。 尝试使用Android Studio 3.0 Preview 降级或升级Gradle Plugin 下载并用Android Studio替换JDK包遵循这个线程 以上所有方法都无助于保持Android Studio的稳定性。 我正在使用16Gb的RAM,核心i7, MacOS Sierra 10.12.5 Macbook,我不认为这个挂机是关于我的笔记本电脑的规格, 所以我在这里报告我的情况,并希望有人能帮助给我新的建议。 任何想法或建议表示赞赏。 更新 :我检查~/Library/Logs/Android Studio2.3/下的Android Studio的日志,并看到一些异常日志文件。 以下是最新的一个: 2017-07-04 19:14:35,633 [1233357] INFO – roid.sdk.MessageBuildingSdkLog – Exception […]

如何在Kotlin中使用Jackson JsonSubTypes注释

我试图转换一些Java代码,使用杰克逊的@JsonSubTypes注释来管理多态。 这是工作的Java代码: @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") @JsonSubTypes({ @JsonSubTypes.Type(value = Comment.class, name = "CommentNote"), @JsonSubTypes.Type(value = Photo.class, name = "PhotoNote"), @JsonSubTypes.Type(value = Document.class, name = "DocumentNote") }) public abstract class Note implements Identifiable { […] 这是我认为相当的Kotlin代码: JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") JsonSubTypes( JsonSubTypes.Type(value = javaClass<Comment>(), […]

禁用按钮

你好,我想这样做:我有两个EditText和一个按钮,我想禁用该按钮,如果其中一个EditText是空的。 要做到这一点,我试试这个: if(editText1!!.getText().length == 0 || editText2!!.getText().length == 0 ){ button1!!.setEnabled(false) } 问题是我的按钮是每次禁用…我会的时候,两个EditText不是空的,我可以点击按钮… 我该怎么做? 谢谢 !

为什么上下文不具有活动的主要颜色属性?

我正在写一个图书馆,有一个照片编辑活动。 当用户完成编辑时,会出现一个带有彩色背景的“完成”按钮。 我想能够自定义按钮的颜色,所以我有不同的类中创建不同颜色的drawable的静态方法。 我想在这个类中做的事情是一个函数,它接收一个Context引用,并用原色创建一个drawable。 这是我的代码: //code from FlatButtonDrawable class companion object fun new(ctx: Context): StateListDrawable{ val typedValue = TypedValue(); val a = ctx.obtainStyledAttributes(typedValue.data, intArrayOf(R.attr.colorPrimary)) val color = a.getColor(0, 0); a.recycle(); return createColorDrawable(color) } 这个函数从Context获取主要的颜色,并返回一个可绘制的颜色。 问题是找不到primaryColor属性,所以它返回一个无色的drawable。 更奇怪的是,如果我在我的活动中获取主要颜色, 然后调用静态方法,它就可以工作。 代码如下: //code from activity class val sendButton = findViewById(R.id.sendPhoto) as Button val typedValue = TypedValue(); val a = […]

如何调试Kotlin序列/集合

采取以下一行,可以表示为一个集合或序列上的一系列操作: val nums = (10 downTo 1) // .asSequence() if we want this to be a sequence .filter { it % 2 == 0 } .map { it * it } .sorted() // .asList() if declaring it a sequence println(nums) // [4, 16, 36, 64, 100] 比方说,我想看看每一步的元素,他们会(从扣除): [10, 9, 8, 7, 6, 5, 4, 3, […]

我对以下Kotlin声明感到困惑

val s = person.name ?: return 我知道那个? 用于无效安全…但是:return做什么。

Gradle中的实现和编译有什么区别?

更新到android studio 3.0并创建一个新的项目后,我注意到,在build.gradle有一个新的方法来添加新的依赖关系,而不是compile有implementation 而不是testCompile有testImplementation 例如: implementation 'com.android.support:appcompat-v7:25.0.0' testImplementation 'junit:junit:4.12' 代替 compile 'com.android.support:appcompat-v7:25.0.0' testCompile 'junit:junit:4.12' 他们之间有什么区别,我应该使用什么。

ktor:如何实现“pub-> sec”路由模式

我需要简化在ktor的路由配置中集成身份验证。 同时保持公共/安全通用的路由规则。 我想堆叠所有的路线如下: 公共路线 认证拦截器 安全路线 如公共路线 POST /api/v1/story/{id}/comment GET /api/v1/story/{id} 安全路线 GET/PUT/POST/DELETE /api/v1/user/{id} PUT/POST/DELETE /api/v1/story/{id} 一般来说,公共/安全路由可以基于任何东西 – 头部,方法,前缀等。 目前,我正在叶级路由节点添加身份验证拦截器。 这很麻烦,我正在寻找一个通用的方式来实现路由,如下所示: public routes … authentication { // check if a public route was executed, if so, return // otherwise, verify the jwt token for security // if unauthenticated, return 401 else proceed } … secured […]

如何在不同的类中调用函数

我有一个可以玩机器人或朋友的游戏。 所以我做了一个新的课,让用户选择玩谁,在新课上我做了两个按钮,第一个是“BOT”,第二个是“朋友”。 所以对于这些按钮,我想调用一个不同的函数,我已经在我以前的课上这个类。 我怎样才能做到这一点? 代码的功能之一: fun playGame(cellId: Int, buSelected: Button) { if (activePlayer == 1) { txtView.text = "Player 2 turn" buSelected.text = "X" buSelected.setBackgroundColor(Color.GREEN) player1.add(cellId) activePlayer = 2 } else { txtView.text = "Player 1 turn" buSelected.text = "O" buSelected.setBackgroundColor(Color.BLUE) player2.add(cellId) activePlayer = 1 } 我想在新的类中调用playGame() 。