- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在研究改变形状的图像效果,当我触摸并移动正常显示的顶点时,它会正确移动到顶点,但在视网膜显示中它会移动到错误的顶点。意味着它在触摸位置不动顶点。
//Here I'm implementing grid on texture, storing each vertex point in array.
GLint width = texture2D.contentSizeInPixels.width;
GLint height = texture2D.contentSizeInPixels.height;
int i, j;
int k;
if (mass == NULL)
{
mass = (MASS *) malloc(sizeof(MASS)*GRID_SIZE_X*GRID_SIZE_Y);
if (mass == NULL)
{
fprintf(stderr, "body: Can't allocate memory.\n");
exit(-1);
}
}
k = 0;
for (i = 0; i < GRID_SIZE_X; i++)
for (j = 0; j < GRID_SIZE_Y; j++)
{
//this code implements grid on texture2D, gets vertex & side vertex in array
mass[k].nail = (i == 0 || j == 0 || i == GRID_SIZE_X - 1
|| j == GRID_SIZE_Y - 1);//value is 0/1
mass[k].x[0] = i/(GRID_SIZE_X - 1.0)*width;
NSLog(@"mass[%d].x[0]:: %f",k,mass[k].x[0]);
mass[k].x[1] = j/(GRID_SIZE_Y - 1.0)*height;
NSLog(@"mass[%d].x[1]:: %f",k,mass[k].x[1]);
mass[k].x[2] = -(CLIP_FAR - CLIP_NEAR)/4.0;
NSLog(@"mass[%d].x[2]:: %f",k,mass[k].x[2]);
mass[k].v[0] = 0.0;
mass[k].v[1] = 0.0;
mass[k].v[2] = 0.0;
mass[k].t[0] = i/(GRID_SIZE_X - 1.0);
mass[k].t[1] = j/(GRID_SIZE_Y - 1.0);
k++;
}
}
//Here I am returning index position of stored vertex in array near by touch point.
- (int)body_grab:(int)x:(int)y {
float dx[2];
float d;
float min_d;
float min_i;
int i;
for (i = 0; i < GRID_SIZE_X*GRID_SIZE_Y; i++)
{
dx[0] = mass[i].x[0] - x;
dx[1] = mass[i].x[1] - y;
d = sqrt(dx[0]*dx[0] + dx[1]*dx[1]);
if (i == 0 || d < min_d)
{
min_i = i;
min_d = d;
}
}
return min_i;
}
//Here I am getting other 3 vertex of cell where touch point exists and moving these vertex in a touch direction.
- (void)body_dynamics:(int)x:(int)y {
if (mass[grab].x[0] > x && mass[grab].x[1] > y) {
grab2 = grab - GRID_SIZE_X;
grab3 = grab2 - 1;
grab4 = grab - 1;
}
if (mass[grab].x[0] > x && mass[grab].x[1] < y) {
grab2 = grab - GRID_SIZE_X;
grab3 = grab2 + 1;
grab4 = grab + 1;
}
if (mass[grab].x[0] < x && mass[grab].x[1] < y) {
grab2 = grab + GRID_SIZE_X;
grab3 = grab2 + 1;
grab4 = grab + 1;
}
if (mass[grab].x[0] < x && mass[grab].x[0] > y) {
grab2 = grab + GRID_SIZE_X;
grab3 = grab2 - 1;
grab4 = grab - 1;
}
if (grab != -1 && !mass[grab].nail &&!isFirstTouch)
{
mass[grab].x[0] = mass[grab].x[0] + mousex1;
mass[grab].x[1] = mass[grab].x[1] + mousey1;
mass[grab].x[2] = -(CLIP_FAR - CLIP_NEAR)/4.0;
mass[grab2].x[0] = mass[grab2].x[0] + mousex1;
mass[grab2].x[1] = mass[grab2].x[1] + mousey1;
mass[grab2].x[2] = -(CLIP_FAR - CLIP_NEAR)/4.0;
mass[grab3].x[0] = mass[grab3].x[0] + mousex1;
mass[grab3].x[1] = mass[grab3].x[1] + mousey1;
mass[grab3].x[2] = -(CLIP_FAR - CLIP_NEAR)/4.0;
mass[grab4].x[0] = mass[grab4].x[0] + mousex1;
mass[grab4].x[1] = mass[grab4].x[1] + mousey1;
mass[grab4].x[2] = -(CLIP_FAR - CLIP_NEAR)/4.0;
}
}
最佳答案
我找到了这个问题的解决方案
您只需将接触点乘以 2意思是假设你得到 X pos 123 和 y 342 你必须将这些值乘以 2 : 123*2,这样你就会得到正确的顶点位置。
关于ios - 错误的顶点在视网膜显示器上移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14722691/
IOS8 的 LaunchImage 大小是多少? 什么是 Retina HD5.5、Retina HD 4.7 和 Retina 4?尺寸? DPI 是多少?? 72 我猜? 苹果文档的链接会很棒,
我不太明白 window.devicePixelRatio 值是什么,以及它如何决定该设备需要什么尺寸的图像(2x、3x 等)。 例如,在 iMac 5K Retina(2015 年末)上,我预计像素
在创建网站/移动应用程序并适应视网膜/高分辨率屏幕(需要两倍大小的图像)时,为什么只包含更大的图像不是一个好主意,并将其大小缩小一半,这样您只有一张图像,在非视网膜图像上,它只会变得更小(图像中的细节
我正在使用以下代码在我的 iPhone 应用程序中设置背景。 [[self view] setBackgroundColor:[UIColor colorWithPatternImage:[UIIma
我有一个应用程序,其中设计师为我提供了两种格式的 Assets 或 png,非视网膜和视网膜,格式正确并用 @2 正确命名。视网膜图像工作正常,但非视网膜图像在它们后面显示出奇怪的白色背景。有人经历过
所以我知道这是一个棘手的问题。我遇到过 Sprite 和高对比度模式的问题,基本上可以用如下代码解决: .icon:before { content: url(icons.png); posi
我的渐变 div 上有一条奇怪的水平线。它只在 Safari 和视网膜显示器上显示,我不明白为什么。还有其他人遇到过这个问题吗? HTML: CSS: .img-gradient2 { po
我正在为视网膜显示器调整我的网页,我正在使用 IrfanView 来加倍我的图像。但是,通常 640 x 427 px 的图像现在变成了 1281 x 855 px。这会按预期工作吗?我也在使用 Re
我为同一个网站制作了两个不同的网页:一个用于手机设备,一个用于桌面设备。主要原因是因为该网页有很多按钮,如果您使用的是手机,则很难触摸这些按钮,因为它们在手机屏幕上看起来很小。所以我制作了一个 jav
我们知道使用@2x 和不使用它时视网膜上的图像是如何工作的。但是电影呢? 对于 Retina 显示器,我是否必须让一部电影的分辨率是另一部电影的两倍?命名约定 @2x 代表电影?只拥有更大的一个并使其
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: Detect Retina Display 我们如何通过 Objective-C 代码知道设备是否具有视网膜
我刚刚将 Xcode 从 4.2 升级到 4.3.3。然后我启动 iOS 模拟器(将“硬件 -> 设备”设置为“iPhone(视网膜)”),模拟器现在显得如此之大,以至于应用程序页面实际上需要滚动!
我尝试从视网膜显示屏获取屏幕截图,并在窗口上绘制此图像。 我可以捕获 CGDirectDisplayID displayId = CGMainDisplayID() CGImage imageRef
我有一张 PNG 图片,我应该在我的 iPhone 应用程序中使用它,但首先,我必须为其提供 iPhone 4 视网膜屏幕的尺寸。有谁知道它的尺寸是什么或者如何做到这一点? 最佳答案 iPhone 4
我想编写一个自定义绘图 View ,它应该利用 Retina 显示屏。我使用的是 2019 款 MacBook Pro。为了测试绘图,我只是绘制宽度为 1px 的平行线。但线条在整个 View 中显示
我已经将一些应用程序迁移到 iPhone5,但我无法解决这个问题。我遵循相同的步骤,但现在我没有 xib 布局来设置窗口的自动调整大小,因为 TabBarViewController 以编程方式定义为
我正在为 iPad 开发 iOS 应用程序,我使用的是普通图像而不是 @2x 图像,所以这可以在新 iPad 上使用吗?或者必须包含@2x 图像?如有任何帮助,请提前致谢。 最佳答案 您可以在视网膜屏
我正在更新我的应用程序以使用 iPad 视网膜显示屏,但出于某种原因,我的一个 View 不想缩放到 2 倍。正如您在屏幕截图中看到的那样,左侧按钮上的文本可以正确缩放,而右侧的文本仍然以低分辨率显示
CSS 在视网膜屏幕上将 1px 文本阴影加倍为 2px。我只需要 1px。任何解决方案? 0.5px 无效。 最佳答案 我没有尝试过文本阴影,也没有方便的视网膜屏幕,但是对于框阴影 MDN说对于传播
最近几天我阅读了很多关于这个主题的内容,但我没有找到解决方案。我有两个 sprite 集,一个是低质量的正常显示,另一个是高质量的视网膜显示。 我的问题是,我的网站必须响应,图形应根据浏览器窗口调整大
我是一名优秀的程序员,十分优秀!