草庐IT

ios - b2PolygonShape/b2Fixture 尺寸加倍以用于视网膜显示?

coder 2024-01-16 原文

目前我像这样创建一个 b2Fixture:

b2PolygonShape spriteShape;
    int num = 3;
    b2Vec2 verts[] = {
        b2Vec2(-29.5f / PTM_RATIO, -49.0f / PTM_RATIO),
        b2Vec2(10.0f / PTM_RATIO, -49.0f / PTM_RATIO),
        b2Vec2(34.2f / PTM_RATIO, -9.2f / PTM_RATIO),
    };
    spriteShape.Set(verts, num);
    bodyFixture.shape = &spriteShape;
    bodyCharacter->CreateFixture(&bodyFixture);

问题是在 Retina 显示器上,它的尺寸似乎翻了一番,这是有原因的吗?如果是的话,我该怎么做才能使它保持相同的尺寸,这样就不会弄乱任何东西设备?

谢谢!

最佳答案

我遇到了和你一样的问题。我已将内容比例因子与 PTM_RATIO 相乘。

你可以尝试下面的代码并检查它......它对我有用

int num = 3;
b2Vec2 verts[] = {
    b2Vec2(-29.5f / ( PTM_RATIO * CC_CONTENT_SCALE_FACTOR() ), -49.0f / ( PTM_RATIO * CC_CONTENT_SCALE_FACTOR() )),
    b2Vec2(10.0f / ( PTM_RATIO * CC_CONTENT_SCALE_FACTOR() ), -49.0f / ( PTM_RATIO * CC_CONTENT_SCALE_FACTOR() )),
    b2Vec2(34.2f / ( PTM_RATIO * CC_CONTENT_SCALE_FACTOR() ), -9.2f / ( PTM_RATIO * CC_CONTENT_SCALE_FACTOR() )),
};

关于ios - b2PolygonShape/b2Fixture 尺寸加倍以用于视网膜显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8934475/

有关ios - b2PolygonShape/b2Fixture 尺寸加倍以用于视网膜显示?的更多相关文章

  1. ruby-on-rails - Ruby:如何在 fixture 中配置枚举? - 2

    给定这个类:classUser我想创建一个如下所示的fixture:testuser1:id:1username:sampermission::permission_staff我尝试了多种语法变体,但没有找到有效的方法。结果user.permission为nil或0。我知道enum是最近添加的。这可以做到吗? 最佳答案 根据enumdocs你可以像这样通过类引用可枚举的:User.permissions[:permission_staff]工厂只是ruby​​代码——所以他们应该能够以相同的方式访问值testuser1:id:1us

  2. ruby-on-rails - rails/minitest 不为选择的测试加载 fixture - 2

    我的测试是使用固定装置编写的,我正在慢慢重构它们以使用工厂。一旦我重构了一个测试类以不使用固定装置,我就不想为该类加载固定装置。有没有办法做到这一点?或者我是否坚持要么为所有内容加载它们,要么什么都不加载?对于上下文,这是我现在的灯具设置方式:classActiveSupport::TestCaseRake::Task["db:fixtures:load"].execute...end 最佳答案 将fixtures放入test/fixtures/users.yml然后您可以将它们包含在您需要的地方,例如spec_helper#spe

  3. ruby-on-rails - 在 Rails 控制台中使用 fixture finder helpers - 2

    我经常发现我希望能够从Rails控制台使用测试fixture查找器(例如users(:david))。有没有我可以在控制台提示符下加载的特定Rails模块,或者我可以安装的gem,使它们可用?我对GoogleOracle的查询没有任何结果,所以我没有屏住呼吸,但我希望SO上有人知道一个secret并愿意分享。 最佳答案 我自己想出来了。这适用于IRB和Pry.只需将以下行添加到我的.irbrc(和/或.pryrc)文件即可。require'active_record/fixtures'defmethod_missing(method

  4. ruby-on-rails - 为什么 String#gsub 的内容加倍? - 2

    s="#main='quotes's.gsub"'","\\'"#=>"#main=quotes'quotes"这似乎是错误的,我希望得到"#main=\\'quotes\\'"当我不使用转义字符时,它会按预期工作。s.gsub"'","*"#=>"#main=*quotes*"所以一定有转义的事情。使用ruby1.9.2p290我需要用反斜杠和引号替换单引号。更多的不一致:"\\'".length#=>2"\\*".length#=>2#Asexpected"'".gsub("'","\\*").length#=>2"'a'".gsub("'","\\*")#=>"\\*a\\*"(

  5. ruby-on-rails - Rails - 测试 fixture 错误 NoMethodError : undefined method `type' for nil:NilClass - 2

    我在运行使用具有模型之间关联的固定装置的测试时遇到问题。这是我一运行raketest就得到的错误:ERROR["test_truth",SevenPortfolioTest,0.005154775]test_truth#SevenPortfolioTest(0.01s)NoMethodError:NoMethodError:undefinedmethod`type'fornil:NilClassERROR["test_should_destroy_item_video",SevenPortfolio::ItemVideosControllerTest,0.008887804]test_

  6. ruby-on-rails - Rails 中首选的 fixture 替换插件? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion有十几个Rails插件,它们的目标是替换测试中的固定装置。以下是我能想到的一些:fixture更换工厂女工工厂和workerrails场景fixture场景反对爸爸可能还有其他的。您更喜欢这些插件中的哪一个?为什么?

  7. javascript - 按类不返回元素的 Angular Fixture DebugElement 查询 - 2

    正如Angular.io框架测试文档所建议的,我一直在尝试使用AngularTestbed+Karma测试运行器来使用DebugElement查询。我创建了一个jqwidgetsTree组件,它生成类'.jqx-tree-item-li'的li元素。以下在DOM测试中直接使用javascript的测试通过了GREEN:it('Elementsofclassjqx-tree-item-lifoundusinggetElementsByClassName',(done)=>{this.fixture.whenStable().then(()=>{varelementArray=docume

  8. javascript - 将非视网膜 Canvas 应用程序更新为视网膜显示 - 2

    我有一个iPad2canvas应用程序(游戏),我想让它在新的iPad视网膜显示屏上运行。简而言之,为视网膜iPad型号拉伸(stretch)/缩小iPad2图像的最佳方法是什么?从我所做的谷歌搜索中,我看到了各种方法,但许多方法包括从视网膜大小的图像开始并完成缩放。我还听说将视网膜质量大小的像素推送到屏幕的性能很慢,而且最好以牺牲一些质量为代价使用iPad大小的图像。现在,在新iPad上,我看到了我的应用程序的左上四分之一,这是有道理的,但与iPad2相比,性能令人震惊。我见过的技术包括CSS媒体查询、使用像素密度和CSS转换——它们显然非常快。谢谢 最佳

  9. javascript - 我的 ajax 请求提交一次,然后提交两次,然后提交 4 次并不断加倍 - 2

    我在底部有带有下一个和上一个按钮的选项卡,当我第一次加载页面时,ajax将数据加载到第一个选项卡中,当我单击下一个时,该表单将正常提交,但是如果我在按下一个之后按上一个,它将拉另一个ajax以与我在加载时相同的方式填充第一次潜水,但是当我单击下一步提交表单时,ajax请求加倍并提交两次,然后4次8等,我怎样才能阻止它happeing....我的一个页面上的jquery在所有页面上都是相同的:$(document).on("click",".previous",function(){$.ajax({url:'wizzard/personal_information',type:'GET'

  10. javascript - 如何防止视网膜 iPad 上的 javascript 中的@2x 图像缩放? - 2

    我正在使用html开发网页游戏和javascript。游戏还必须在iPad上运行,最好是视网膜和非视网膜显示器。在这个游戏中,我使用了spritesheetpng。此spritesheet宽3500像素,高3700像素。在我的游戏逻辑中,我使用Canvas的context.drawImage()捕获Sprite并将它们绘制到我的Canvas中。在桌面浏览器中,这工作得很好,一切都很好。在RetinaiPad上,图像加载时只有它大小的四分之一,这使得我的很多drawImage()调用失败,认为他们试图抓取加载图像边界之外的像素。(如果我在位置1200、1400抓取一个Sprite,而iP

随机推荐