- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以下元素是否可以在一次调用中返回多个项目(即两个 GRect)
private GObject getColidingObject(){
if(getElementAt(ball.getX(), ball.getY()) != null){
return getElementAt(ball.getX(), ball.getY());
}else if(getElementAt(ball.getX() + BALL_RADIUS *2, ball.getY()) != null){
return getElementAt(ball.getX() + BALL_RADIUS *2, ball.getY());
}else if(getElementAt(ball.getX(), ball.getY() + BALL_RADIUS *2) != null){
return getElementAt(ball.getX(), ball.getY() + BALL_RADIUS *2);
}else if(getElementAt(ball.getX() + BALL_RADIUS *2, ball.getY() + BALL_RADIUS *2) != null){
return getElementAt(ball.getX() + BALL_RADIUS *2, ball.getY() + BALL_RADIUS *2);
}else{
return null;
}
}
最佳答案
您只能返回一个值,但您可以将该值设为数组。例如:
private GObject[] getCollidingObjects() {
GObject[] ret = new GObject[2];
ret[0] = ...;
ret[1] = ...;
return ret;
}
顺便说一句,当您开始在同一方法中多次重复使用同一表达式时,为了清楚起见,您应该考虑引入局部变量。例如,考虑这个而不是您的原始代码:
private GObject getCollidingObject(){
int x = ball.getX();
int y = ball.getY();
if (getElementAt(x, y) != null) {
return getElementAt(x, y);
}
if (getElementAt(x + BALL_RADIUS * 2, y) != null) {
return getElementAt(x + BALL_RADIUS * 2, y);
}
if (getElementAt(x, y + BALL_RADIUS * 2) != null) {
return getElementAt(x, y + BALL_RADIUS * 2);
}
if (getElementAt(x + BALL_RADIUS * 2, y + BALL_RADIUS * 2) != null) {
return getElementAt(x + BALL_RADIUS * 2, y + BALL_RADIUS * 2);
}
return null;
}
(您也可以对 x + BALL_RADIUS * 2
和 y + BALL_RADIUS * 2
执行相同的操作。)
您也可以考虑这样的事情:
private GObject getCollidingObject(){
int x = ball.getX();
int y = ball.getY();
return getFirstNonNull(getElementAt(x, y),
getElementAt(x + BALL_RADIUS * 2, y),
getElementAt(x, y + BALL_RADIUS * 2),
getElementAt(x + BALL_RADIUS * 2, y + BALL_RADIUS * 2));
}
private static getFirstNonNull(GObject... objects) {
for (GObject x : objects) {
if (x != null) {
return x;
}
}
return null;
}
(在 C# 中,有一种更好的方法可以使用空合并运算符来执行此操作,但没关系...)
关于java - 是否可以一次调用退回多件商品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1313492/
假设我有 15 个商店,每个商店有 4 种产品和自定义价格: 每个商店不会拥有全部 4 种产品,但只能有 2 种、3 种、4 种甚至 1 种。 价格相似,但根据每个商店定制。所有商店的价格每 2-3
我这辈子似乎无法获得我想要的结构并使其正常运行,所以我一怒之下来找你们。 设置:我有一个名为 Futures_Contracts 的目录,里面有大约 30 个文件夹,全部以标的 Assets 命名,最
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题吗? 更新问题,以便 editing this post 提供事实和引用来回答它. 关闭 9 年前。 Improve
所以我已经使用 Smalltalk 大约 6 个月了(Squeak 和 Pharo),主要是做数据分析,我即将开始我的第一个 Seaside 应用程序。所以我对所有 Smalltalkers 的问题是
我选择的选项对象如下所示: { 3 : 'c', 5 : 'a', 6 : 'b', ... } 我的重复看起来像这样: {{v}} 我想按值 (v) 排序,但据我所知
什么是最好的方法(使用的算法/数据结构)来获得在购物网站上订购的前 k 项商品,相关信息在其 n 个服务器中的每一个的日志中? 我正在考虑一种方法,该方法涉及维护一个固定大小的双向链表 k 每个节点都
我正在尝试编写一个模式来验证以下 XML: AK47 The USSR's chief export back in the day, and the guer
我们正在尝试将 Android Market 集成到我们的服务中,我们需要验证用户确实是特定应用程序的所有者,我们需要自动检索该特定应用程序的销售情况。 因此,我们一直在评估 Google Check
我们有一个代表客户购物记录的数组。例如,它是这样一个数组: custA, item1, custB, item1, custA, item2, custB, item3, custC, item1,
我是一名优秀的程序员,十分优秀!