小编Win*_*ter的帖子

获取坐标时如何忽略fitviewport(LibGdx)上的黑条?

我有一个问题无法解决。我在游戏中使用 FitViewport 风格的舞台。

stage = new Stage(new FitViewport(SCREEN_WIDTH, SCREEN_HEIGHT));
Run Code Online (Sandbox Code Playgroud)

但是当我尝试获取触地坐标而屏幕上出现黑条时出现问题(如果屏幕具有正确的比例,则没有问题)。

@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) 
{
    xTouch = (int) (screenX * SCREEN_WIDTH/Gdx.graphics.getWidth());
    yTouch = (int) ((SCREEN_HEIGHT) - screenY * (SCREEN_HEIGHT)/Gdx.graphics.getHeight());
}
Run Code Online (Sandbox Code Playgroud)

我用这种方法获得的坐标给出了屏幕上的位置,而不是我的游戏世界上的位置。camera.unproject 做同样的事情。我的问题是,如何忽略黑条来获取游戏世界中的位置?我花了很多时间搜索但没有找到任何有用的解决方案。

java viewport touch coordinates libgdx

5
推荐指数
1
解决办法
913
查看次数

如何查看测试 Angular 2 ErrorHandler 重写类

我已经成功地覆盖了@angular/core ErrorHandler,但是我正在尝试创建一个视图测试来断言它的行为,并且我遇到了未捕获的异常。尽管在运行时工作并在 TestBed 提供程序中进行设置,但覆盖处理程序似乎并未运行。

ng2-错误处理程序.ts:

import { ErrorHandler } from '@angular/core';
import { logger } from './logger';

export class Ng2ErrorHandler extends ErrorHandler {

  constructor(){
    super(false); // don't rethrow error
  }

  /* tslint:disable:no-any */
  public handleError(error: any) {
    super.handleError(error);
    logger.handleLoggedError(error, error.message);
  }
  /* tslint:enable:no-any */

}

export const NG2_ERROR_HANDLER_PROVIDER = {
  provide: ErrorHandler,
  useClass: Ng2ErrorHandler,
};
Run Code Online (Sandbox Code Playgroud)

ng2-error-handler.view.spec.ts:

import { Component } from '@angular/core';
import { NG2_ERROR_HANDLER_PROVIDER } from './ng2-error-handler';
import { TestBed, ComponentFixture } from '@angular/core/testing';
import { logger, …
Run Code Online (Sandbox Code Playgroud)

error-handling integration-testing typescript angular

5
推荐指数
0
解决办法
1258
查看次数

是什么决定从lambda创建哪个功能接口?

请考虑这个例子:

import java.util.function.Consumer;

public class Example {
    public static void main(String[] args) {
        Example example = new Example();

        example.setConsumer(test -> System.out.println("passed string is " + test)); //uses MyConsumer, why ?
        example.getConsumer().accept("Test 1");

        example.setConsumer((MyConsumer<String>)test -> System.out.println("passed string is " + test)); //uses MyConsumer
        example.getConsumer().accept("Test 2");

        example.setConsumer((Consumer<String>)test -> System.out.println("passed string is " + test)); //uses Consumer
        example.getConsumer().accept("Test 3");
    }

    private Consumer<String> consumer;

    public Consumer<String> getConsumer() {
        return consumer;
    }

    public void setConsumer(Consumer<String> consumer) {
        this.consumer = consumer;
    }

    public void setConsumer(MyConsumer<String> consumer) …
Run Code Online (Sandbox Code Playgroud)

java lambda java-8 functional-interface

5
推荐指数
1
解决办法
169
查看次数

调试时如何在 Swing 中强制重绘?

我正在使用 Swing,在调试时,我想重绘整个框架以帮助我了解发生了什么。我可以用我的调试器完美地查看我的局部变量,但没有什么比视觉反馈更好。如何强制框架/面板重新粉刷?

我不在乎解决方案对实际应用程序有多脏/不合适,我只想在调试时用我的调试器的表达式评估器执行它。由于该repaint()方法似乎只是将事件添加到事件队列中,因此当我的调试暂停我的应用程序时它不起作用。我觉得我需要让 EventQueue 或 UI 线程自行更新,但我不知道如何。

我想在我在 EventQueue 线程中时有一个重新绘制的解决方案,但也有兴趣知道如果我在另一个线程中有什么不同。我正在使用 IntelliJ Idea 进行调试。

java debugging swing intellij-idea

5
推荐指数
0
解决办法
59
查看次数

客户端不支持服务器请求的身份验证协议

我需要与mysql5一起建立PHP4环境,当我尝试连接到mysql时我遇到了这个问题.

谢谢你的任何痕迹.

php mysql authentication php4 protocols

4
推荐指数
1
解决办法
2万
查看次数

是比较指针一个元素超过数组末尾明确定义的吗?

我通过这个问题了解到,递增NULL指针或递增超过数组的末尾并不是明确定义的行为:

int* pointer = 0;
pointer++;

int a[3];
int* pointer2 = &a[0];
pointer2 += 4; 
Run Code Online (Sandbox Code Playgroud)

但是如果指向无效位置的指针仅用于比较并且从未访问过他位置的内存?

例:

void exampleFunction(int arrayLen, char** strArray)
{
    for(char** str = strArray; str < strArray + arrayLen; str++) //or even str < &strArray[arrayLen]
    {
        //here *str is always a pointer to the first char of my string
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里,我将指针与一个元素超过数组末尾的指针进行比较.这是明确定义的行为吗?

c arrays pointers undefined-behavior

4
推荐指数
1
解决办法
408
查看次数

Java - 我想从命令行读取文件名,然后使用bufferedreader读取每一行

我正在得到一个日食红色下划线错误

 br = new BufferedReader(new FileReader(inFile));
Run Code Online (Sandbox Code Playgroud)

关于"inFile"的一行.这是我想要阅读的对象,我认为它包含我在命令行上给出的命令行文件名/路径.我处理这个错误吗?

import java.io.File;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class Main {

     public static void main(String[] args) {
      if (0 < args.length) {
          File inFile = new File(args[0]);
      }

        BufferedReader br = null;

        try {

            String sCurrentLine;

            br = new BufferedReader(new FileReader(inFile));

            while ((sCurrentLine = br.readLine()) != null) {
                System.out.println(sCurrentLine);
            }

        } 

        catch (IOException e) {
            e.printStackTrace();
        } 

        finally {
            try {
                if (br != null)br.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            } …
Run Code Online (Sandbox Code Playgroud)

java command-line bufferedreader

2
推荐指数
1
解决办法
4万
查看次数

为什么在这种情况下删除了父母的构造函数?

编译器抱怨D的构造函数因为生病原因而被删除了?

#include<iostream>
using namespace std;

class A
{
   int x;
   public:
   A(int i) { x = i; }
   void print() { cout << x; }
};

class B: virtual public A
{
   public:
      B():A(10) { }
};

class C: virtual public A 
{
   public:
      C():A(10) { }
};

class D: public B, public C {
};

int main()
{
   D d;
   d.print();
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

产量

main.cpp:37:4:错误:使用删除的函数'D :: D()'D d; ^ main.cpp:32:7:注意:'D :: D()'被隐式删除,因为默认定义不正确:D类:公共B,公共C {^

c++ multiple-inheritance

2
推荐指数
1
解决办法
66
查看次数

如何使用http Response方法读入去?

自从我处理go以来已经有一段时间了,我似乎忘记了如何阅读文档.

如果我这样做一个get请求......

resp, err := http.Get("https://example.com")
Run Code Online (Sandbox Code Playgroud)

然后我看到,响应具有Body该是一种的io.ReadCloser类型(https://golang.org/pkg/io/#ReadCloser).我看到ReadCloser对界面ReaderCloser.

当我查看Reader界面时,我发现它有一个Read将字节读入的方法p(https://golang.org/pkg/io/#Reader).

回顾一下,http Response有一个主体,它是一个io.ReadCloser接口,它本身包含一个ReaderRead方法的接口.

当我尝试这个时,我希望Read将响应字节转换为HTML,但我什么也看不见......

var html []byte
num, err := resp.Body.Read(html)
fmt.Println("\n\thtml: ", html)
fmt.Printf("\n\tnum: %v, err: %v\n", num, err)
Run Code Online (Sandbox Code Playgroud)

输出:

html:  []
num: 0, err: <nil>
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

go

1
推荐指数
1
解决办法
1864
查看次数

命名局部变量`property`有什么问题吗?

我正在尝试重构CLion中的局部变量来命名它,property但它实际上不会让我.我自己做的时候没有错误,但重构工具不那么乏味.

重命名property__property

将property__重命名为property

这是来自CLion的错误还是实际上它不希望我这样做的原因?我想如果它不是一个bug,它可能会与其他东西发生冲突,使我更安全地使用另一个名字.

PS:奇怪的想知道我需要将变量称为泛型property,我循环遍历XML属性和我正在使用的XML库调用属性(我不知道为什么).

for(c_xml_config::nodeProperty property : xmlModule.properties)
{
    //Lots of this calling this variable making it tedious to rename at hand...
}
Run Code Online (Sandbox Code Playgroud)

c++ clion

0
推荐指数
1
解决办法
70
查看次数