这是一个仅限闪存AS3项目的游戏.
玩家用枪控制角色.通过点击屏幕,枪可以将弧形导弹发射到点击的点.
什么是计算导弹每个框架的x和y坐标的最佳方法?
如何像愤怒的小鸟一样制造运动撞击/碰撞.当物体击中盒子和木头时,它们的相互作用和动画的流动将到达正确的位置.我需要从头学习如何构建它.我需要物理和概念的基础
示例图片:

到目前为止,我认为到目前为止.受到影响,我会申请
恢复原则
物体1速度= e(球速度)
我将采取球的方向并使对象1旋转90%对着球.
如果球--->方向.对象1的最终结果将是90度.所以它会成为
| ____ | 它会变成这个.
到目前为止看来没错.但我不确定如何与物体2相互作用.我是否重复步骤2.然后我将速度和方向传递给物体2.所以它会再次旋转90度?
这是我到目前为止收集的内容.任何暗示我正朝着正确方向前进的建议都会很好.
对于碰撞部分.我打算用AABB.和旋转AABB.
我真的不知道我想做的是否被认为是插值,但我会尽力解释。
现在,当我想及时从一个点移动A到另一个点B(为简单起见,仅考虑 1 个坐标空间)时,T我使用线性插值公式计算位置:
P(t) = A + (B-A) * (t / T), T != 0
Run Code Online (Sandbox Code Playgroud)
这在大多数情况下都可以正常工作,但我想像这样考虑加速和制动:
x%一次会是从vi一个速度到另一个v速度的加速y%将是v匀速z%一次将减速以达到vf速度t = T在考虑加速和制动时P(t),我如何计算, ?t[0, T]
在iPhone上,在标准消息传递应用程序中,如果你用两根手指按住它,即使它看起来已经达到屏幕边缘限制,文字气泡也会继续上升.
什么允许这种情况发生?
我将如何复制,以便我的代码不那么"固定",只是完全停止在它应该的变量?
另外,我们在Android和iOS中看到的"弹性"文本物理是否有名称?
直到最近我才在每次更新时更改我的精灵的x坐标,我很高兴.但是昨天当我处于debugDraw模式时,我发现在某些速度之后,物理体不会与精灵正确对齐,如下所示:
后来我被告知,(通过cocos2d论坛中的Birkemose)将物理体从A移动到B的首选方法是对它施加冲动.但我不知道如何以这种方式实现恒速.这是我用来移动它而不应用任何冲动的代码:
-(void)update:(CCTime)delta{
rollingHero.position=ccp(rollingHero.position.x+scrollSpeed*delta,
rollingHero.position.y);
physicsNode.position=ccp(physicsNode.position.x-scrollSpeed*delta,
physicsNode.position.y);
}
Run Code Online (Sandbox Code Playgroud)
因此,为了创造一种移动的感觉,我以相同的滚动速度滚动物理节点和英雄在相反的方向.我尝试了许多应用冲动的不同变体,但我从未让它以恒定速度移动.速度加快,英雄脱离屏幕.如果有人发布示例代码,我将非常感激.
我是11岁的编程新手,我正在使用JavaScript为学校的游戏制作一个简单的平台游戏。
现在,我正在研究使角色跳跃的代码。它比角色上下移动更复杂,因为我希望动作流畅且看起来逼真。当角色跳跃时,它会快速离开地面,然后随着它的升高而减慢速度;到达某个点时,它将开始缓慢下落。它会在跌落时加速(可能通过使用某种类型的加速度变量),然后撞到地面并完全停止。
我希望角色能够在空中左右移动,如果握住了键,则跳一次,然后当角色撞到地面(如果仍然握住键)时,它又跳一次。(游戏中角色应该能够跳得很高)
我已经尝试过这样做,但是发生了一些搞笑的错误。
这是我的代码(很破):
//movement (x)
var maxSpeed = 12.5;
var xForce = 0;
var kingXPos = 0;
//movement (y)
var yForce = 0;
var kingYPos = 202;
//LV design
var floorHeight = 150;
var draw = function() {
//background and basics
background(255, 0, 0);
image(getImage("creatures/Winston"), kingXPos, kingYPos, 50, 50);
//level features (only the floor right now)
fill(0, 0, 0);
rect(0, 250, 400, floorHeight);
//right movement
if (keyIsPressed && keyCode === RIGHT) {
kingXPos = kingXPos + xForce;
xForce …Run Code Online (Sandbox Code Playgroud) 我正在关注本教程:https : //www.mvcode.com/lessons/roll-a-ball-obstacle-course
最后我们创建了敌人(立方体),它们的移动效果非常好。但是一旦我激活“是触发器”,它们就会穿过位面落入虚空。我错过了什么?
我试图将它们拉到地板上方,以便在底部和敌人之间留出一些空间,但它们一直从地板上掉下来,并且只有当我启用“触发”时。
提前致谢,阿库玛
我正在尝试模拟一个在地板上滚动的球体。对于模拟,我使用的是 Flash AS3 的旧版 Papervision3D 库,但这实际上并不重要,这是一个纯粹的几何问题。
假设我有一个 Sphere3D 对象,我可以为其设置rotationX、rotationY 和rotationZ 属性,如何计算该球体在地板上滚动的每个轴的旋转?
例如,我们假设球体处于静止状态。现在它向右滚动 1 米。如果我从顶部看这个球体 - 我想将它绕 Z 轴旋转 90 度。然后球体应该沿着地板“向下”滚动,所以我想围绕 X 轴旋转它,但这个问题是,与此同时,当我沿着 Z 轴旋转球体时,X 轴会自行旋转。
我该如何解决这个问题?
谢谢
我需要实现一点AI来弄清楚如何用射弹运动击中目标.
我在维基百科发现了这个:
这看起来就像我需要的东西,特别是因为我有一个额外的问题从零高度发射射弹.但是,我的数学技能并不是很好,所以对我来说这一切看起来都是完全无稽之谈,我不知道如何将其中任何一个转换为代码.
如果有人可以把它分解成我能用基本操作符(+ - *%)和函数(sin,cos,sqrt等)理解的东西,我真的很感激.
好吧,所以我正在尝试制作一个快速而肮脏的平台引擎,我在碰撞检测和移动平台方面遇到了一些问题.一方面,"玩家"似乎在移动平台上稍微反弹,当他击中右侧时,错误也会发生.我将上传一个jnlp演示,以便您可以尝试查找更多错误并查看发生了什么,但这里是源代码:
import java.awt.Rectangle;
import java.util.Vector;
import org.newdawn.slick.AppGameContainer;
import org.newdawn.slick.BasicGame;
import org.newdawn.slick.Color;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Input;
import org.newdawn.slick.SlickException;
public class Platformer extends BasicGame{
boolean keys[];
int ALL_KEYS = 0xFF;
Player player;
Vector<Vector<Thing> > things;
int level = 0;
public Platformer() {
super("You've met with a terrible fate, haven't you?");
}
public void init(GameContainer gc) throws SlickException {
keys = new boolean[ALL_KEYS];
for(int i = 0; i < ALL_KEYS; i++){
keys[i] = false;
}
player = new Player();
things = …Run Code Online (Sandbox Code Playgroud)