Articles of 电晕sdk

在根据屏幕尺寸缩放后在游戏背景上移动对象

我正在使用Corona SDK创建一个游戏,我有一个地图上有一个球,另一个在地图上移动的物体。 我使用最终的config.lua文件来根据设备屏幕分辨率来缩放背景。 我的问题是我想在这个地图上安排一些对象。 我已经为特定的设备分辨率创建了特定资产,但是在宽高比低于1.72的设备上,地图横向拉伸,因此比其他资产看起来更宽。 另外,当我想要将对象安排在地图顶部的特定位置时,结果是由于缩放问题,事情并不正确。 例如,当我在一个宽高比为1.72的设备上设置myobject.y=100 ,它设置在正确的位置,但是当我在宽高比小于1.72的设备上做同样的事情时,我的对象不在地图上。 我尝试使用设备DPI将我的像素转换为英寸,但它仍然是相同的。

在Corona SDK中,如何从行显示对象中提取x1,y1,x2和y2坐标?

我用这个命令创建一行: local myLine = display.newLine( 0,-110, 27,-35 ) 我怎样才能从myLine获得坐标? 我已经看了这里和这里,但最接近的东西,我可以findmyLine.x和myLine.y ,似乎是x1和y1 (不知道),但我不知道如何得到x2和y2 。 我想要这个信息来检测两条线是否在屏幕上相交。

如何拍摄触摸的方向

我是新来的电晕SDK(我也吸三角),我试图实现这一点: 从玩家射出一颗子弹,朝着用户触摸点的方向射击,但始终以相同的速度射击,无论玩家的触摸距离多远。 我尝试了几个解决scheme。 经过一番研究,我发现我应该用两个三角形来度量角度,然后分别用角度的cos和sin作为x和y的值。 但是当我尝试这样做,我得到相当随机的结果。 从我想要达到的距离越近,就可以使用deltavariables作为X和Y(乘以速度因子)。 它的工作,但速度变化的基础上,我所触摸的球员多远,我希望速度是固定的。 这是我最新的代码(使用罪和COS) local math, physics = require("math"), require('physics') physics.start() physics.setGravity( 0, 0 ) display.setStatusBar( display.HiddenStatusBar ) local screenW, screenH = display.contentWidth, display.contentHeight local playerX, playerY = (screenW / 2), (screenH / 2) local player = display.newRect( 0, 0, 30, 30 ) player.x = playerX player.y = playerY — local […]

如何用Liquidfun和Corona创造像软颗粒一样的软冰淇淋

目前使用“弹性”标记来表示粒子行为,当它向下stream动时看起来像样,但是当杯子中收集冰淇淋时,它太stream动了。 这也给了它一个弹性的反弹,我不知道如何拿出。 我想知道如何让它变得更坚实,但保持一点弹性? 创建后可以更改粒子的行为吗? 我曾尝试用“spring”旗帜和“粘性”旗帜,但看起来有点相同。 演示剪辑 Corona/LiquidFun — Create Particle System local particleSystem = physics.newParticleSystem{ filename = _PRT, radius = 1, imageRadius = 2 } offset_x = _C.x + 70 offset_y = _UL.y + 100 — Paramaters for red particle faucet local particleParams_red = { flags = { "elastic"}, linearVelocityY = -10, color = { […]

是否可以在SDL for Android中使用C ++?

我已经成功地编译了Android的SDL,使用了使用C的示例。是否也可以使用C ++? 我正试图将使用SDL 2的C ++游戏移植到Android。 如果可能的话,我该怎么做?

如何清除Corona中的整个显示屏?

我怎样才能清除整个显示? 我试图做display.remove(obj)和obj:removeSelf()的东西,但它似乎错过了一些东西,我不确定为什么。 这部分的一个非常基本的版本看起来像这样: Runtime:addEventListener("accelerometer", onShake) Runtime:addEventListener( "touch", draw ); –Initialize arrScreen and other variables function onShake (event) if event.isShake then –for loops display.remove(arrScreen[i][j]) –arrScreen[i][j]:removeSelf() –end for loops end end function draw(event) if event.phase == "began" then arrScreen[event.x][event.y]=display.newRect(event.x,event.y,size,size) lastPoint.x=event.x lastPoint.y=event.y elseif event.phase ~= "ended" then arrScreen[event.x][event.y]=display.newLine(event.x,event.y,lastPoint.x,lastPoint.y) lastPoint.x=event.x lastPoint.y=event.y end end

如何增加每一次触摸的力量?

在我的游戏中,角色可以分为两个方向。 用户点击右键或左键来“推”字符来平衡它们,所以它们不会掉下来。 我不知道如何增加每个媒体的角色应用的力量。 function left:touch(e) if(e.phase == "began") then boy:applyLinearImpulse(-0.5, .5, boy.x, boy.y) end end function right:touch(e) if(e.phase == "began") then print("right"); boy:applyLinearImpulse(2.1, .5, boy.x, boy.y) end end left:addEventListener("touch", left ); right:addEventListener("touch" , right );

Corona SDK:“准备”步骤后,animation需要很长时间才能播放

首先,我使用目前公开的版本,版本2011.704 我正在建造一台平台游戏机,并且有一个角色在屏幕上轻敲时跳过并跳跃。 在跳跃的时候,animation代码让他承担了一个苗条的跳跃姿势,一旦发现与地面的碰撞,他就回到跑步。 所有这一切发生。 问题在于,这个奇怪的时间差距,大概是一秒钟的感觉,我的角色在着陆后的第一帧坐落在实际开始播放之前。 这导致我相信,问题是在加载一个精灵集合的animation序列和“玩”步骤的“准备”步骤之间的某处。 在此先感谢您的帮助:)。 我的角色登陆的代码如下: local function collisionHandler ( event ) if (event.object1.myName == "character") and (event.object2.type == "terrain") then inAir = false characterInstance:prepare( "run" ) — TODO: time between prepare and play is curiously long… characterInstance:play() end end

physics.addBody()与Corona SDK中的自定义形状

physics.addBody()仅适用于圆形和矩形? 或者是否有可能physics.addBody()在vector形状或精灵或面具或东西?

Android性能/ Corona SDK的问题?

我知道这是一个相当广泛的问题。 我们正在寻找开发一款手机游戏,并希望使用多平台引擎/ SDK。 我们喜欢Corona所看到的,但是在阅读过程中,我们看到很多关于“机器人平台”糟糕performance的提法。 我不确定这还有多相关? 许多文章/文章/参考文献/讨论在18个月前至今年早些时候有所不同。 如果Android支持对我们很重要,我们是否有理由不去追求科罗娜? 游戏将是2D等轴视图。 谢谢!