Inhaltsverzeichnis
Drei, Quellcode
Heim Web-Frontend H5-Tutorial Nehmen Sie sich 1 Stunde Zeit, um ein einfaches Physikspiel (Seilprinzip) zu erstellen.

Nehmen Sie sich 1 Stunde Zeit, um ein einfaches Physikspiel (Seilprinzip) zu erstellen.

Mar 01, 2017 pm 04:01 PM

Vorgestern veranstaltete die Firma eine Party und wir spielten zusammen. Obwohl das Spiel äußerst einfach ist, eignet es sich sehr gut zum Spielen auf Veranstaltungen Die Firma, nur einige Leute können es spielen. Als ich am Abend nach Hause kam, versuchte ich, eines der Spiele mit HTML5 wiederherzustellen und spielte es am nächsten Tag in der Firma, besonders bei den Mädchen, sehr beliebt. , „Es ist schwierig!“

Wenn man sieht, dass ein Mädchen es mag, muss man im Allgemeinen unbedingt wissen, um welches Spiel es sich handelt, oder? Die Spieloberfläche ist wie folgt.


Nachdem ich die Spieloberfläche gesehen habe, sind einige Leute wohl zu Boden gefallen. Es ist so einfach Halten Sie nach dem Spielstart die Maus gedrückt und schieben Sie den Protagonisten wie auf einer Schaukel, indem Sie ihn immer höher schwingen. Wer am weitesten fliegt, gewinnt.

Tatsächlich gilt: Je einfacher und kürzer das Spiel, desto besser eignet es sich für Aktivitäten wie Partys. Insbesondere mit dem Ranglistensystem möchte jeder auch einen höheren Rang erreichen. und Konkurrieren, um zu spielen.

Spieltestverbindung:

http://lufylegend.com/demo/box2dJump

Hinweis: Dieses Spiel wurde etwa eine Stunde lang ausschließlich zur Unterhaltung meiner Kollegen erstellt. Die Grafik und die Effizienz wurden nicht optimiert. Bitte verwenden Sie einen PC, um es zu öffnen. Die mobile Version wird beim Ausführen wahrscheinlich einfrieren >

Produktion beginnt1. Vorbereitung

Im Spiel werden zwei Motoren verwendet

Eine davon ist die HTML5-Open-Source-Engine lufylegend.js. Das Folgende ist mein lufylegend-1.7.0-Beitrag auf meinem Blog, der eine kurze Einführung enthält

http://blog .csdn.net/lufy_legend/article/details/8719768

Das andere ist Box2dWeb, die Download-Adresse lautet wie folgt

http:// code.google.com/p/ box2dweb/downloads/list

2. Spieleentwicklung

Wie Sie an der Spieloberfläche sehen können, liegt der Schwerpunkt der Spieleentwicklung auf einem Seil. Wie implementiert man das Seil in HTML5?

In box2d gibt es kein Seil, aber Freunde, die mit box2d vertraut sind, sollten mit dem rotierenden GelenksetRevoluteJoint vertraut sein. Um das Seil zu implementieren, können wir eine Reihe starrer Körper mit Rotation verbinden Zusammengenommen sind diese starren Körper beim Schwingen fast wie Seile.

Schauen Sie sich den Code unten an, ich habe 1 statischen starren Körper und 20 dynamische starre Körper mit rotierenden Gelenken verbunden.

Codeliste 1

var bx = 250,by=40;
    var box01,box02;
	box01 = new LSprite();
	box01.x = bx;
	box01.y = 30;
	backLayer.addChild(box01);
	box01.addBodyCircle(10,0,0,0,1,10,0.2);
	linelist = [box01];
    for(var i=0;i<20;i++){
	    box02 = new LSprite();
	    box02.x = bx;
	    box02.y = by+i*10;
	    backLayer.addChild(box02);
	    box02.addBodyCircle(10,0,0,1,1,10,0.2);
	    LGlobal.box2d.setRevoluteJoint(box02.box2dBody, box01.box2dBody );
	    linelist.push(box02);
    	box01 = box02;
    }
Nach dem Login kopieren
Fügen Sie abschließend einen etwas größeren starren Körper hinzu, der als Protagonist im Spiel dient, und verwenden Sie außerdem rotierende Gelenke, um der Front zu folgen Starre Körper sind verbunden.

Codeliste 2

hero = new LSprite();
	var bit = new LBitmap(new LBitmapData(imglist["chara03"]));
	bit.x = -25;
	bit.y = -20;
	hero.addChild(bit);
	hero.bitmap = bit;
	hero.x = bx;
	hero.y = by+i*10;
	backLayer.addChild(hero);
	hero.addBodyPolygon(30,50,1,2,10,.2);
	joinline = LGlobal.box2d.setRevoluteJoint(hero.box2dBody, box01.box2dBody );
Nach dem Login kopieren
Das ist alles, was noch übrig ist, wie man den Schwung und das Herausfliegen des Protagonisten steuert.

Codeliste 3

backLayer.addEventListener(LEvent.ENTER_FRAME,onframe);
	backLayer.addEventListener(LMouseEvent.MOUSE_DOWN,ondown);
	backLayer.addEventListener(LMouseEvent.MOUSE_UP,onup);
Nach dem Login kopieren
Im obigen Code ist die Onframe-Funktion die Zeitleiste, ondown und onup sind Ereignisse, die aufgerufen werden, wenn die Maus gedrückt bzw. angehoben wird Das Drücken und Auftauchen ist relativ einfach. Der Code lautet wie folgt.

Codeauflistung 4

function ondown(event){	
	if(out)return;
	monseIsDown = true;	
	mouseObject.x = event.offsetX;
}
function onup(event){	
	if(out)return;
	monseIsDown = false;
	LGlobal.box2d.world.DestroyJoint(joinline);
	hero.bitmap.bitmapData = new LBitmapData(imglist["chara04"])
	hero.bitmap.x = 0;
	hero.bitmap.y = 0;
	out = true;
}
Nach dem Login kopieren
Die Onframe-Funktion enthält grundsätzlich alle logischen Teile des Spiels.

Zuallererst hat das zuvor erstellte „Seil“ keine Skin, was bedeutet, dass es nicht angezeigt wird, es sei denn, es befindet sich im Debug-Modus. Dann müssen Sie diese befolgen, wenn das Seil Der starre Körper zeichnet eine Kurve und verwandelt sie in ein Seil. Der Code lautet wie folgt.

Codeliste 5

backLayer.graphics.clear();
	backLayer.graphics.drawRect(1,"#000000",[0,0,LGlobal.width,LGlobal.height]);
	for(var i=0;i<linelist.length - 1;i++){
		backLayer.graphics.drawLine(2,"#000000",[linelist[i].x,linelist[i].y,linelist[i+1].x,linelist[i+1].y]);
	}
Nach dem Login kopieren
Lassen Sie dann das Seil schwingen, bestimmen Sie, ob die Maus nach links oder rechts zittert, und üben Sie eine Kraft auf den starren Körper aus Um den starren Körper zu bewegen, lautet der Code wie folgt:

Codeliste 6

if(monseIsDown && !out){	
		if(checkIndex++ > 10){
			checkIndex = 0;
			if(LGlobal.offsetX - mouseObject.x > 50){
				var force = 50;
				var vec = new LGlobal.box2d.b2Vec2(force,0);
				hero.box2dBody.ApplyForce(vec, hero.box2dBody.GetWorldCenter());
			}else if(LGlobal.offsetX - mouseObject.x < -50){
				var force = 50;
				var vec = new LGlobal.box2d.b2Vec2(-force,0);
				hero.box2dBody.ApplyForce(vec, hero.box2dBody.GetWorldCenter());
			}
			mouseObject.x = LGlobal.offsetX;
		}	
	}	
Nach dem Login kopieren
Wenn die Maus schließlich nach oben springt, Der Protagonist wird weggeworfen, also lass das Spielfenster einfach mit ihm wandern.


Codeauflistung 7

if(!out)return;
	backLayer.x = LGlobal.width*0.5 - hero.x;
	if(backLayer.x > 0){
		backLayer.x=0;
	}
	LGlobal.box2d.synchronous();
	if(!hero.box2dBody.IsAwake() && out){
		backLayer.removeEventListener(LEvent.ENTER_FRAME,onframe);
		point = Math.floor((hero.x - 250)*0.1);

		var rank = new GameRanking();
		backLayer.addChild(rank);
	}
Nach dem Login kopieren
Auf diese Weise wird zunächst eine Vorschau angezeigt dass das „Seil“, das wir erstellt haben, tatsächlich eine Reihe starrer Körper ist




und nicht im Debug-Modus, Es wird die folgende Schnittstelle.

Drei, Quellcode

Schließlich wird der Quellcode dieses Spiels angegeben

http://lufylegend. com/ lufylegend_download/box2dJump.rar

Hinweis: Es ist nur der Quellcode des Spiels enthalten, um ihn selbst herunterzuladen

und höher Nehmen Sie sich einfach 1 Stunde Zeit, um ein einfaches Physikspiel (Seilprinzip) zu erstellen. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Tabellenrahmen in HTML Tabellenrahmen in HTML Sep 04, 2024 pm 04:49 PM

Anleitung zum Tabellenrahmen in HTML. Hier besprechen wir verschiedene Möglichkeiten zum Definieren von Tabellenrändern anhand von Beispielen für den Tabellenrand in HTML.

HTML-Rand links HTML-Rand links Sep 04, 2024 pm 04:48 PM

Anleitung zum HTML-Rand links. Hier besprechen wir einen kurzen Überblick über HTML margin-left und seine Beispiele sowie seine Code-Implementierung.

Verschachtelte Tabelle in HTML Verschachtelte Tabelle in HTML Sep 04, 2024 pm 04:49 PM

Dies ist eine Anleitung für verschachtelte Tabellen in HTML. Hier diskutieren wir anhand der entsprechenden Beispiele, wie man eine Tabelle innerhalb der Tabelle erstellt.

HTML-Tabellenlayout HTML-Tabellenlayout Sep 04, 2024 pm 04:54 PM

Leitfaden zum HTML-Tabellenlayout. Hier besprechen wir die Werte des HTML-Tabellenlayouts zusammen mit den Beispielen und Ausgaben im Detail.

HTML-Eingabeplatzhalter HTML-Eingabeplatzhalter Sep 04, 2024 pm 04:54 PM

Leitfaden für HTML-Eingabeplatzhalter. Hier besprechen wir die Beispiele für HTML-Eingabeplatzhalter zusammen mit den Codes und Ausgaben.

HTML-geordnete Liste HTML-geordnete Liste Sep 04, 2024 pm 04:43 PM

Leitfaden zur HTML-geordneten Liste. Hier besprechen wir auch die Einführung von HTML-geordneten Listen und Typen sowie deren Beispiele

Text in HTML verschieben Text in HTML verschieben Sep 04, 2024 pm 04:45 PM

Anleitung zum Verschieben von Text in HTML. Hier besprechen wir eine Einführung, wie Marquee-Tags funktionieren, mit Syntax und Beispielen für die Implementierung.

HTML-Onclick-Button HTML-Onclick-Button Sep 04, 2024 pm 04:49 PM

Anleitung zum HTML-OnClick-Button. Hier diskutieren wir deren Einführung, Funktionsweise, Beispiele und Onclick-Events in verschiedenen Veranstaltungen.

See all articles