小编slo*_*oth的帖子

检查点是否与pygame中的曲面(像素完美)发生碰撞

我正在开发一种游戏(导弹命令克隆),我需要检查一个surface(建筑物)是否与point(导弹)发生碰撞.

截图导弹命令

如何检查导弹是否撞击建筑物?

A Rect有这个collidepoint方法,但我希望它是像素完美的.

现场=>使用a Rect=>使用rect =>但它应该是像素完美=> 想要像素完美

python pygame collision-detection

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

使用WebProxy时HttpWebRequest的奇怪行为

我有一个带有StreamReader的HttpWebRequest,它可以在不使用WebProxy的情况下工作得很好.当我使用WebProxy时,StreamReader会读取奇怪的字符而不是实际的html.这是代码.

HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://URL");
req.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10";
req.Accept = "application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
req.Headers.Add("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.3");
req.Headers.Add("Accept-Encoding", "gzip,deflate,sdch");
req.Headers.Add("Accept-Language", "en-US,en;q=0.8");
req.Method = "GET";
req.CookieContainer = new CookieContainer();

WebProxy proxy = new WebProxy("proxyIP:proxyPort");
proxy.Credentials = new NetworkCredential("proxyUser", "proxyPass");
req.Proxy = this.proxy;
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
StreamReader reader = new StreamReader(res.GetResponseStream());
string html = reader.ReadToEnd();
Run Code Online (Sandbox Code Playgroud)

不使用WebProxy,变量html保存URL中的预期html字符串.但是,使用a WebProxy,html保持这样的值:

"\b\0\0\0\0\0 \0 ]r s Y \0\tP \"] ki - …

c# proxy httpwebrequest httpwebresponse webproxy

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

命令、函数和系统调用之间的区别

commandfunction和有什么区别systemcall

linux

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

Python:如何在异常停止后在try语句中继续执行

在我的应用程序中,我正在从文件中加载一些数据.这可能会失败并引发异常.因此,我想记录一个警告并继续加载下一个数据.

我这样做:

try:
    data_A = getDefaultConf(param_1,param_2)
except Exception as e:
    log(WARNING, "Failed to get default parametres: "+str(e))
try:
    data_B = getDefaultConf(param_1,param_3)
except Exception as e:
    log(WARNING, "Failed to get default parametres: "+str(e))
try:
    data_C = getDefaultConf(param_4,param_5)
except Exception as e:
    log(WARNING, "Failed to get default parametres: "+str(e))
try:
    data_D = getDefaultConf(param_4,param_6)
except Exception as e:
    log(WARNING, "Failed to get default parametres: "+str(e))
try:
    data_E = getDefaultConf(param_4,param_7)
except Exception as e:
    log(WARNING, "Failed to get default parametres: "+str(e))
Run Code Online (Sandbox Code Playgroud)

它有效,但看起来很重.所以,我的问题是:它是否有办法让它更轻松?它可能是这样的工作:

try:
    data_A …
Run Code Online (Sandbox Code Playgroud)

python exception try-catch

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

Cython cdef没有速度增加

我终于得到了cython工作,感谢stackoverflow上的一些人,但现在有一个问题.从我不使用cdef到使用cdef时,确实没有速度增加.当我使用cython编译python代码时,不要误会我有一个非常明显的速度增加,但是当我使用cdef时并不是这样.

这是代码区域正在减慢程序的其余部分:

def tupdate(self,surf):     

    cdef int x
    cdef int y

    for x in xrange(self.w):
        for y in xrange(self.h):
            if self.map[(x,y)].y <= 600 and self.map[(x,y)].y >= -50: self.map[(x,y)].FLAG = 1
            else: self.map[(x,y)].FLAG = 0
            self.map[(x,y)].y += self.speed
            if self.map[(x,y)].FLAG:
                self.map[(x,y)].rect = ((self.map[(x,y)].x,self.map[(x,y)].y),(50,25))
                self.map[(x,y)].update()
                self.map[(x,y)].render(surf)
Run Code Online (Sandbox Code Playgroud)

这个代码应该每秒被调用60次,但由于代码的速度和我的旧硬件只能被调用大约每秒30次,我认为使用cdef这样强烈使用的变量如x和y会有所帮助.但是fde在cdef之前和之后都是一样的.

我使用的是32位python 2.7的Windows 7 64位

c python cython

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

从字符串“ FalseTrue”到类型“ Boolean”的转换无效-Exception

这是我的VB Net代码:

Public Class Form1

   Dim hue As Single

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles      Button1.Click
   Dim hueMin As Single = 205
     Dim hueMax As Single = 259

            If (hue > hueMin) & (hue < hueMax) Then

                 bmp.SetPixel(Xcor, Ycor, Color.Black)

             End If
   End Sub

End Class
Run Code Online (Sandbox Code Playgroud)

我进入这一行:

            If (hue > hueMin) & (hue < hueMax) Then
Run Code Online (Sandbox Code Playgroud)

此异常:

{“从字符串“ FalseTrue”到类型“ Boolean”的转换无效。”}

任何想法我怎么解决代码?先感谢您。

.net vb.net

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

在没有tnsname.ora的情况下连接到Oracle

我需要从我的.Net应用程序连接到oracle.

我正在考虑使用ODP.NET

有没有办法连接到Oracle而不依赖于该tnsnames.ora文件?我问的原因是因为我将有数百个不同的连接,我不想依赖于该文件.

.net c# oracle

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

def函数的Python 3语法错误((x,y))

所以我正在分析这段代码,我有理由相信这是用python 2.X编码的,但我正在使用3.2,并希望转换它以便它可以工作.

我遇到的第一个错误是带有语法的函数

def function((x,y))
Run Code Online (Sandbox Code Playgroud)

为什么它在Py3中不起作用,有什么替代方案?

python parameters function python-2.x python-3.x

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

使用linq逐项比较两个列表

我想逐项比较两个列表.如何使用linq表达以下代码?

bool result = true;
var list1 = new List<int> { 10, 20, 30, 40 };
var list2 = new List<int> { 10, 20, 30, 40 };
for (int index = 0; index < list1.Count(); index++)
{
   result &= list1[index] == list2[index];
}
Run Code Online (Sandbox Code Playgroud)

c# linq list

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

在 pygame 中只运行一次 if 语句

我有一个跑步游戏,您可以在其中移动和收集硬币。对于每枚硬币,我都有一个 if 语句:

if cn1+25 < x and cn1 + 50 > x:
        cn1 = -1000
        if cn1 < -3:
            coincount += 1
            textObj = INVFONT.render(str(coincount+1), True, WHITE, BLACK)
Run Code Online (Sandbox Code Playgroud)

这个 if 语句一遍又一遍地发生,将数百个硬币添加到变量中coincount。稍后在我的代码中,我将 coincount 中的硬币数量 blit 到屏幕上。

有没有办法确保这只运行一次?

(这是我的其余代码,您可能会有所帮助)

import pygame,sys,random
pygame.init()

width = 900
height = 300
screenDim = (width,height)
green=(0,255,0)
yellow=(255,255,0)
red=(255,0,0)
WHITE = (0,0,0)
BLACK = (255,255,255)
screen = pygame.display.set_mode(screenDim)

placePlatformX = 0
placePlatformY = 275
coin = pygame.image.load('C:\\Users\\eliya_s1suf2x\\Desktop\\coin.png').convert_alpha()
coin = pygame.transform.scale(coin, (25,25))
background = pygame.image.load('C:\\Users\\eliya_s1suf2x\\Desktop\\background.jpg').convert_alpha() …
Run Code Online (Sandbox Code Playgroud)

python pygame

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