Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 21:46

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



html5 im kreis fahren problem

Discussion on html5 im kreis fahren problem within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jan 2010
Posts: 250
Received Thanks: 21
html5 im kreis fahren problem

Nabend leute,

(zum nachschauen )
(gibt komische probleme mit link hier mal kompliziert:
h t t p : / / n o n a m e b e r i c h t e . s q u a r e 7 . c h / P r o b l e m /
)

Ich möchte einen kleinen Kreis in einem Kreis fahren lassen.
das Problem ist, dass es komischerweise eine Abweichung gibt, die gewaltig ist.

HTML Code:
var scaleX = Math.cos(data.ball.angle*Math.PI/180);
	var scaleY = Math.sin(data.ball.angle*Math.PI/180);
	var velX = data.ball.speed * scaleX * (data.frameTime/1000);
	var velY = data.ball.speed * scaleY * (data.frameTime/1000);
	if(data.ball.angle <= 360){
	data.ball.angle += 900 * (data.frameTime/1000);
	}
	else{
	data.ball.angle = 0;
	}
is gilt:


HTML Code:
var data = {
	fps: 60,
	ball: {
		start: {
			x: 300,
			y: 300,
		},
		radiant: 5,
		color: "black",
		x: 100,
		y: 100,
		speed: 1000,
		acceleration: 2,
		gravity: 0,
		angle: 30,
	},
	workspace: {
		width: 1200,
		height: 1000,
		backgroundColor: "yellow",
		id: "gameGround",
		outerBorder: 5,
	},
}
und frametime ist die zeit in ms des letzten frames

hat da jemand einen eine Idee, wiso kein Perfekter Kreis entsteht?
bammes is offline  
Old 02/19/2012, 02:12   #2
 
elite*gold: 115
Join Date: Oct 2007
Posts: 9,390
Received Thanks: 12,345
Dass kein perfekter Kreis entsteht liegt an zwei Faktoren:

1. Wenn der Ball mindestens 360° durchlaufen hat, dann setzt du ihn auf genau 0° zurück. Du vergisst dabei aber, dass der Ball in der Regel nicht genau 360° zurückgelegt hat, sondern etwas mehr. Deswegen solltest du stattdessen nach jeder Umrundung genau 360° abziehen, damit keine Verschiebung entsteht.

Code:
data.ball.angle += 900 * (data.frameTime/1000);
if(data.ball.angle >= 360)
    data.ball.angle -= 360;
2. Jetzt läuft der Ball zwar im Kreis, springt aber hin und wieder auf eine andere Bahn. Das liegt daran, dass die Bewegung des ***** zeitabhängig ist. Wenn der Browser mal kurz laggt, dann legt der Ball dementsprechend auch eine weitere Strecke zurück. Außerdem ist die Zeitmessung nur auf die Millisekunde genau, weswegen die Kreisbahnen auch nicht zu 100% perfekt sind.
ms​ is offline  
Old 02/19/2012, 11:51   #3
 
elite*gold: 0
Join Date: Jan 2010
Posts: 250
Received Thanks: 21
k habs mal abgeändert.

hab jetzt keine funktion gefunden, mit der man in JS mikro oder nanosekunden messen kann.

Schade :-(
bammes is offline  
Reply


Similar Threads Similar Threads
(Diskussions Runde) HTML5
02/12/2012 - General Coding - 13 Replies
hm ja mich interessiert einfach mal euere Meinung was sagt ihr zu HTML5 denkt ihr es wird mal standard ? ;)
HTML5 Tutorials?
09/09/2010 - General Coding - 4 Replies
Suche Gute Tutorials, am besten auf Deutsch für HTML5. Mir ist bewusst, dass sich HTML5 noch in der Entwicklung befindet. Aber vllt. hat ja schon jemand von euch tuts :)
html5 lernen
04/21/2010 - Main - 0 Replies
Hey! ich suche ein tutorial wo druch man html5 lehrnen kann da ich es sehr gerne können möchte ich habe schon bei gidf udn bei google gesucht nix gutes gefunden es sollte deutsch sein udn wirklich ein leichtes tutorial weil ich bisher noch nichst mit html bzw coding gemacht habe wäre echt nett wenn mir jemand ein paar seiten schicken kann MFG Flamoo P.S. sry ich wusste nicht in welches forum das sollte



All times are GMT +1. The time now is 21:47.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.