我的游戏中有一个Wall类,该类由构成单个墙的一行组成。我计划将所有这些Wall实例传递到一个Room实例,该Room实例由其中包含Wall实例的Room实例组成。但是,由于某些原因,当我尝试绘制线条时,它们不会显示在窗口中。
我尝试了多种不同的类,以查看哪种方法有效,但是没有一种有效。我试图制作一个使用import { Directive, TemplateRef, ViewContainerRef, Input, OnInit } from '@angular/core';
@Directive({
selector: '[_slide]'
})
export class CustomSlideDirective implements OnInit {
constructor(
private templateRef: TemplateRef<any>,
private viewContainer: ViewContainerRef
){}
private index: number = 0;
private context: any;
@Input('_slideFrom') items: any[];
ngOnInit(){
this.context = {
$implicit: this.items[this.index],
next: () => this.next(),
prev: () => this.prev(),
}
this.viewContainer.createEmbeddedView(this.templateRef,this.context)
}
private next(){
this.index++
if(this.index === this.items.length)this.index = 0
this.context.$implicit = this.items[this.index]
}
private prev(){
this.index--
if(this.index === -1)this.index = this.items.length - 1
this.context.$implicit = this.items[this.index]
}
}
绘制所有墙壁的Room类。但是,我不确定如何检查这些行的冲突检测。我还尝试制作另一个使用pygame.draw.lines()
的Room类,并使用未填充的多边形,以便希望在玩家与房间边缘之间进行碰撞检测。但是,我意识到这可能不起作用,因为每个房间都需要门。我计划包括各种墙壁,并在它们之间设置门,这些门实际上是可以穿过的透明墙壁。我不确定如何使用多边形。无论如何,这是我的代码。
pygame.draw.polygon()
我希望看到在我进行硬编码的位置上绘制的线条,但是根本没有绘制任何线条。是什么原因导致此问题?