Collision detection, maar niet lekker.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-end Developer

Dit ga je doen Je komt in een DevOps-cultuur te werken waarbij je met je team werkt aan de front-end van diverse brand websites; Het ontwerpen van functionele en grafische ontwerpen die worden geïmplementeerd; Draagt zorg voor het maken van analyses; Je werkt nauw met je collega’s samen en geeft elkaar feedback en suggesties waar nodig; Het uitwerken van vraagstukken die afkomstig zijn van verschillende klanten; Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt

Bekijk vacature »

Lead Java Developer

Dit ga je doen Je taken bestaan onder andere uit: Het aansturen van een development team bestaande uit 8 collega's op technisch maar ook HR gebied; Het maken van strategische keuzes omtrent de (nieuw)bouw van deze applicatie; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java, Spring, Angular, REST); Reviewen van code en feedback geven op collega developers. Hier ga je werken Als Lead Software Developer ben je verantwoordelijk voor één van de vier Agile Java ontwikkelteams die bouwen aan technologie die duizenden instanties wereldwijd verbindt. Dit Agile team, data Jira en Confluence gebruikt en

Bekijk vacature »

Front-end Developer

Do you want to work with the latest technologies on the development of new systems and applications? Create elegant interfaces using VueJS for thousands of users? Get moving and strengthen Nederlandse Loterij as a Front-end Developer. Thanks to your efforts, our services are always presented in style. As a Front-end Developer you are responsible for website development and improving customer experience based on data analyze. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Front-end Developer you score by: Writing elegant, testable components without side-effects to provide functionality to the users Website development, adding

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

Bekijk vacature »

Back end developer Digital Agency

Functie Wij zijn van origine een wordpress bureau, maar sinds 2006 zijn wij dit wel redelijk ontgroeid. Naar mate de jaren verstreken zijn we gegroeid in omvang, maar ook in de complexiteit van opdrachten waarin wij onze klanten kunnen bedienen. Momenteel bestaat onze organisatie uit 4 front end developers, 12 back end developer 3 projectmanagers en een 2 koppig management. Wij zijn een hele informele, bijna familiaire organisatie. Geen strak pak of overhemd, nee gewoon dragen waar jij je prettig bij voelt. De gemiddelde leeftijd ligt tussen de 25 en 30 en wij doen er veel aan om onze hechte

Bekijk vacature »

Front-end Developer Angular

Dit ga je doen Jouw taken als Front End Developer bestaan uit: Het ontwikkelen van maatwerkoplossingen voor klanten; Het meedenken over nieuwe tools en technieken; Het begeleiden van junioren; Het meewerken aan diverse projecten; Het meedenken in UX/UI design. Hier ga je werken Als Front-End Developer ga je in een Scrum team aan de slag met de nieuwste digitale technologieën om klanten en overheden over de hele wereld te ondersteunen met het ondersteunen van hun software, veelal op het gebied van watermanagement en infra. Door middel van real-time data in combinatie met voorspellende analyses, AI, Deep Learning en Machine Learning

Bekijk vacature »

Medior Front-end Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Medior Front-end Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

C# Developer Research and Development - Delft

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Delft Vacature ID: 6307 Introductie C# Developer Research and Development - Delft - Onze klant is één van de meest innovatieve bedrijven in de region van Delft. Op dit moment zijn ze voor het innovatie centrum. In het innovatie centrum wordt gewerkt aan de nieuwste technieken voor navigatie software. R&D / C# / Pattern Recognition / Algorithms / 3d Data / DotNET Functieomschrijving Als C# Developer kom je te werken in een innovatief scrumteam. We ontwikkelen en door ontwikkelen de nieuwste technieken op het gebied van navigatie software. Deze software wordt onder andere

Bekijk vacature »

C#.NET ontwikkelaar

Functieomschrijving Voor een gewaardeerde werkgever in regio Tilburg zijn wij op zoek naar een C#.NET ontwikkelaar. Je bent verantwoordelijk voor het ontwikkelen van dashboards, webapplicaties en apps voor de eigen IOT-oplossingen. Samen met een vooruitstrevend team van ontwikkelaars en engineers krijgen jullie de opdracht om de sensoren in de apparatuur te scannen en vervolgens de data om te zetten in belangrijke inzichten voor de klanten. Taken en verantwoordelijkheden: Heb jij ideeën over nieuwe technieken die jullie kunnen implementeren? Hier wordt echt naar je geluisterd en gekeken of jouw idee daadwerkelijk ingezet kan worden; Je gaat aan de slag met de

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een ambitieuze werkgever in regio Tilburg waar jij volledig de mogelijkheid krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je gaat projecten gedurende het hele proces begeleiden. Je sluit aan bij afspraken met klanten om hun processen helder te krijgen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt aan nieuwe softwareoplossingen die de logistieke processen verbeteren of vernieuwen; Je houdt je bezig met het ontwikkelen van

Bekijk vacature »

.NET Developer

Functie omschrijving Jij gaat in de functie van Software Developer werken met C# en .NET framework. Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

OutSystems Developer

Dit ga je doen Het van scratch af aan ontwikkelen van applicaties met OutSystems; Het aanhaken bij diverse projecten binnen de organisatie; Schakelen met de business; Meedenken over de mogelijkheden van het platform binnen de organisatie. Hier ga je werken Deze organisatie is een toonaangevende speler in de vastgoedbranche en telt momenteel ruim 500 medewerkers. Met meer dan 150 applicaties staat er een complex applicatielandschap, bestaande uit standaard- en maatwerkapplicaties. De maatwerkapplicaties worden ontwikkeld door een inhouse development team. Het doel voor de komende periode is het verder vernieuwen en optimaliseren van het huidige applicatielandschap. Zo staat de organisatie aan

Bekijk vacature »

Full stack developer Node.js

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »
Jan Kila

Jan Kila

10/07/2022 13:19:23
Quote Anchor link
Ik zit wat te klooien met collision detection; en dat werkt maar ik ben er niet gelukkig mee.

In mouseMove() roep ik de code aan voor het tekenen van de vormen: drawShapes().
Zoals de code nu is werkt het goed maar al die if statements zitten me niet lekker en de vraag is kan dat anders; beter natuurlijk.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  
  // this will remove all drawings from entire canvas
  ctx.clearRect(3, 3, cvsWidth, cvsHeight);
  for(let shape of shapes) {
    ctx.fillStyle = shape.color;

    // if (!edgeCollision(shape, cvs)) {
    //   ctx.clearRect(3, 3, cvsWidth, cvsHeight);
    //   ctx.fillRect(shape.x, shape.y, shape.width, shape.height);
    // }

    if (shape.x < 15) { shape.x = 15; }
    if ((shape.x + shape.width) > (cvs.width - 15)) {
      shape.x = cvs.width - shape.width - 15;
    }
    if (shape.y < 15) { shape.y = 15; }
    if ((shape.y + shape.height) > (cvs.height - 15)) {
      shape.y = cvs.height - shape.height - 15;
    }
    ctx.fillRect(shape.x, shape.y, shape.width, shape.height);  
  }
}
drawShapes();


Gebruik ik een functie om de rand te detecteren:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
edgeCollision = (shape, cvs) => {
  let lefCol = (shape.x < 15);
  let rigCol = ((shape.x + shape.width) > (cvs.width - 15));
  let topCol = (shape.y < 15);
  let botCol =  ((shape.y + shape.height) > (cvs.height - 15));
  return (lefCol || rigCol || topCol || botCol);
}

en zet ik die op de plaats die nu is uitgecommentarieerd ( en haal de if'jes en de fillRect() weg )
dan werkt het maar heel krom: een van vormen verdwijnt en ik heb geen idee hoe dat kan komen.

Zet ik de regel met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
  
ctx.clearRect(3, 3, cvsWidth, cvsHeight);

helemaal aan het begin, zoals in deze code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
drawShapes = () => {
  // this will remove all drawings from entire canvas
  ctx.clearRect(3, 3, cvsWidth, cvsHeight);
  for(let shape of shapes) {
    ctx.fillStyle = shape.color;
    if (!edgeCollision(shape, cvs)) {
       ctx.fillRect(shape.x, shape.y, shape.width, shape.height);
     }
  }
}
drawShapes();

Dan werkt het prima totdat ik een rand detecteer; dan verdwijnt de vorm.
Dat is logisch omdat ik vóór het tekenen het canvas leeg maak.
Vandaar dat ik dít probeer:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
drawShapes = () => {
  for(let shape of shapes) {
    ctx.fillStyle = shape.color;
    if (!edgeCollision(shape, cvs)) {
      ctx.clearRect(3, 3, cvsWidth, cvsHeight);
      ctx.fillRect(shape.x, shape.y, shape.width, shape.height);
    }
  }
}
drawShapes();


En dan snap ik niet waarom de andere vorm van het canvas verdwijnt.

Nou, moeilijk verhaal; ik vertrouw erop dat iemand begrijpt waar ik het over heb.

Lang verhaal samengevat:
Ik wil van al die if statements af; kan dat anders terwijl het wel goed blijft werken?
 
PHP hulp

PHP hulp

03/12/2024 18:57:27
 
Ozzie PHP

Ozzie PHP

10/07/2022 15:23:23
Quote Anchor link
Ik ben hier zelf niet in thuis. Het betreft zo te zien een nogal specifiek probleem. Het lijkt me daarom handig als je een voorbeeld plaatst, bijv. via https://codepen.io/pen/ of https://jsfiddle.net/. Dat maakt het waarschijnlijk wat makkelijker voor andere forumleden om je te helpen.
 
Jan Kila

Jan Kila

10/07/2022 16:28:48
 

12/07/2022 11:21:50
Quote Anchor link
Tweedimensionale botsdetectie is standaard, er zijn meerdere oplossingen voor:
- https://developer.mozilla.org/en-US/docs/Games/Techniques/2D_collision_detection
- https://stackoverflow.com/questions/2440377/javascript-collision-detection

Als het goed is hoef je alleen nog een uitwerking te kiezen die voor jou goed werkt.
Gewijzigd op 12/07/2022 11:22:38 door
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.