我正试图弄清楚如何解决我的问题.我已经阅读http://groups.google.com/group/android-developers/browse_thread/thread/a2aac88a08cb56c2/b7dff4ba388cd664?lnk=gst&q=SurfaceView#b7dff4ba388cd664这些问题可以解答我的问题,但据我所知,这是一种"艰难的运气"答案.所以这是我的问题:
我正在以正常方式使用SurfaceView(lock/unlockAndPost)在表面改变时绘制我的游戏背景的位图(例如方向等)并且我渲染一系列移动圆(最多30个半径为约25.f).这些圈子的位置的x,y数据来自服务器,并且一切正常.所有圆形对象都存储在列表中,并且它们的位置会更新,以确保同步更新.然而,当我将这些圆圈绘制到屏幕上时(在canvas.lock()期间),大多数时候它们渲染得很好但偶尔(例如每隔几秒一次),一些圆圈似乎会撕裂或闪烁一帧.圆的数量总是不变的,所以这不是问题,并且没有对圆列表的并发修改(正如我所说,它是同步的).我甚至尝试将所有这些圆形绘制到每个渲染循环上的位图并将该位图绘制到主画布.这似乎只会影响性能(~13FPS,而不是直接将圆圈绘制到主画布时的〜30FPS).对不起,如果这些信息有点模糊,(试图让公司高兴:p)但我只是想知道是否有人能给我一个线索?或者我只是运气不好.我应该注意到来自服务器的定位数据是实时数据,渲染反映这些实时位置至关重要.对不起,如果这些信息有点模糊,(试图让公司高兴:p)但我只是想知道是否有人能给我一个线索?或者我只是运气不好.我应该注意到来自服务器的定位数据是实时数据,渲染反映这些实时位置至关重要.对不起,如果这些信息有点模糊,(试图让公司高兴:p)但我只是想知道是否有人能给我一个线索?或者我只是运气不好.我应该注意到来自服务器的定位数据是实时数据,渲染反映这些实时位置至关重要.
谢谢你的帮助!克里斯
编辑:
很公平.这是来自渲染线程的run().
@Override
public void run() {
Canvas c;
while (mRun) {
c = null;
try {
c = mSurfaceHolder.lockCanvas(null);
synchronized (mSurfaceHolder) {
panel.onDraw(c);
}
} finally {
if (c != null) {
mSurfaceHolder.unlockCanvasAndPost(c);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
很标准的东西(几乎是月球着陆器的副本:p)
@Override
public void surfaceCreated(SurfaceHolder holder) {
mBackground= Bitmap.createBitmap(this.getWidth(), this.getHeight(), Bitmap.Config.RGB_565);
screenOrientation = getResources().getConfiguration().orientation;
if(thread.getState()== Thread.State.TERMINATED){
thread = new RenderThread(holder, this);
thread.setRunning(true);
thread.start();
}else {
thread.setRunning(true);
thread.start();
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种从给定字符串中检索所有电子邮件地址的方法.例如:如果我有字符串"AB CD [ABCD@gmail.com]"我想只收到"ABCD@gmail.com".
我想我应该使用RegExp和String匹配功能,但我不知道如何.
有任何想法吗?
apache-flex flash actionscript actionscript-2 actionscript-3
每次我在Perforce中重命名文件时,它实际上会删除一个旧文件并添加一个新文件.因此,新文件不会共享旧文件的历史记录.这样做有简单的方法吗?
我有以下问题是否有可能在c ++中使用以下规则创建头文件.让我们拿标题
#include "sum.h"
Run Code Online (Sandbox Code Playgroud)
在sum.hi中将声明函数或过程,然后在.cpp文件中使用它?
我正在尝试使用Python的MySQLdb模块更新MySQL表.虽然查询看起来相当简单,但它不会更新信息.这是我的代码:
for username,info in users.iteritems():
if info[0] > 0 and info[1] > 0:
month = 8
year = 2010
cursor.execute("""
UPDATE users_disk
SET
bytes = %s,
quota_in_mb = %s
WHERE
username = %s AND
month = %s AND
year = %s
""", (info[0], info[1], username, month, year))
print "Username: %s; Rowcount: %d" % (username, cursor.rowcount)
Run Code Online (Sandbox Code Playgroud)
输出如下所示:
Username: niu666; Rowcount: 0
Username: antuan; Rowcount: 0
Username: tuyo; Rowcount: 0
Username: angela; Rowcount: 0
Username: felipe; Rowcount: 0
Username: Meni; Rowcount: 0 …Run Code Online (Sandbox Code Playgroud) 如果名为MY_SEQ的特定序列退出,我需要找到使用PL/SQL.如果序列存在,则删除它并创建一个新序列,否则只创建一个新序列.
EG(伪代码)
IF EXISTS(MY_SEQ) THEN
BEGIN
DROP SEQUENCE MY_SEQ;
CREATE SEQUENCE MY_SEQ...
END;
ELSE
BEGIN
CREATE SEQUENCE MY_SEQ;
END;
Run Code Online (Sandbox Code Playgroud) 我的问题是:在PHP中,接口对于自己构建网站应用程序的开发人员真的很有用吗?是不是提供界面提供的所有东西的抽象类?
如果一个接口只是一个"契约",那么开发人员是否意识到该类应该实现的东西?
我能想到的唯一一个好处就是一个类可以实现多个接口,但是当你知道一个类应该实现的所有东西时,这又是多么有用.你只是强迫自己实现这些方法.
正如你所知,当我真正理解为什么界面有用时,我仍然在等待那个A-HA时刻.
包装它并简单说明:何时应该使用接口,为什么不使用抽象类呢?
我一直在搞乱这段代码一个多小时,试图以不同的方式重新安排它.有没有更简单的方法来写它?
if x is not Number ;// if x is string
{
if y is not Number ;// x, y both strings
{
Eval(x)
Eval(y)
return
}
else ;// x is string, y is Number
{
Eval(x)
Scale(y)
return
}
}
else if y is not Number ;// x is Number, y is string
{
Scale(x)
Eval(y)
return
}
else ;// both are numbers
{
Scale(x)
Scale(y)
return
}
Run Code Online (Sandbox Code Playgroud) 假设我有两页links.html&contents.php...第一页只包含html代码,而第二页包含一些HTML + PHP代码 ....
现在我要创建一个index.php包含两个DIV 的页面,我想在其中显示\加载以上两页...
<html>
<body>
<div id="links" class="myCustom1">
<!--here will be the links.html page-->
</div>
<div id="contents" class="myCustom2">
<!--here will be the contents.php page-->
</div>
</body>
<html>
Run Code Online (Sandbox Code Playgroud)
怎么做
我很难开始使用libcurl.下面的代码似乎没有从指定的URL检索整个页面.我哪里错了?
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <curl/curl.h>
#include <curl/types.h>
#include <curl/easy.h>
using namespace std;
char buffer[1024];
size_t tobuffer(char *ptr, size_t size, size_t nmemb, void *stream)
{
strncpy(buffer,ptr,size*nmemb);
return size*nmemb;
}
int main() {
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://google.co.in");
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION,1);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &tobuffer);
res = curl_easy_perform(curl);
printf("%s",buffer);
curl_easy_cleanup(curl);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud) c++ ×2
php ×2
actionscript ×1
android ×1
apache-flex ×1
c ×1
css ×1
flash ×1
flicker ×1
html ×1
if-statement ×1
interface ×1
libcurl ×1
mysql ×1
oop ×1
oracle ×1
perforce ×1
plsql ×1
pseudocode ×1
python ×1
refactoring ×1
rendering ×1
sql ×1
surfaceview ×1
tearing ×1