2021-05-31 19:42:33 +00:00
let game = document . getElementById ( 'game' ) ;
2021-06-01 11:24:52 +00:00
let game _board _size = calculate _size ( ) ;
let sprite _size = Math . floor ( game _board _size / 11 ) ;
2021-05-31 19:42:33 +00:00
2021-05-26 17:34:31 +00:00
const app = new PIXI . Application ( {
autoResize : true ,
resolution : devicePixelRatio ,
2021-06-01 11:24:52 +00:00
transparent : true ,
width : game _board _size ,
height : game _board _size
2021-05-26 17:34:31 +00:00
} ) ;
2021-05-31 19:42:33 +00:00
2021-05-26 17:34:31 +00:00
document . getElementById ( 'game' ) . appendChild ( app . view ) ;
2021-05-31 19:42:33 +00:00
function Sprite ( x , y ) {
2021-06-01 11:24:52 +00:00
this . sprite = PIXI . Sprite . from ( '/img/sprite.jpg' ) ;
this . coord _x = x ;
this . coord _y = y ;
this . getSprite = function ( ) {
this . setSize ( this . sprite , sprite _size ) ;
return this . sprite ;
}
this . resize = function ( sprite _size ) {
this . setSize ( this . sprite , sprite _size ) ;
}
this . setSize = function ( sprite , size ) {
sprite . x = this . coord _x * size - size * 0.2 ;
sprite . y = this . coord _y * size - size * 0.2 ;
sprite . width = size * 1.5 ;
sprite . height = size * 1.5 ;
}
2021-05-31 19:42:33 +00:00
}
2021-05-26 17:34:31 +00:00
2021-06-01 11:24:52 +00:00
2021-05-31 19:42:33 +00:00
let sprites = {
2021-06-01 11:24:52 +00:00
0 : new Sprite ( 1 , 1 ) ,
1 : new Sprite ( 3 , 1 ) ,
2 : new Sprite ( 5 , 1 ) ,
3 : new Sprite ( 7 , 1 ) ,
4 : new Sprite ( 9 , 1 ) ,
5 : new Sprite ( 1 , 3 ) ,
6 : new Sprite ( 9 , 3 ) ,
7 : new Sprite ( 1 , 5 ) ,
8 : new Sprite ( 9 , 5 ) ,
9 : new Sprite ( 1 , 7 ) ,
10 : new Sprite ( 9 , 7 ) ,
11 : new Sprite ( 1 , 9 ) ,
12 : new Sprite ( 3 , 9 ) ,
13 : new Sprite ( 5 , 9 ) ,
14 : new Sprite ( 7 , 9 ) ,
15 : new Sprite ( 9 , 9 ) ,
2021-05-31 19:42:33 +00:00
}
2021-05-26 17:34:31 +00:00
2021-05-31 19:42:33 +00:00
for ( let i = 0 ; i < 16 ; i ++ ) {
2021-06-01 11:24:52 +00:00
app . stage . addChild ( sprites [ i ] . getSprite ( ) ) ;
2021-05-26 17:34:31 +00:00
}
2021-06-01 11:24:52 +00:00
const red _border = new PIXI . Graphics ( ) ;
red _border . lineStyle ( 10 , 0x862323 , 1 ) ;
red _border . drawRect ( sprite _size * 9 - sprite _size * 0.2 , sprite _size * 9 - sprite _size * 0.2 , sprite _size * 1.5 , sprite _size * 1.5 ) ;
app . stage . addChild ( red _border ) ;
const first _circle = new PIXI . Graphics ( ) ;
first _circle . lineStyle ( 0 ) ;
first _circle . beginFill ( 0xffffff , 1 ) ;
first _circle . drawCircle ( sprite _size * 3 - sprite _size * 0.2 + sprite _size * 0.75 , sprite _size * 9 - sprite _size * 0.2 + sprite _size * 0.75 , sprite _size / 4 ) ;
first _circle . endFill ( ) ;
app . stage . addChild ( first _circle ) ;
const second _circle = new PIXI . Graphics ( ) ;
second _circle . lineStyle ( 0 ) ;
second _circle . beginFill ( 0xffffff , 1 ) ;
second _circle . drawCircle ( sprite _size * 5 - sprite _size * 0.2 + sprite _size * 0.75 , sprite _size * 9 - sprite _size * 0.2 + sprite _size * 0.75 , sprite _size / 4 ) ;
second _circle . endFill ( ) ;
app . stage . addChild ( second _circle ) ;
const third _circle = new PIXI . Graphics ( ) ;
third _circle . lineStyle ( 0 ) ;
third _circle . beginFill ( 0xffffff , 1 ) ;
third _circle . drawCircle ( sprite _size * 7 - sprite _size * 0.2 + sprite _size * 0.75 , sprite _size * 9 - sprite _size * 0.2 + sprite _size * 0.75 , sprite _size / 4 ) ;
third _circle . endFill ( ) ;
app . stage . addChild ( third _circle ) ;
2021-05-31 19:42:33 +00:00
generate _card ( "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores." ) ;
function generate _card ( s ) {
2021-06-01 11:24:52 +00:00
const card = new PIXI . Graphics ( ) ;
let start _x = game _board _size / 2 - 110 ;
let start _y = game _board _size / 2 - 150 ;
card . lineStyle ( 5 , 0x000000 , 1 ) ;
card . beginFill ( 0x650A5A ) ;
card . drawRoundedRect ( start _x , start _y , 220 , 300 , 10 ) ;
card . endFill ( ) ;
2021-05-31 19:42:33 +00:00
const style = new PIXI . TextStyle ( {
fontFamily : 'Arial' ,
fontSize : 15 ,
wordWrap : true ,
wordWrapWidth : 200 ,
} ) ;
const basicText = new PIXI . Text ( s , style ) ;
basicText . x = start _x + 10 ;
basicText . y = start _y + 10 ;
2021-06-01 11:24:52 +00:00
card . addChild ( basicText ) ;
app . stage . addChild ( card ) ;
}
function calculate _size ( ) {
if ( game . offsetWidth > game . offsetHeight ) {
return game . offsetHeight ;
} else {
return game . offsetWidth ;
}
2021-05-31 19:42:33 +00:00
}
// ------------------------------------ end code ------------------------------------
// Resize
2021-06-01 11:24:52 +00:00
window . addEventListener ( 'resize' , resize ) ;
function resize ( ) {
game _board _size = calculate _size ( ) ;
// Resize container
app . renderer . resize ( game _board _size , game _board _size ) ;
// Resize fields
for ( let i = 0 ; i < 16 ; i ++ ) {
sprites [ i ] . resize ( Math . floor ( game _board _size / 11 ) ) ;
}
// Resize red border
// TODO
// Resize first circle
// TODO
}
resize ( ) ;