Collision detection, maar niet lekker.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior developer (Almelo en thuis)

Functie­omschrijving Ben jij degene die de Justitiële organisaties verder helpt naar een volledig digitale en transparante informatiehuishouding? Wil jij jouw kennis van data gedreven werken, AI en containerisatie hiervoor inzetten? Lees dan verder. Wat ga je doen? We zoeken een senior developer die onze dienstverlening op het gebied van digitaal archiveren en intelligent metadateren verder brengt. Dit doe je door de scrumteams door jouw enthousiasme en drang naar innovatie verder te coachen en herin te ontwikkelen. . Het gaat om miljoenen records, complexe ketens, uitdagende maatschappijkritische applicaties op het gebied van het bewaren en uitwisselen van digitale dossiers en documenten

Bekijk vacature »

Junior Lowcode developer / Modelleur

Dit ga je doen Je werkt in een team van modelleurs en verbetert de data stromen en webservice processen in een DevOps setting; Je ontwikkeld aan de webservices voor data uitwisseling; Je bent verantwoordelijk voor het ontwikkelen en configureren van verschillende koppelingen; Je werkt nauw samen met Business Analisten en andere mensen uit het Scrum/Agile team; Als modelleur ontwikkel je jouw kennis over o.a. Tripleforms gedurende je werk; Je schakelt met diverse stakeholders. Hier ga je werken Onze klant is een dynamische organisatie met internationale oriëntatie die in opdracht van de overheid werkt. Zij houden zich bezig met het onderhouden

Bekijk vacature »

Team Lead PHP

Als Tech Lead zorg voor een glimlach op het gezicht van onze klanten door geweldige software af te leveren. Wat doe je als Team Lead PHP bij Coolblue? Als Team Lead PHP bouw en leid je een team dat uitblinkt in het leveren van hoogwaardige en kostenefficiënte software. Je ondersteunt teamleden bij het afbakenen van hun doelen en met de aanpak om ze te behalen. Als Tech Lead zorg voor een glimlach op het gezicht van onze klanten door geweldige software af te leveren en een effectief team op te bouwen. Ook Team Lead PHP worden bij Coolblue? Lees hieronder

Bekijk vacature »

Freelance applicatieontwikkelaar (zzp)

Belastingdienst B/cao Startdatum : 2-1-2023 Tijdelijke functie, met optie op vast Aantal uren per week : 36 Standplaats in overleg : Apeldoorn Applicatieontwikkelaar bij het Ministerie van Financiën- Belastingdienst We zoeken een consultant/developer met ervaring in de ontwikkeling van back-end systemen. Als consultant heb je kennis en ervaring met de wijze waarop Open Formulieren is opgezet. Je bent een vraagbaak voor collega’s en deelt waar nodig je kennis. Je hebt ervaring met het werken in een open source omgeving. Je bent thuis in verschillende frameworks of je kunt je die snel eigen maken. Je hebt aantoonbaar ruime kennis van en

Bekijk vacature »

C# Software Developer

Samengevat: Wij ontwikkelen concepten op het gebied van veiligheid, gezondheidszorg en communicatie. Is het je passie om software-oplossingen te programmeren? Heb je professionele ervaring met C# en .Net? Vaste baan: Medior Senior C# .NET Developer Meldkamersoftware .Net 2.800 - 4.500 Software Engineer Zij werken aan software voor verhogen van de veiligheid via multimedia in bijvoorbeeld de gezondheidszorg. Streaming van live video en audio staan hierbij centraal. We kunnen alarmeringen monitoren en services op afstand verlenen. We zorgen voor een totaalconcept. Zij werken in teams aan uitdagende projecten en bieden daarbij een informele maar innoverende omgeving, waarbij we korte lijnen hanteren.

Bekijk vacature »

Speculative Application Java Developer

Functieomschrijving Keeping up with the future of work requires ever changing, ever innovating technologies. Our java developers and the software they build play a vital role in connecting our workforce, optimizing our processes and enabling us to stay ahead. What are we working on? As java developer at randstad your role can vary. Java is a core part of many of our 36 scrum teams, giving you the opportunity to contribute to a large number of different applications and projects. Some of the things our teams work on are designing and building our candidate portals and the first point of

Bekijk vacature »

Freelance applicatieontwikkelaar (zzp)

Belastingdienst B/cao Startdatum : 2-1-2023 Tijdelijke functie, met optie op vast Aantal uren per week : 36 Standplaats in overleg : Apeldoorn Applicatieontwikkelaar bij het Ministerie van Financiën- Belastingdienst We zoeken een consultant/developer met ervaring in de ontwikkeling van back-end systemen. Als consultant heb je kennis en ervaring met de wijze waarop Open Formulieren is opgezet. Je bent een vraagbaak voor collega’s en deelt waar nodig je kennis. Je hebt ervaring met het werken in een open source omgeving. Je bent thuis in verschillende frameworks of je kunt je die snel eigen maken. Je hebt aantoonbaar ruime kennis van en

Bekijk vacature »

Java-softwaredeveloper

Wat je gaat doen: Dit ga je doen Daar kunnen we heel kort over zijn: software ontwikkelen met de agile-/scrumteams van toonaangevende organisaties. Zoals ministeries, gemeentes, financiële instellingen en retail- en energiebedrijven. En als het bij je past, begeleid je collega-developers in het ontwikkelproces. Doordat je tijdelijk aan een opdracht werkt, doe je in korte tijd veel mooie ervaringen op en leer je nieuwe technieken en tools kennen. Je teamleden werken bijvoorbeeld met Spring, JPA/Hibernate, AJAX, REST/JSON, GIT, AWS en TDD. Het interessante is dat jij volledig in control bent en zelf kiest welke opdrachten je oppakt. Het soort rol,

Bekijk vacature »

Freelance applicatieontwikkelaar (zzp)

Belastingdienst B/cao Startdatum : 2-1-2023 Tijdelijke functie, met optie op vast Aantal uren per week : 36 Standplaats in overleg : Apeldoorn Applicatieontwikkelaar bij het Ministerie van Financiën- Belastingdienst We zoeken een consultant/developer met ervaring in de ontwikkeling van back-end systemen. Als consultant heb je kennis en ervaring met de wijze waarop Open Formulieren is opgezet. Je bent een vraagbaak voor collega’s en deelt waar nodig je kennis. Je hebt ervaring met het werken in een open source omgeving. Je bent thuis in verschillende frameworks of je kunt je die snel eigen maken. Je hebt aantoonbaar ruime kennis van en

Bekijk vacature »

Freelance senior ICT ontwikkelaar (zzp)

Belastingdienst B/cao Startdatum inzet: 9-1-2023 Einddatum inzet: 31-12-2023 Uren per week: 36,00 Standplaats: Apeldoorn Max tarief: € 86,00 Team LIV is op zoek naar een enthousiaste, flexibele, multitaskende en hands-on ontwikkelaar met veel ervaring in het gedeeltelijk of volledig zelfstandig bepalen van ontwikkel- en realisatie aanpak. Onze nieuwe collega moet in staat zijn te werken in een hectische omgeving waarbij er sprake is van zeer verschillen realisatietrajecten voor wat betreft(technische)diepgang, startmoment (wel/geen beschrijvingen beschikbaar) en klantcontact. De gekozen ontwikkelmethodiek dient passend te zijn voor het op te lossen vraagstuk waarbij samenwerking met de testengineer in relatie tot Systeem integratie test

Bekijk vacature »

Senior Front-End Developer

As a Senior Front-end Developer you maintain the balance between creativity and functionality for our webshop, and you coach your fellow developers. How do I become a Senior Front-End Developer at Coolblue? As a Front-end Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present this within the team. You are also proud of your work and welcome all feedback. Would you also like to become a Senior Front-End Developer at Coolblue?

Bekijk vacature »

Embedded Software Engineer developer

Samengevat: Wij ontwerpen industriële regelsystemen. Ben jij geschikt als Embedded software engineer? Heb jij ervaring met softwareontwikkeling? Vaste baan: Embedded Software Engineer developer Laagspanningsproducten MBO HBO Werkvoorbereiding 3.200 - 5.000 Embedded Software Engineer Deze werkgever is actief in de ontwikkeling en productie van innovatieve elektronica. Van hieruit ontwikkelen wij de meest innovatieve producten zoals onze klanten dat van ons verwachten. Zij werken in teams en kijken welke rol jou het beste past. Het einddoel is voor het hele team gelijk. Een tevreden klant met het innovatief product. Zij bieden een leuk team en doorgroeimogelijkheden. Functie: Voor de vacature als Embedded

Bekijk vacature »

Senior Java developer (backend)

Wat je gaat doen: 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 je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

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 »

Senior iOS developer

We are looking for a senior iOS developer due to take the team under his/her wing tech lead. If that's you, give us a call (Dutch speaking). Our client is an agency that runs its own service. They are building two apps that already have quite a few users. The team consists of two Android developers and hopefully two more iOS developers soon.In the team, everyone speaks Dutch which is why we are also looking for a developer who speaks Dutch. The idea is that you will soon become the senior and also take the lead on IOS. It would

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/02/2023 20:06:42
 
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
 
Ad Fundum

Ad Fundum

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 Ad Fundum
 



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.