

Here’s a simple JavaScript example to calculate the proportional height of an image when you set a fixed width:
function calculateProportionalHeight(originalWidth, originalHeight, newWidth) {
const newHeight = (originalHeight * newWidth) / originalWidth;
return newHeight;
}
// Example usage:
const originalWidth = 800;
const originalHeight = 600;
const newWidth = 400;
const newHeight = calculateProportionalHeight(originalWidth, originalHeight, newWidth);
console.log(`The proportional height for the new width is: ${newHeight}px`);
calculateProportionalHeight
function takes the original width, original height, and the new width as arguments.In this example, if the original dimensions are 800×600, and you set a new width of 400, the function will calculate the new height that maintains the image’s aspect ratio.
https://chatgpt.com/share/6708fb61-3764-8001-b612-cc70253e169e
The goal is to make the sprite fit the width of the screen while keeping its proportions (aspect ratio) the same. To do this, we use the formula:
this.scale.x = this.app.screen.width / this.texture.width;
and
this.scale.y = this.scale.x;
Let’s break down the formula into simpler parts:
this.app.screen.width
: This is the width of your app’s screen (the space in which your sprite should fit).this.texture.width
: This is the original width of your sprite’s image.When you divide this.app.screen.width
by this.texture.width
, you are calculating how much bigger or smaller the sprite should be to fit the screen.
The principle behind this is called proportional scaling. The idea is that if you want to change the size of an object while keeping its shape the same, you need to multiply both the width and height by the same number.
Imagine you have a picture that is 200 pixels wide and your screen is 800 pixels wide. To make the picture fit the screen:
800 / 200 = 4
.That means the scale factor is 4
, so you set:
this.scale.x = 4;
this.scale.y = 4;
This makes both the width and the height of the picture 4 times bigger, keeping its original shape.
this.scale.x
and this.scale.y
?Using this.scale.x
and this.scale.y
ensures that your sprite grows or shrinks evenly in all directions, so it doesn’t look stretched or squished.
Here’s a step-by-step summary of what happens:
this.app.screen.width / this.texture.width
this.scale.x
to this value so the width fits the screen.this.scale.y
to the same value to maintain the aspect ratio.Think of a photo that you want to print in a larger size. If you want to make the photo twice as wide, you also need to make it twice as tall to keep it looking right. If you don’t do this, the picture might end up looking stretched or distorted.
I hope this breakdown helps you understand the math and logic behind scaling in PixiJS! If you have any more questions, feel free to ask! 😊
原來是打包後的檔案,系統刪不掉?
要用sudo再刪一次,就可以成功打包惹
單純rm -rf 不行
Question: What is the result of 10,2
; in JavaScript?
When you write 10,2;
in JavaScript, this is using the comma operator. The comma operator evaluates each of its operands (from left to right) and returns the value of the last operand.
So, in this case:
10
is evaluated first but discarded.2
is then evaluated and returned as the result.Therefore, the result of 10, 2
in JavaScript is 2
.
正在看重構的書,寫一下條例重點…(本文持續更新)
https://www.browserstack.com
這實在太貴了,還是年繳的,買不下去
只好繼續查要怎麼debug
後來發現safari debug功能要開,然後要裝Xcode來模擬,也要裝這個git repo,這下面這個
後來發現用這程式,判斷是fb瀏覽器的話就出現,也可以看出問題在哪裡,不過可能也是因為我有用Xcode來看才比較清楚。