瀏覽代碼

Construct a new entity each time, instead of using the same one repeatedly

tags/v0.0.2
Fen Dweller 5 年之前
父節點
當前提交
fa108e30dc
共有 3 個文件被更改,包括 77 次插入47 次删除
  1. +6
    -3
      macrovision.js
  2. +63
    -42
      presets/buildings.js
  3. +8
    -2
      presets/characters.js

+ 6
- 3
macrovision.js 查看文件

@@ -501,6 +501,7 @@ function displayEntity(entity, view, x, y) {
box.appendChild(img);
box.appendChild(nameTag);

console.log(entity)
img.src = entity.views[view].image.source;

box.dataset.x = x;
@@ -539,12 +540,13 @@ function displayEntity(entity, view, x, y) {
}

document.addEventListener("DOMContentLoaded", () => {
const stuff = [makeFen()].concat(makeBuildings())
const stuff = [makeFen].concat( makeBuildings().map(x => x.constructor))

console.log(stuff)
let x = 0.2;

stuff.forEach(entity => {
displayEntity(entity, entity.defaultView, x, 1);
displayEntity(entity(), entity().defaultView, x, 1);
x += 0.7 / stuff.length;
})

@@ -611,7 +613,8 @@ function prepareEntities() {

button.innerText = "Create " + category;
button.addEventListener("click", e => {
displayEntity(entityList[select.value], entityList[select.value].defaultView, 0.5, 0.5);
const newEntity = entityList[select.value].constructor()
displayEntity(newEntity, newEntity.defaultView, 0.5, 0.5);
});

holder.appendChild(select);


+ 63
- 42
presets/buildings.js 查看文件

@@ -19,48 +19,69 @@ function makeBuilding(name, height, image) {

function makeBuildings() {
const results = [];
results.push(makeBuilding(
"Burj Khalifa",
math.unit(829.8, "meter"),
{source: "./media/buildings/burj-khalifa.svg"}
));
results.push(makeBuilding(
"Canton Tower",
math.unit(604, "meter"),
{source: "./media/buildings/canton-tower.svg"}
));
results.push(makeBuilding(
"CN Tower",
math.unit(553.3, "meter"),
{source: "./media/buildings/cn-tower.svg"}
));
results.push(makeBuilding(
"Taipei 101",
math.unit(509.2, "meter"),
{source: "./media/buildings/taipei-101.svg"}
));
results.push(makeBuilding(
"Empire State Building",
math.unit(443.2, "meter"),
{source: "./media/buildings/empire-state-building.svg"}
));
results.push(makeBuilding(
"Eiffel Tower",
math.unit(324, "meter"),
{source: "./media/buildings/eiffel-tower.svg"}
));
results.push(makeBuilding(
"Chrysler Building",
math.unit(318.9, "meter"),
{source: "./media/buildings/chrysler-building.svg"}
));

results.push({
name: "Burj Khalifa",
constructor: () => makeBuilding(
"Burj Khalifa",
math.unit(829.8, "meter"),
{ source: "./media/buildings/burj-khalifa.svg" }
)
});

results.push({
name: "Canton Tower",
constructor: () => makeBuilding(
"Canton Tower",
math.unit(604, "meter"),
{ source: "./media/buildings/canton-tower.svg" }
)
});

results.push({
name: "CN Tower",
constructor: () => makeBuilding(
"CN Tower",
math.unit(553.3, "meter"),
{ source: "./media/buildings/cn-tower.svg" }
)
});

results.push({
name: "Taipei 101",
constructor: () => makeBuilding(
"Taipei 101",
math.unit(509.2, "meter"),
{ source: "./media/buildings/taipei-101.svg" }
)
});

results.push({
name: "Empire State Building",
constructor: () => makeBuilding(
"Empire State Building",
math.unit(443.2, "meter"),
{ source: "./media/buildings/empire-state-building.svg" }
)
});

results.push({
name: "Eiffel Tower",
constructor: () => makeBuilding(
"Eiffel Tower",
math.unit(324, "meter"),
{ source: "./media/buildings/eiffel-tower.svg" }
)
});

results.push({
name: "Chrysler Building",
constructor: () => makeBuilding(
"Chrysler Building",
math.unit(318.9, "meter"),
{ source: "./media/buildings/chrysler-building.svg" }
)
});

return results;
}

+ 8
- 2
presets/characters.js 查看文件

@@ -86,7 +86,13 @@ function makeMan() {

function makeCharacters() {
const results = [];
results.push(makeFen());
results.push(makeMan());
results.push({
name: "Fen",
constructor: makeFen
});
results.push({
name: "Normal man",
constructor: makeMan
});
return results;
}

Loading…
取消
儲存