小编For*_*Bru的帖子

检查触摸点是否在Unity中的盒子对撞机内

请看下面的图片.

在此输入图像描述

在此输入图像描述

在第一张图片中,您可以看到有箱式对撞机.第二个图像是我在Android设备上运行代码的时候

这是附加到Play游戏的代码(它是一个3D文本)

using UnityEngine;
using System.Collections;

public class PlayButton : MonoBehaviour {   

    public string levelToLoad;
    public AudioClip soundhover ;
    public AudioClip beep;
    public bool QuitButton;
    public Transform mButton;
    BoxCollider boxCollider;

    void Start () {
        boxCollider = mButton.collider as  BoxCollider;
    }

    void Update () {

        foreach (Touch touch in Input.touches) {

            if (touch.phase == TouchPhase.Began) {

                if (boxCollider.bounds.Contains (touch.position)) {
                    Application.LoadLevel (levelToLoad);
                }
            }                
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道碰撞点是否在碰撞器内部.我想这样做是因为我现在点击场景中的任何位置Application.LoadLevel(levelToLoad); 叫做.

如果我点击播放游戏文本,我希望它被调用.任何人都可以帮我解决这段代码,还是可以给我另一个解决问题的方法?


最近的守则遵循海森堡的逻辑

void Update () {

foreach( Touch touch in Input.touches …
Run Code Online (Sandbox Code Playgroud)

android unity-game-engine game-physics

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

Crc32 C实现 - 不起作用

我在互联网上找到了这个CRC32实现,稍微改变了一下,但我无法让它工作.我初始化它并在我从输入获得的每个字节上更新它,但我得到的哈希不是它应该是什么...

typedef struct {
    unsigned short xor;
} xor_context;
void crc32_init(crc32_context *context) {
    context->crc = 0xFFFFFFFF;
}
void crc32_update(crc32_context *context, unsigned char byte) {
    uint32_t crc, mask;

    crc = context->crc;
    crc = crc ^ byte;
    for (int j = 7; j >= 0; j--) {    // Do eight times.
        mask = -(crc & 1);
        crc = (crc >> 1) ^ (0xEDB88320 & mask);
    }
    context->crc = ~crc;
}
Run Code Online (Sandbox Code Playgroud)

这个是原创的

unsigned int crc32b(unsigned char *message) {
   int i, j;
   unsigned int …
Run Code Online (Sandbox Code Playgroud)

c crc32

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

类是如何在 C++ 内部实现的?

我试着用谷歌搜索它,但没有找到任何结果。该实现是否类似于 C 中使用函数指针和数据结构的类 hack?还是以另一种形式实现?

c++ class

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

我可以在代码中使用日志代替注释吗?

有人使用日志而不是评论吗?这样对吗?

例如:

logger.debug('Fingerprint is not specified. Returning only message that password is correct in response.');
logger.info('Password is correct. But fingerprintId was not passed. User ID:', foundUser.id);
logger.debug('Returning success message in response.');
Run Code Online (Sandbox Code Playgroud)

在这种情况下,日志有两件事:日志和评论。

这是常见做法吗?

logging

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

图像方向(python + openCV)

使用Python和OpenCV,我尝试读取大小为(3264 * 2448)的图像,但是生成的大小始终为(2448 * 3264)。这意味着图像方向改变了90度。代码如下:

img1 = cv2.imread("C:\\Users\\test.jpg", 0) 
cv2.namedWindow("test", 0) 
cv2.imshow("test", img1)
Run Code Online (Sandbox Code Playgroud)

原始的图像是这样的:

在此处输入图片说明

但我得到这张图片:

在此处输入图片说明

python opencv image direction imread

5
推荐指数
2
解决办法
3986
查看次数

NASM和8位内存偏移混淆

从英特尔软件开发人员手册(本文中称为ISDM)和x86指令集参考(我假设,它只是前者的副本),我们知道该mov指令可以将数据从eax/ax/al内存偏移量移动到反之亦然.

例如,mov moffs8, alal寄存器的内容移动到某个8位的存储器偏移量moffs8.

现在,是什么 moffs8?引用ISDM(3.1.1.3):

moffs8,moffs16,moffs32,moffs64 - MOV指令的某些变体使用的字节,字或双字类型的简单存储器变量(存储器偏移).实际地址由相对于段基的简单偏移给出.指令中没有使用ModR/M字节.显示的数字moffs表示其大小,该大小由指令的地址大小属性决定.

我强调句子说的moffs8字节类型,大小是8位.

我是大会的初学者,所以,在读完之后,我立即开始mov moffs8, al使用NASM 的指令.这是我写的代码:

; File name: mov_8_bit_al.s
USE32

section .text
    mov BYTE [data], al

section .bss
    data resb 2
Run Code Online (Sandbox Code Playgroud)

这是nasm -f bin mov_8_bit_al.s产生的(十六进制):

A2 08 00 00 00
Run Code Online (Sandbox Code Playgroud)

以下是我对此的理解:

  • A2 是的操作码 MOV moffs8, AL
  • 08是内存偏移本身,大小为1个字节
  • 00 00 00 …

x86 assembly mov

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

如何使用“serial.tools.list_ports”python 模块获取可用串行端口的列表?

我是 python 新手,我需要一个可用串行端口列表来在程序中选择其中一个。根据This,该serial.tools.list_ports模块可以通过执行方法为我做到这一点serial.tools.list_ports.comports()。因此,我在python解释器中执行了以下代码:

import serial.tools.list_ports
a=serial.tools.list_ports.comports()
print(a)
Run Code Online (Sandbox Code Playgroud)

结果是:

[<serial.tools.list_ports_linux.SysFS object at 0x7f2503d27be0>]
Run Code Online (Sandbox Code Playgroud)

ubuntu当我在终端中使用以下命令时

python3 -m serial.tools.list_ports
Run Code Online (Sandbox Code Playgroud)

它返回我想要的:

/dev/ttyUSB0        
1 ports found
Run Code Online (Sandbox Code Playgroud)

哪里有问题?

python pyserial python-3.x

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

t-SNE:Sklearn AttributeError:“NoneType”对象没有属性“split”

对以下错误有帮助吗?我正在运行 PCA 和 t-SNE,PCA 似乎运行良好,但无论我在哪里运行 t-SNE,都会遇到以下错误。我的 t-SNE 代码如下:

def T_SNE(X,Label,Component=2,title=""):

    tsne = TSNE(n_components=Component)

    tsne_result = tsne.fit_transform(X)
   
    tsne_result_df = pd.DataFrame({'T_SNE_1': tsne_result[:,0], 'T_SNE_2': tsne_result[:,1], 
                                   'label': Label})
    lim = (tsne_result.min()-0.1*tsne_result.min(), tsne_result.max()+0.1*tsne_result.min())
    
    PLOT(TITLE=title,Product="T_SNE",Label=Label,Data=tsne_result_df,lim=lim)

    return tsne_result,tsne
    

result,tsne=T_SNE(X=X_Number,Label=Y_Number,Component=2,title="Digit_data")
Run Code Online (Sandbox Code Playgroud)

以下错误

AttributeError: 'NoneType' object has no attribute 'split'
Run Code Online (Sandbox Code Playgroud)

python nonetype scikit-learn

5
推荐指数
2
解决办法
2042
查看次数

Haskell'任何'功能 - 素性检查

我正在尝试is_prime在Haskell中定义一个函数.任何人都可以指出使用任何功能的问题?

另外,我知道下面的代码是天真的,但我正在学习语言,所以从babysteps开始.

is_prime 0 = False
is_prime 1 = False
is_prime 2 = True
is_prime n = any [n `mod` k == 0 | k <- [2.. sqrt n]]
Run Code Online (Sandbox Code Playgroud)

haskell

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

Python - 有效地找到某些东西会在排序列表中出现的位置?

我有一个清单:

x = ['c', 'a', 'e']
Run Code Online (Sandbox Code Playgroud)

我可以对此列表进行排序:

x_sorted = sorted(x)
Run Code Online (Sandbox Code Playgroud)

x_sorted 就是现在 ['a', 'c', 'e']

现在让我们说我有一个新的变量 y = 'd'

我想知道x_sorted这个新变量会落在哪里.在此示例中,新变量y包含字符串,'d'因此它将放置['a', 'c', 'd', 'e']在列表的索引2中.我希望尽可能有效地找出这个索引号(因为我必须多次重复这个过程).

这是我写的一个函数,它非常简单地执行任务:

def f(x_sorted, y):
    new_list = x_sorted[:] + [y]
    return sorted(new_list).index(y)
Run Code Online (Sandbox Code Playgroud)

这给了我正确的答案.

我想知道是否有更好的更有效的方法,这f将被称为100,000+次.

提前致谢!

python sorting

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